Lo que os traigo hoy es un par de alarmas caseras hechas con Arduino. Como ya dijimos, las aplicaciones de este pequeño kit para iniciarse en la programación son infinitas, y aquí tenéis un ejemplo práctico: en un momento podéis montaros vuestra propia alarma.
Alarma 1
const int pinFoto = A5;
const int ledVerde = 11;
const int ledRojo = 10;
int buttonState = 0;
unsigned long time;
int foto = 0;
void setup (){
Serial.begin(9600);
pinMode(pinButton, INPUT);
pinMode(ledVerde, OUTPUT);
pinMode(ledRojo, OUTPUT);
}
void (* resetFunc) (void)=0;
void loop (){
time = millis ();
foto = analogRead(pinFoto);
Serial.println(foto);
buttonState = digitalRead(pinButton);
while (time>2100) {
if (foto<500 && buttonState == LOW ) {
digitalWrite(ledVerde, HIGH);
delay(3000);
resetFunc();
delay(5000);
}
if (foto<500 && buttonState == HIGH ) {
Serial.print("Call: 092");
digitalWrite(ledRojo,HIGH);
delay(3000);
resetFunc();
}
}
}
Alarma 2
const int pinButton1 = 3;
const int pinButton2 = 4;
const int pinButton3 = 5;
const int ledVerde = 11;
const int ledRojo = 10;
int buttonState1 = 0;
int buttonState2 = 0;
int buttonState3 = 0;
void setup (){
Serial.begin(9600);
pinMode(pinButton1, INPUT);
pinMode(pinButton2, INPUT);
pinMode(pinButton3, INPUT);
pinMode(ledVerde, OUTPUT);
pinMode(ledRojo, OUTPUT);
}
void (* resetFunc) (void)=0;
void loop (){
buttonState1 = digitalRead(pinButton1);
buttonState2 = digitalRead(pinButton2);
buttonState3 = digitalRead(pinButton3);
if (buttonState1 == HIGH && buttonState2 == HIGH && buttonState3 == HIGH) {
digitalWrite(ledRojo,HIGH);
delay(1000);
Serial.print("Call: 092");
}
if (buttonState1 == HIGH && buttonState2 == HIGH && buttonState3 == LOW) {
digitalWrite(ledRojo,HIGH);
delay(1000);
Serial.print("Call: 092");
}
if (buttonState1 == HIGH && buttonState2 == LOW && buttonState3 == LOW) {
digitalWrite(ledRojo,HIGH);
delay(1000);
Serial.print("Call: 092");
}
if (buttonState1 == LOW && buttonState2 == LOW && buttonState3 == LOW) {
delay(5000);
digitalWrite(ledRojo,HIGH);
delay(1000);
Serial.print("Call: 092");
}
if (buttonState1 == HIGH && buttonState2 == LOW && buttonState3 == HIGH) {
digitalWrite(ledVerde,HIGH);
delay(1000);
}
}