Arduino (IoT): Proyecto de Iluminación Nocturna

Arduino Honduras Santiapps Marcio Valenzuela

Proyecto de Iluminación Nocturna

Nuestros robots ya pueden diferenciar entre noche y día.  Podemos usar esto a nuestra ventaja al combinarlo con detección de movimiento para controlar una luz.

Requisitos:

  1. Computadora (mac)
  2. Arduino UNO o equivalente.
  3. Foto-transistor
  4. Detector de Movimiento PIR
  5. LED
  6. Resistor de 1kOhm
  7. Breadboard
  8. Arduino IDE (https://www.arduino.cc/en/Main/Software)

Ya aprendimos a usar el detector de movimiento PIR.  Ahora combinemos el PIR con el sensor de iluminación para controlar una LED.  Hagamos las conexiones así:

Arduino IoT: Simple Tutorial Luz Nocturna Detección de Movimiento Santiapps Marcio Valenzuela
Arduino IoT: Simple Tutorial Luz Nocturna Detección de Movimiento

Ahora estudiemos el código, el cual es bastante sencillo por cierto.  Lo importante es la lógica:

 //PIR
int ledPin = 10;
int pirPin = 9;
int pirVal = 0;
int photoTr = 0;
//Timing parameters
boolean motionDetectedFlag;
unsigned long initialiseSensorTimestamp;
long previousMillis = 0;
long interval = 1000;
void setup() {
Serial.begin(9600);
pinMode (pirPin, INPUT);
pinMode (ledPin, OUTPUT);
}
void loop() {
//if PIR motion is detected && illum is below x value
pirVal = digitalRead(pirPin);
Serial.print("PIR: ");
Serial.println(pirVal);
photoTr = analogRead(A0);
Serial.print("Illum: ");
Serial.println(photoTr);
if (pirVal == 1) { //if pirPin is 1...
//Test Illum
if (photoTr < 5) { //if photoTr is larger than 100...
Serial.println("Illum is also low");
digitalWrite(ledPin,HIGH); //light up the LED!
delay(15000); //leave it on for 15 seconds
digitalWrite(ledPin,LOW); //light up the LED!
} //end of photoTr
} //end of pir if
delay(1000); //delay loop for 1 whole second
}

Lo que hacemos es probar si se combinan las factores iluminación baja (<5) y detección de movimiento por parte del PIR (valor==1).  Si esto sucede, queremos escribir un voltaje alto a nuestra LED y dejarla así durante 15 segundos para hacer lo que tenemos que hacer.  Luego de 15 segundos la LED se apaga y la detección reincia con el loop().

Arduino IoT: Simple Tutorial Luz Nocturna Detección de Movimiento Santiapps Marcio Valenzuela
Arduino IoT: Simple Tutorial Luz Nocturna Detección de Movimiento

Como podemos ver, es fácil que cada vez nuestros robots se hacen mas habilidosos, inteligentes!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s