Programación: Sistema de alarmas
Programación del sistema de luces de la alarma.
Programación del sistema de luces de la alarma.
practica
int pinRojo = 3;
int pinAzul = 5;
int piezo = 6;
int boton = 2;
int estado = 0;
void setup()
{
pinMode(pinRojo, OUTPUT);
pinMode(pinAzul, OUTPUT);
pinMode(piezo,
OUTPUT);
pinMode(boton,
INPUT);
Serial.begin
(9600);
}
void loop()
{
while
(digitalRead(boton)==0)
{
analogWrite(pinRojo,HIGH);
analogWrite(pinAzul,LOW);
delay (100);
analogWrite(pinRojo,LOW);
analogWrite(pinAzul,HIGH);
delay (100);
tone (piezo, 300, 100);
Serial.println(digitalRead(boton));
delay(100);
}
while (digitalRead(boton)==1)
{
analogWrite(pinRojo,LOW);
analogWrite(pinAzul,LOW);
Serial.println(digitalRead(boton));
}
}
Nota
No puedo
hacer la explicación en el vídeo porque me queda muy pesado y no me deja
subirlo. Lo intente varias veces y lo comprimí pero aún así no se pude.
Explicación de la programación de
prototipos de alarmas
Si presiono el botón el piezo queda
en silencio y los LEDS dejan de encender.
En esta práctica
dirigida programamos los LEDS con las variables
rojo y azul, piezo, botón y estado.
También
definimos los puertos de salida de arduino (OUTPUT); a las variables pinRojo, pinAzul, piezo,botón
y estado.
Y por ultimo el procedimiento base para encender y apagar los LEDS
Si apretó el botón el piezo deja de sonar y los LEDS se apagan.
Reto 1
Controlar que la alarma suene solo cuando detecte movimiento.
//set pin
numbers
const int
ledPin =13;
const int
buzzerPin =12;
const int
ldrPin = A0;
void
setup() {
Serial.begin (9600);
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(ldrPin, INPUT);
}
void loop()
{
int
ldrStatus = analogRead(ldrPin); // read the state of the LDR value
if
(ldrStatus >= 400) {
tone (buzzerPin,100);
digitalWrite(ledPin,HIGH);
delay(100);
noTone (buzzerPin);
digitalWrite(ledPin,LOW);
delay(100);
Serial.println("-----------ALARM
ACTIVATED----------");
}
else {
noTone (buzzerPin);
digitalWrite(ledPin,LOW);
Serial.println("ALARM
DEACTIVATED");
}
}
Explicación de la programación del reto 1
Controlar que la alarma suene solo cuando detecte movimiento.
Al tocar la fotocelda ella detecta movimiento haciendo que el leds se active y emita un sonido por medio del piezo al soltar o alejarme de la fotocelda el led se desactiva porque ya no detecta movimiento.
Iniciamos con las variables que nos interesan
Variables constantes declaradas en pin 12 y pin 13 y asigna const int ldrPin = A0; un valor inicial igual a 0.
El la programación definimos los puertos de salida y entrada de datos.
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(ldrPin, INPUT);
Y la parte de procedimientos donde la alarma se activa cuando detecta movimiento y desactiva cuando no hay ningún tipo de movimiento.
digitalWrite(ledPin,HIGH);// Asigna el valor de alto del pin.
delay(100); // espera 1 segundo
digitalWrite(ledPin,LOW);//Asigna el valor bajo del pin.
delay(100); espera 1 segundo