Paso 7: Arduino y luz resistores sensibles
Un resistor sensible luz (LSR) es un tipo de resistor variable que responde a la luz. El LSRs que tengo para esta clase tienen una gama de 16 33kOhms de resistencia, por lo que en total oscuridad, ellos tienen una resistencia de 33kOhms y luz tienen una resistencia de 16kOhms. El circuito que mide el LSR requiere otro resistor regular, el resistor actúa como punto de referencia para determinar cómo está cambiando el LSR. Cada vez que usted está midiendo resistencia variable de un componente (flex sensor, sensores de presión y muchos otros) desea sincronizarlo con una resistencia normal que tiene una resistencia que equivale a la resistencia máxima de la componente de resistencia variable. Desde que estoy usando un LSR 16 33kOhm, usaré una resistencia 33kOhm en mi circuito.
El circuito se ve así:
5V -> resistencia 33kOhm -> luz de resistencia sensible -> tierra (ver imagen de arriba)
y el pin analógico Arduino (estoy usando A0) conecta con el cruce entre el LSR y la resistencia. El LSR no tiene ninguna polaridad, por lo que la orientación del componente en el circuito no importa.
Ejecute el siguiente código para tener una idea de la gama de la LSR:
He encontrado que mis lecturas de resistencia entre sobre 0 en plena luz y cerca de 900 en la oscuridad. Ahora esta nota, aviso donde me tiré en el 0-900 mapa gama
Esta configuración crea notas con tono más alto en la oscuridad y campo bajo en luz. Si quería invertir la nave de la relación entre la luz y tono sólo se revertiría mi gama de la función de mapa:
Nota de byte = mapa (analogVal, 900, 0, 0, 127);
Notar cómo he revertido mi rango de 0-900 900-0, esto hace más luz crea notas echadas más altas y poca luz bajas notas echadas.
Este sketch es de un montón de notas ahora, si quería limitar el alcance de notas puedo jugar con el circuito, puedo usar la siguiente línea:
Nota de byte = mapa (analogVal, 900, 0, 40, 90);
Ahora toda la gama de sensibilidad a la luz resistencia devuelve un rango de notas entre 40 y 90.