Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ////link do video do projeto:https://www.youtube.com/watch?v=5uu6ctnZUPw
- #include <Wire.h>
- #include <LiquidCrystal_I2C.h>
- LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
- #define bot1 2
- #define Led1 3
- #define bot2 4
- #define Led2 5
- #define bot3 6
- #define Led3 7
- unsigned long seg1;
- unsigned long seg2;
- unsigned long seg3;
- int segundos1 = 20; //segundos do botão botão 1
- int segundos2 = 15; //segundos do botão botão 2
- int segundos3 = 10; //segundos do botão botão 3
- int entrada1 = 0;
- int entrada2 = 0;
- int entrada3 = 0;
- int flag1 = 0;
- int flag2 = 0;
- int flag3 = 0;
- void setup() {
- lcd.begin(16, 2);
- lcd.setCursor(0, 0);
- lcd.print("Temporizador");
- lcd.setCursor(0, 1);
- lcd.print("");
- delay(2000);
- pinMode(bot1, INPUT); //botão 1
- pinMode(bot2, INPUT); //botão 2
- pinMode(bot3, INPUT); //botão 3
- pinMode(Led1, OUTPUT); //led 1
- pinMode(Led2, OUTPUT); //led 2
- pinMode(Led3, OUTPUT); //led 3
- }
- //------------------------------------------------------------
- void loop() {
- entrada1 = digitalRead(bot1); //botão 1
- if (entrada1 == HIGH ) {
- flag1 = 1;
- seg1 = millis();
- }
- entrada2 = digitalRead(bot2); //botão 2
- if (entrada2 == HIGH ) {
- flag2 = 1;
- seg2 = millis();
- }
- entrada3 = digitalRead(bot3); //botão 3
- if (entrada3 == HIGH ) {
- flag3 = 1;
- seg3 = millis();
- }
- if (flag1 == 1) {
- digitalWrite(Led1, HIGH); //acende o led ao pressionar o botão 1
- if (millis() - seg1 >= 1000)
- {
- seg1 = millis();
- segundos1--;
- lcd.setCursor(5, 0);
- if (segundos1 < 10) {
- lcd.print("0");
- }
- lcd.print(segundos1);
- }
- if (segundos1 == 0) { //Quando zerar o tempo1
- segundos1 = 20;
- flag1 = 0;
- digitalWrite(Led1, LOW);
- }
- }
- if (flag2 == 1) {
- digitalWrite(Led2, HIGH); //acende o led ao pressionar o botão 2
- if (millis() - seg2 >= 1000)
- {
- seg2 = millis();
- segundos2--;
- lcd.setCursor(13, 0);
- if (segundos2 < 10) {
- lcd.print("0");
- }
- lcd.print(segundos2);
- }
- if (segundos2 == 0) { //Quando zerar o tempo2
- segundos2 = 15;
- flag2 = 0;
- digitalWrite(Led2, LOW);
- }
- }
- if (flag3 == 1) {
- digitalWrite(Led3, HIGH); //acende o led ao pressionar o botão 3
- if (millis() - seg3 >= 1000)
- {
- seg3 = millis();
- segundos3--;
- lcd.setCursor(5, 1);
- if (segundos3 < 10) {
- lcd.print("0");
- }
- lcd.print(segundos3);
- }
- if (segundos3 == 0) { //Quando zerar o tempo3
- segundos3 = 10;
- flag3 = 0;
- digitalWrite(Led3, LOW);
- }
- }
- if (flag1 == 0 and flag2 == 0 and flag3 == 0)
- {
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("T1 = 20 T2 = 15"); // tela de 3 opções de cronometro
- lcd.setCursor(0, 1);
- lcd.print("T3 = 10");
- delay(200);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement