In this project we are working with the micro conntroller MKR-1000
Here we will see an example video when the code is executed :
// Pin donde se conectan los leds
int pinLed1 = 2; // LED RED
int pinLed2 = 3; // LED BLUR
int pinLed3 = 4; // LED GREEN
// Pin analogico de entrada para el LDR
int pinLDR = 0;
// Variable donde se almacena el valor del LDR
int valorLDR = 0;
void setup()
{
// Configuramos como salidas los pines donde se conectan los led
pinMode(8,OUTPUT); // audio sortida
pinMode(pinLed1, OUTPUT); // LED sortida
pinMode(pinLed2, OUTPUT); // LED sortida
pinMode(pinLed3, OUTPUT); // LED sortida
// Configurar el puerto serial
Serial.begin(9600);
}
void loop()
{
// Apagar todos los leds siempre que se inicia el ciclo
digitalWrite(pinLed1, LOW);
digitalWrite(pinLed2, LOW);
digitalWrite(pinLed3, LOW);
// El valor leido por el ADC (voltaje) aumenta de manera directamente proporcional
// con respecto a la luz percibida por el LDR
valorLDR= analogRead(pinLDR);
// Devolver el valor leido a nuestro monitor serial en el IDE de Arduino
Serial.println(valorLDR);
if(valorLDR > 20) // encender LED color rojo si el LDR detecta un valor ADC mayor a 20
{
digitalWrite(pinLed1, HIGH); // Encender pin 1 (red)
tone(8,225,200); // cuando el pin esté encendido el altavoz suena en freqüència 225
}
if(valorLDR > 150) // encender LED color morado/azul si el LDR detecta un valor ADC mayor a 150
{
digitalWrite(pinLed2, HIGH); // Encender pin 2 (blue)
tone(8,315,200); // cuando el pin esté encendido el altavoz suena en freqüència 315
}
if(valorLDR > 380) // encender LED color morado/azul si el LDR detecta un valor ADC mayor a 380
{
digitalWrite(pinLed3, HIGH); // Encender pin 3 (green)
tone(8,350,200); // cuando el pin esté encendido el altavoz suena en freqüència 350
}
// Esperar unos milisegundos antes de actualizar
delay(200);
}