Sistema de alarma
En esta práctica se mostrará el procedimiento para hacer una alarma con luces, sonido y botón de apagado o interruptor.
Utilizaremos luces LED, un piezo, resistencias, cables macho macho, protoboard y la tarjeta Arduino.
Utilizaremos luces LED, un piezo, resistencias, cables macho macho, protoboard y la tarjeta Arduino.
Procedimiento
Para el funcionamiento de las luces:
Se colocan 2 led en la protoboard, con una resistencia para
cada una, que serán colocadas en la misma línea del terminal más largo de cada
led, la terminal más corta se conectara mediante un cable al polo negativo de
la protoboard.
El cable conectado al primer LED se coloca en la misma línea
de la resistencia y conecta al pin 5 de la tarjeta Arduino para establecer la
polaridad y el del segundo LED lo conectamos al pin 3.
Hacemos un contacto a tierra colocando un cable del bus
negativo de la protoboard al GND de la tarjeta Arduino.
Para el funcionamiento del piezo:
Colocamos el piezo en la protoboard y en línea con cada una de sus terminales colocamos dos cables, uno con contacto a tierra y el otro al pin 6 de la tarjeta Arduino.
Para el funcionamiento del interruptor:
Colocamos el botón en el centro de la protoboard haciendo que sus terminales queden en la parte superior e inferior de esta, para la polaridad colocamos una resistencia que quede en línea con la terminal del botón y un cable en la misma línea que conecte con el pin 2 de la tarjeta Arduino, el cual analizará el estado del botón, en el otro extremo de la resistencia colocamos en línea un cable hacia el polo negativo de la protoboard y en el mismo bus de la otra terminal del botón conectamos un cable con la carga positiva de 5V.
La programación es la siguiente:
int pinRojo = 3; //variable para LED rojo, indica el pin al que esta conectado//
int pinAzul = 5; //variable para LED azul, indica el pin al que esta conectado//
int piezo = 6; //variable para el piezo, indica el pin al que esta conectado//
int boton = 2; //variable para el boton, indica el pin al que esta conectado//
int estado = 0;
void setup()
{
pinMode(pinRojo, OUTPUT); //Salida de datos//
pinMode(pinAzul, OUTPUT); //Salida de datos//
pinMode(piezo,OUTPUT); //Salida de datos//
pinMode(boton,INPUT); //Entrada de datos//
Serial.begin(9600);
}
void loop() {
while(digitalRead(boton)==0) //Mientras el boton este con valor igual a 0//
{
analogWrite(pinRojo,HIGH); //Enciende LED rojo//
analogWrite(pinAzul,LOW); //Apaga LED azul//
delay(100); //Pausa//
analogWrite(pinRojo,LOW); //Apaga LED rojo//
analogWrite(pinAzul,HIGH); //Enciende LED azul//
delay(100);
tone(piezo,300,100); //Define las notas del sonido//
Serial.println(digitalRead(boton)); //Imprime en el monitor el balor del boton//
delay(100);
}
while(digitalRead(boton)==1) //Mientras el botón se encuentre presionado o con valor igual a 1//
{
analogWrite(pinRojo,LOW); //Apaga LED rojo//
analogWrite(pinAzul,LOW); //Apaga LED azul//
Serial.println(digitalRead(boton));
}
}
Reto 1
El reto consiste en controlar que la alarma suene sólo cuando detecta movimiento, se debe simular el efecto con la fotocelda.
Procedimiento
Para este reto utilizare una luz LED, un piezo, cables, una resistencia y una fotocelda.
Para la luz:
En la protoboard se coloca la luz LED y en el mismo bus el extremo de una resistencia, al otro extremo de la resistencia colocamos un cable se se conecta al pin 13 de la tarjeta Arduino, en dirección a la otra terminal del LED colocamos otro cable conectado al GND de la tarjeta.
Para la fotocelda:
Colocamos la fotocelda en la protoboard en el mismo bus de una de las terminales colocamos una resistencia y un cable que se conectará al pin A0 de la tarjeta, en la otra terminal de la fotocelda colocamos otro cable hacia el pin de 5V y al otro extremo de la resistencia un cable hacia tierra o GND de la tarjeta Arduino.
Para la luz:
En la protoboard se coloca la luz LED y en el mismo bus el extremo de una resistencia, al otro extremo de la resistencia colocamos un cable se se conecta al pin 13 de la tarjeta Arduino, en dirección a la otra terminal del LED colocamos otro cable conectado al GND de la tarjeta.
Para la fotocelda:
Colocamos la fotocelda en la protoboard en el mismo bus de una de las terminales colocamos una resistencia y un cable que se conectará al pin A0 de la tarjeta, en la otra terminal de la fotocelda colocamos otro cable hacia el pin de 5V y al otro extremo de la resistencia un cable hacia tierra o GND de la tarjeta Arduino.
Para el piezo:
Colocamos el piezo en la protoboard y en línea con cada una de sus terminales colocamos dos cables, uno con contacto a tierra y el otro al pin 6 de la tarjeta Arduino.
La programación es la siguiente:
int ledPin = 13; //variable que define el pin para el LED//
int ldrPin = A0; //variable que define el pin para la fotocelda//
int piezo = 6; //variable que define el pin para el piezo//
void setup() {
Serial.begin(9600);
pinMode(ledPin,OUTPUT); //puerto de salida de datos//
pinMode(ldrPin,INPUT); //puerto de entrada de datos//
pinMode(piezo,OUTPUT); //puerto de salida de datos//
}
void loop() {
int ldrStatus = analogRead(ldrPin); //Lee el valor de la fotocelda//
if(ldrStatus <=150) { //Revisa si la cantidad de luz es menor o igual a 150//
digitalWrite(ledPin, HIGH); //Enciende LED//
Serial.println("LDR is DARK, LED is ON"); //imprime valores//
tone(piezo,300,100); //tono que tendrá el piezo, en este caso 2//
}
else { //Si tiene mayor cantidad de luz (caso contrario)//
digitalWrite(ledPin, LOW); //Apaga el LED//
}
}
int ldrPin = A0; //variable que define el pin para la fotocelda//
int piezo = 6; //variable que define el pin para el piezo//
void setup() {
Serial.begin(9600);
pinMode(ledPin,OUTPUT); //puerto de salida de datos//
pinMode(ldrPin,INPUT); //puerto de entrada de datos//
pinMode(piezo,OUTPUT); //puerto de salida de datos//
}
void loop() {
int ldrStatus = analogRead(ldrPin); //Lee el valor de la fotocelda//
if(ldrStatus <=150) { //Revisa si la cantidad de luz es menor o igual a 150//
digitalWrite(ledPin, HIGH); //Enciende LED//
Serial.println("LDR is DARK, LED is ON"); //imprime valores//
tone(piezo,300,100); //tono que tendrá el piezo, en este caso 2//
}
else { //Si tiene mayor cantidad de luz (caso contrario)//
digitalWrite(ledPin, LOW); //Apaga el LED//
}
}
Problemas Técnicos
- Falta de atención en la forma de colocar las terminales.
- Indicaciones mal escritas en la programación.
No hay comentarios:
Publicar un comentario