¡Buenas a todos! Posiblemente a algunos esta entrada os recuerde a otra subida unos días atrás. El caso es que, por motivos desconocidos, su contenido se borró, y como iba a ser evaluada aquí estoy, subiéndola de nuevo.
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 pinButton = 3;
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);
}
}