#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "pitches.h"
#define music 13
LiquidCrystal_I2C LCD1(0x20, 16, 2);
LiquidCrystal_I2C LCD2(0x27, 16, 2);
int botao1 = 19;
int botao2 = 23;
int led1G = 14;
int led1R = 12;
int led2G = 27;
int led2R = 26;
bool alto =LOW;
bool baixo =LOW;
int subindo =0;
int descendo = 0;
void setup(){
LCD1.init();
LCD1.backlight();
LCD2.init();
LCD2.backlight();
LCD2.setCursor(0, 0);
pinMode(led1G, OUTPUT);
pinMode(led1R, OUTPUT);
pinMode(led2G, OUTPUT);
pinMode(led2R, OUTPUT);
pinMode(led1G, OUTPUT);
pinMode(botao1, INPUT_PULLUP);
pinMode(botao2, INPUT_PULLUP);
Serial.begin(115200);
Serial.println("iiniciando...");
}
void loop(){
alto = digitalRead(botao1);
baixo = digitalRead(botao2);
if(subindo<=0&&descendo<=0){
tone(music, 196, 250);
tone(music, 0, 10);
tone(music, 196, 250);
tone(music, 0, 10);
tone(music, 294, 250);
tone(music, 0, 10);
tone(music, 294, 250);
tone(music, 330, 250);
tone(music, 330, 250);
tone(music, 294, 450);
tone(music, 262, 250);
tone(music, 262, 250);
LCD1.setCursor(0, 0);
LCD1.print("LIVRE");
LCD2.setCursor(0, 0);
LCD2.print("LIVRE");
digitalWrite(led1G, HIGH);
digitalWrite(led1R, LOW);
digitalWrite(led2G, HIGH);
digitalWrite(led2R, LOW);
LCD1.clear();
LCD2.clear();
}
//alguem está descendo
if (alto==LOW&&subindo==0){
descendo++;
LCD1.setCursor(0, 0);
LCD2.print("ALERTA!");
LCD1.setCursor(0, 0);
LCD1.print("ALERTA!");
LCD1.setCursor(1, 0);
Serial.print("descendo: ");
Serial.println(descendo);
digitalWrite(led2G, LOW);
digitalWrite(led2R, HIGH);
digitalWrite(led1G, HIGH);
digitalWrite(led1R, LOW);
while(digitalRead(botao1) == HIGH)delay(30); }
if (baixo==LOW && descendo>0){
Serial.print("descendo2: ");
Serial.println(descendo);
descendo--;
//while(digitalRead(botao2) == LOW)delay(30);
}
//alguem está subindo
if (baixo==LOW&&descendo==0){
subindo++;
LCD1.setCursor(0, 0);
LCD2.print("ALERTA!2");
LCD1.setCursor(0, 0);
LCD1.print("ALERTA!2");
LCD1.setCursor(1, 0);
Serial.print("subindo: ");
Serial.println(subindo);
digitalWrite(led1G, LOW);
digitalWrite(led1R, HIGH);
digitalWrite(led2G, HIGH);
digitalWrite(led2R, LOW);
while(digitalRead(botao2) == LOW)delay(30);}
if (alto==LOW && subindo>0){
Serial.print("subindo2: ");
Serial.println(subindo);
subindo--;
while(digitalRead(botao1) == LOW)delay(30);}
}