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();

}

 

 

Exibições: 189

Responder esta

Respostas a este tópico

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

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço