Codi and Video

In this project we are working with the micro conntroller MKR-1000


Video

Here we will see an example video when the code is executed :



Video

    
   // 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);
}