boa noite garagistas estou desenvolvendo protótipo de disparo de sirene para minha escola a parte de dispara a sirene nos horário esta funcionando mas eu queria implementar o funcionamento de botão pois estou utilizando um shield LCD com teclado.
segue a programação abaixo:
// Date and time functions using a DS1307 RTC connected via I2C and Wire lib
#include <Wire.h>
#include "RTClib.h"
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8,9,4,5,6,7);
RTC_DS1307 rtc;
int hora = 0;
int minuto = 0;
int segundo = 0;
void setup () {
Wire.begin();
rtc.begin();
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
Serial.begin(9600);
pinMode(3, LOW);
digitalWrite(3, OUTPUT);
pinMode(2, LOW);
digitalWrite(2, OUTPUT);
if (!rtc.isrunning()) {
lcd.print("RTC parado, vou ajustar com a hora da compilacao...");
rtc.adjust(DateTime(F(__DATE__), F( __TIME__)));
}
}
void printnn(int n) {
// imprime um numero com 2 digitos
// acrescenta zero `a esquerda se necessario
String digitos = String(n);
if (digitos.length() == 1) {
digitos = "0" + digitos;
}
lcd.print(digitos);
}
void loop () {
// Obtem a data e hora correntes e armazena em tstamp
DateTime tstamp = rtc.now();
hora = (tstamp.hour());
minuto = (tstamp.minute());
segundo = (tstamp.second());
// Mostra no monitor serial a data e hora correntes
lcd.setCursor(4, 0);
lcd.print("SINALTEC");
//printnn(tstamp.day());
//lcd.print('/');
//printnn(tstamp.month());
//lcd.print('/');
//lcd.print(tstamp.year(), DEC);
lcd.setCursor(3, 1);
lcd.print (' ');
printnn(tstamp.hour());
lcd.print(':');
printnn(tstamp.minute());
lcd.print(':');
printnn(tstamp.second());
delay(1000);
lcd.clear();
//lcd.println();
Serial.print (hora);
Serial.print (":");
Serial.print (minuto);
Serial.print (":");
Serial.println (segundo);
// Periodo da manha
if (hora == 7 && minuto == 35 && segundo == 0) {
alarme();
}
if (hora == 9 && minuto == 35 && segundo == 0) {
alarme();
}
if (hora == 9 && minuto == 50 && segundo == 0) {
alarme();
}
if (hora == 11 && minuto == 35 && segundo == 0) {
alarme();
}
//periodo da tarde
if (hora == 13 && minuto == 20 && segundo == 0) {
alarme();
}
if (hora == 15 && minuto == 35 && segundo == 0) {
alarme();
}
if (hora == 15 && minuto == 50 && segundo == 0) {
alarme();
}
if (hora == 17 && minuto == 20 && segundo == 0) {
alarme();
}
//periodo da noite
if (hora == 19 && minuto == 00 && segundo == 0) {
alarme();
}
if (hora == 20 && minuto == 40 && segundo == 0) {
alarme();
}
if (hora == 21 && minuto == 34 && segundo == 0) {
alarme();
}
if (hora == 01 && minuto == 52 && segundo == 0) {
alarme();
}
}
void alarme() {
digitalWrite(3, HIGH);
digitalWrite(2, HIGH);
lcd.setCursor(5, 0);
lcd.print ("FEIRA");
lcd.setCursor(0, 1);
lcd.print ("TECNOLOGICA 2017");
delay(5000);
digitalWrite(3, LOW);
digitalWrite(2, LOW);
lcd.clear();
}
Tags:
Boa noite,
Antes que nada sugiro que leia e sigas estas regras básicas do fórum.
http://labdegaragem.com/forum/topics/sugest-o-de-como-postar
Boa sorte.
Abs.
CK
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por