Paso 4: programación
Abrir una sesión de Arduino y copie el código siguiente en él. Haga clic en comprobar para asegurarse de que todo el código es correcto y luego cargar el código en el sensor. Abra al serial monitor del lado derecho y ver los valores que se muestran. Estos valores Seleccione el rango que desea que el sensor para cubrir y actualizar el código en consecuencia. Este código ha sido remezclado de http://web.media.mit.edu/~leah/LilyPad/08_sensor_code.html. También piezas vinieron de Debbie campos arte tecnología clase ofrecida en el estado de Utah la Universidad primavera 2013.
Este sensor es muy sensible y tendrá que ajustarse a la situación que va a ser utilizado. Dependiendo de qué tipo de luz en la habitación (artificial o natural), los rangos varían. Para mejores resultados, pruebe el sensor en la ubicación que usará lo para ver lo que son las gamas y ajustan según sea necesario.
/* int GreenledPin = A2; LED está conectado al pin digital A2 void setup() }
* LilyPad tutorial: detección (sensores)
*
* Lee los datos desde un módulo de sensor de luz de LilyPad y luego envía esos datos a la computadora para que pueda ver los valores de los sensores
*/
int RedledPin = A3; LED está conectado al pin digital A3
int BlueledPin = A4; LED está conectado al pin digital A4
int sensorPin = 5; sensor de luz está conectado al pin analógico 5
int sensorValue; variable para almacenar el valor que viene desde el sensor
{
pinMode (GreenledPin, salida); establece el ledPin que una salida
Serial.Begin(9600); inicializar el puerto serie
digitalWrite (GreenledPin, alto); Encienda el LED
pinMode (RedledPin, salida); establece el ledPin que una salida
Serial.Begin(9600); inicializar el puerto serie
digitalWrite (RedledPin, alto); Encienda el LED
pinMode (BlueledPin, salida); establece el ledPin que una salida
Serial.Begin(9600); inicializar el puerto serie
digitalWrite (BlueledPin, alto); Encienda el LED
}
void loop() / / ejecuta una y otra vez
{
sensorValue = analogRead(sensorPin); leer el valor del sensor
Serial.println(sensorValue); Enviar ese valor a la computadora
Delay(500); retardo de 1/10 de segundo
Si (sensorValue > = 100 & & sensorValue < = 175)
{
digitalWrite (GreenledPin, alto);
retrasar (3000);
digitalWrite (GreenledPin, bajo);
}
else if (sensorValue > 175 & & sensorValue < = 250)
{
digitalWrite (BlueledPin, alto);
retrasar (3000);
digitalWrite (BlueledPin, bajo);
}
else if (sensorValue > 250)
{
digitalWrite (RedledPin, alto);
retrasar (3000);
digitalWrite (RedledPin, bajo);
}
El código puede ser actualizado por lo que lee en un rango de valores y luego encuentra la media de esos valores. Este método hará que el sensor es menos temperamental. Esto se conoce como alisado y código de ejemplo se puede encontrar en http://arduino.cc/en/Tutorial/Smoothing. El código de suavizado se puede combinar con el código anterior si desea hacer más estables los rangos del sensor.