IMPLEMENTACION DE UNA SEGUNDA PLACA DE ARDUINO
Enviado por jeanpierre12360 • 23 de Noviembre de 2020 • Tarea • 697 Palabras (3 Páginas) • 91 Visitas
1. IMPLEMENTACION DE UNA SEGUNDA PLACA DE ARDUINO
En esta parte se implemento una segunda placa de Arduino que nos facilitara el uso de mas sensores y actuadores. Además, se implementó un sensor ultrasónico , dos protoboard, una pantalla LCD, un sensor de gas y un potenciómetro, adicionales.
1.1. Código del primer Arduino:
#include <LiquidCrystal.h> #include <Keypad.h> LiquidCrystal lcd(13,12,5,4,3,2);
int frec=700; //potencia en HZ del buzzer
int lectura=0; //variable para la lectura del sensor de movimiento const byte ROWS = 4;
const byte COLS = 4; char tecla;
int teclasIngresadas=0, intentos=0, intentosR=5; char* contrasena="3422";
int x=0;
int estado = 0; int estadoOff =0;
int sensorState = 0; int hPin = A3 ;
int tPin = A4 ; char Grados = 'º'; int pin8 = 6;
int sensor = A5;
int sensorValue = 0;
//int cm = 0;
boolean alarmaActivada;
char hexaKeys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {11,10,9,1}; byte colPins[COLS] = {0,A0,A1,A2};
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
void setup(){ pinMode(hPin, INPUT);
pinMode(tPin, INPUT); pinMode(8,OUTPUT); //buzzer pinMode(7,INPUT); //sensor pinMode(6,OUTPUT); //buzzer
Serial.begin(9600);
lcd.begin(16, 2); //iniciar LCD con 16 caracteres en dos líneas
}
void loop(){
//sensor de humo
sensorValue = analogRead(sensor); Serial.println(sensorValue, DEC);
//sensores de temperatura y humedad int lt = analogRead(tPin);
float Temp = lt * 0.488285; int lh = analogRead(hPin); int humedad = lh ; lcd.setCursor(10,0); lcd.print("Tem"); lcd.setCursor(14,0); lcd.print("Hum"); lcd.setCursor(10,1); lcd.print(Temp); lcd.setCursor(14,1); lcd.print(humedad); lectura=digitalRead(7);
//Lectura lcd
if (lectura==HIGH && intentos!=5){ //si detecta movimiento lcd.setCursor(0,0); //pararse en la primera línea del display lcd.print("ALERTA"); //mensaje a imprimir en LCD lcd.setCursor(0,1); //pararse en la segunda línea del display lcd.print("CONTRASENA"); //mensaje a imprimir en LCD tone(8, frec); //buzzing
//digitalWrite(6, HIGH);
x=0;//esta línea nos permite tan solo ingresar CONTRASEÑA cuando el sensor deja de detectar movimiento.
alarmaActivada=true;
}
tecla=customKeypad.getKey(); //obtiene digitos desde keypad
if(tecla){
teclasIngresadas++;
}
if(tecla==contrasena[x]){ //si coincide digito a digito
x++; //aumentamos x: cuantas veces coincide el pin con los digitos que ingresa el usuario (de menor a mayor)
lcd.setCursor(0,0); lcd.print(" "); lcd.setCursor(0,12);
lcd.print("PASE "); noTone(8); delay(5000);
lcd.setCursor(0,0); //pararse en la primera línea del display lcd.print("CERRADO"); //mensaje a imprimir en LCD lcd.setCursor(0,1); //pararse en la segunda línea del display lcd.print("SEGURIDAD"); //mensaje a imprimir en LCD
}
if (x==4 || alarmaActivada==false)
...