Paso 4: Cómo funciona la LDR
Ahora lo primero que puede necesitar mayor explicación es el uso de las resistencias dependientes de luz. Resistencias dependientes de luz (o de LDR) es resistencias cuyo valor cambia dependiendo de la cantidad de luz ambiental, pero ¿cómo podemos detectar la resistencia con Arduino? Bien no se puede realmente, sin embargo puede detectar niveles de tensión con los pernos analógicos, que pueden medir (en uso básico) entre 0-5V. Ahora usted puede pedir "bien cómo transfieren los valores de resistencia en cambios de voltaje?", es simple, que hacer un divisor de tensión. Un divisor de tensión toma un voltaje y salidas luego de una fracción de la tensión proporcional a la tensión de entrada y la relación de los dos valores de resistores utilizados. La ecuación que es:
Voltaje de salida = voltaje de entrada * (R2 / (R1 + R2)) donde R1 es el valor de la resistencia primero y R2 es el valor de la segunda.
Ahora esto todavía plantea la pregunta "pero ¿qué valores de resistencia tiene el LDR?, buena pregunta.
La menor cantidad de luz ambiental mayor la resistencia, más luz ambiental significa una menor resistencia. Ahora para particular de los años LDR utilicé su gama de la resistencia era de 200 a 10 kilo ohms, pero esto cambia para los diferentes así que asegúrese de ver donde los compraste y tratar de encontrar una hoja de datos o algo por el estilo. En este caso R1 es realmente nuestro LDR, así que vamos a traer de vuelta esa ecuación y hacer matemáticas-e-magia (magia eléctrica matemática). Ahora primero tenemos que convertir esos valores de kilo ohmios a ohmios:
200 kilo-ohms = 200.000 ohmios 10 kilo-ohms = 10.000 ohmios
Así que para encontrar lo que la tensión de salida es cuando estamos en negro de la echada que conecte en los números siguientes:
5 * (10000 / (200000 + 10000))
La entrada es de 5V ya es lo que estamos obteniendo de la Arduino.
Lo anterior da 0.24V (redondeado). Ahora nos encontramos con lo que la tensión de salida es en brillo máximo usando los siguientes números: 5 * (10000 / (10000 + 10000)) y esto nos da 2, 5V exactamente.
Así que estos son los valores de voltaje que vamos a entrar en clavijas analógicas del Arduino, pero estos no son los valores que se verá en el programa, pero ¿por qué?"preguntarás.
Arduino utiliza un de analógico a Digital de la viruta que convierte la tensión analógica de datos digitales utilizables. A diferencia de los pernos digitales de Arduino que sólo puede leer un estado alto o bajo, siendo 0 y 5V los pines analógicos pueden leer de 0-5V y convertir esto en una escala numérica de 0-1023.Now con más matemáticas-e-magic.
realmente podemos calcular qué valores Arduino será leído.
Porque se trata de una función lineal podemos usar la siguiente fórmula: Y = mX + C
Donde; Y = ValueWhere Digital; m = pendiente, (subida / ejecutar), (valor digital / analógico valor) donde; C = Y interceptThe Y la intercepción es 0 por lo que nos da: Y = mXm = 1023 / 5 = valor 204.6Therefore:Digital = 204.6 * analógico valor así en negro de la echada será el valor digital: 204.6 * 0,24
Que da aproximadamente 49. Y en brillo máximo será: 204.6 * 2.5
Que da aproximadamente 511.
Ahora con dos de estos establecer en dos clavijas analógicas podemos crear dos variables entero para almacenar los valores de dos y no los operadores de comparación para ver cuál tiene el valor más bajo, girar el robot en esa dirección.