Advertisement
Guest User

alarme arduino

a guest
Oct 30th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.23 KB | None | 0 0
  1. #include <Wire.h>
  2. #include <LiquidCrystal_I2C.h>
  3. #include <DS3231.h>
  4.  
  5. int temperature; // Declarada como INTEIRO porque o getTemp() da bilbioteca trata a temperatura como FLOAT.
  6. int buzzer = 8;
  7.  
  8. // Modulo I2C display no endereco 0x3F
  9. LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
  10.  
  11. // Inicialização do DS3231 utilizando a interface de hardware
  12. DS3231 rtc(SDA, SCL);
  13. Time  t;//<<<<<<<<<adicionado
  14.  
  15. void setup()
  16. {
  17. pinMode(rele, OUTPUT);
  18. // Setup Conexão serial
  19. Serial.begin(115200);
  20. // Remova o comentário da próxima linha se você estiver usando um Arduino Leonardo
  21. //while (!Serial) {}
  22.  
  23. digitalWrite(rele, HIGH);
  24.  
  25. // Inicialização do display lcd
  26. lcd.clear();
  27. lcd.begin(16, 2);
  28.  
  29. // Inicializar o objeto RTC
  30. rtc.begin();
  31.  
  32. // As seguintes linhas podem ser descomentadas para definir a data e hora
  33. //rtc.setDOW(6); // Seta dia da semana para SABADO
  34. //rtc.setTime(22, 06, 50); // Seta a hora para 22:06:50 (formato 24hr)
  35. //rtc.setDate(29, 10, 2016); // Seta ae data para 29 de outubro, 2016
  36. temperature = rtc.getTemp();
  37. }
  38.  
  39. void loop() {
  40. t = rtc.getTime();//<<<<<<<<<adicionado
  41. // Enviar Dia-da-Semana
  42. lcd.setCursor(0, 0);//Seta o dia da semana na 1ª linha 1ª Coluna do LCD
  43. lcd.print(rtc.getDOWStr());
  44. Serial.print(" ");
  45.  
  46. // Envia data
  47. lcd.setCursor(0, 1);//Seta a data na 2ª linha 1ª Coluna do LCD
  48. lcd.print(rtc.getDateStr());
  49. Serial.print("-- ");
  50.  
  51. // Envia hora
  52. lcd.setCursor(8, 0);//Seta a hora na 1ª linha 8ª Coluna do LCD
  53. lcd.println(rtc.getTimeStr());
  54.  
  55. lcd.setCursor(12, 1); //Seta a temperatura na 2ª linha 12ª Coluna do LCD
  56. //lcd.print("Tempo: ");
  57. lcd.print(temperature);
  58. lcd.write(223);//imprime o caracter (°)
  59. lcd.print("C");
  60.  
  61. // Definicao do alarme.
  62. //modificado**********************************
  63. if (t.hour == 22 && t.min == 56 && t.sec == 0)//Define a hora de tocar o alarme por 1o segundos
  64. {
  65. digitalWrite (buzzer, HIGH);// Eleva tensao pino 13 para 5V
  66. delay (10000);// Atrasa 50ms
  67. }
  68. //modificado**********************************
  69. if (t.hour == 22 && t.min == 58 && t.sec == 30)//Define a hora de tocar o alarme por 1o segundos
  70. {
  71. digitalWrite (buzzer, LOW); //Abaixa tensao pino 13 para 0V
  72. delay (10000);
  73. }
  74.  
  75. // Espere um segundo antes de repetir :)
  76. delay (1000);
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement