Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <LiquidCrystal.h>
- LiquidCrystal lcd(6, 7, 4, 5, 2, 3); //Configura os pinos do Arduino para se comunicar com o LCD
- int temp; //Inicia uma variável inteira(temp), para escrever no LCD a contagem do tempo
- int seg = 0;
- int m = 0;
- int h = 18;
- int ma = 0;
- int ha = 0;
- int dia = 0;
- int ativa = 0;
- int botao = 0;
- int led = 0;
- byte LED; // Variavel para LED
- //-------------------------
- void AcendeLED() // Funcao para piscar LED no Pino 13
- {
- if (m < 1) // So pisca se for menor que 1 minuto em cada hora
- {
- if (seg <10) // So pisca durante 10 segundos
- {
- LED = !LED; // Se tiver 1 fica zero e vice versa
- digitalWrite(13,LED); // Liga ou desliga o LED
- }
- }
- }
- //-----------------------------------
- void tempo()
- {
- if ((h > 17) || (h < 6)) // Se for entre 18 e 5 horas
- {
- AcendeLED(); // Pisca o LED
- }
- if (seg < 60)
- {
- seg++;
- delay(994);
- }
- else if (seg == 60)
- {
- seg = 0;
- m++;
- if (m == 60)
- {
- seg = 0;
- m = 0;
- h++;
- if (h == 24)
- {
- seg = 0;
- m = 0;
- h = 0;
- dia++;
- if (dia == 7)
- {
- seg = 0;
- m = 0;
- h = 0;
- dia = 0;
- }
- }
- }
- }
- }
- //------------------------------------
- void setup()
- {
- pinMode(13, OUTPUT);
- pinMode(12, INPUT);
- pinMode(11, INPUT);
- pinMode(10, INPUT);
- pinMode(9, INPUT);
- pinMode(8, OUTPUT);
- lcd.begin(16, 2); //Inicia o LCD com dimensões 16x2(Colunas x Linhas)
- }
- //---------------------------
- void loop()
- {
- tempo();
- if (h < 10)
- {
- lcd.setCursor(0, 0);
- lcd.print("0");
- lcd.setCursor(1, 0);
- lcd.print(h);
- }
- else
- {
- lcd.setCursor(0, 0);
- lcd.print(h);
- }
- if (m < 10)
- {
- lcd.setCursor(2, 0);
- lcd.print(":0");
- lcd.setCursor(4, 0);
- lcd.print(m);
- }
- else
- {
- lcd.setCursor(2, 0);
- lcd.print(":");
- lcd.setCursor(3, 0);
- lcd.print(m);
- }
- if (seg < 10)
- {
- lcd.setCursor(5, 0);
- lcd.print(":0");
- lcd.setCursor(7, 0);
- lcd.print(seg);
- }
- else
- {
- lcd.setCursor(5, 0);
- lcd.print(":");
- lcd.setCursor(6, 0);
- lcd.print(seg);
- }
- switch (dia)
- {
- case 0:
- lcd.setCursor(9, 0);
- lcd.print("D");
- break;
- case 1:
- lcd.setCursor(9, 0);
- lcd.print("S");
- break;
- case 2:
- lcd.setCursor(9, 0);
- lcd.print("T");
- break;
- case 3:
- lcd.setCursor(9, 0);
- lcd.print("Q");
- break;
- case 4:
- lcd.setCursor(9, 0);
- lcd.print("Q");
- break;
- case 5:
- lcd.setCursor(9, 0);
- lcd.print("S");
- break;
- default:
- lcd.setCursor(9, 0);
- lcd.print("S");
- break;
- }
- if (ha < 10)
- {
- lcd.setCursor(0, 1);
- lcd.print("0");
- lcd.setCursor(1, 1);
- lcd.print(ha);
- }
- else
- {
- lcd.setCursor(0, 1);
- lcd.print(ha);
- }
- if (ma < 10)
- {
- lcd.setCursor(2, 1);
- lcd.print(":0");
- lcd.setCursor(4, 1);
- lcd.print(ma);
- }
- else
- {
- lcd.setCursor(2, 1);
- lcd.print(":");
- lcd.setCursor(3, 1);
- lcd.print(ma);
- }
- lcd.setCursor(11, 0);
- lcd.print("Menu");
- lcd.setCursor(15, 0);
- lcd.print(botao);
- lcd.setCursor(6, 1);
- lcd.print("Alarme");
- if (digitalRead(9) == LOW)
- {
- botao++;
- }
- switch (botao)
- {
- case 0:
- if (digitalRead(10) == LOW)
- {
- if (h == 23)
- {
- h = 0;
- }
- else
- {
- h++;
- }
- }
- if (digitalRead(11) == LOW)
- {
- if (h == 0)
- {
- h = 23;
- }
- else
- {
- h--;
- }
- }
- break;
- case 1:
- if (digitalRead(10) == LOW)
- {
- if (m == 59)
- {
- m = 0;
- }
- else
- {
- m++;
- }
- }
- if (digitalRead(11) == LOW)
- {
- if (m == 0)
- {
- m = 59;
- }
- else
- {
- m--;
- }
- }
- break;
- case 2:
- if (digitalRead(10) == LOW)
- {
- if (dia == 7)
- {
- dia = 0;
- }
- else
- {
- dia++;
- }
- }
- if (digitalRead(11) == LOW)
- {
- if (dia == 0)
- {
- dia = 7;
- }
- else
- {
- dia--;
- }
- }
- break;
- case 3:
- if (digitalRead(10) == LOW)
- {
- if (ha == 23)
- {
- ha = 0;
- }
- else
- {
- ha++;
- }
- }
- if (digitalRead(11) == LOW)
- {
- if (ha == 0)
- {
- ha = 23;
- }
- else
- {
- ha--;
- }
- }
- break;
- case 4:
- if (digitalRead(10) == LOW)
- {
- if (ma == 59)
- {
- ma = 0;
- }
- else
- {
- ma++;
- }
- }
- if (digitalRead(11) == LOW)
- {
- if (ma == 0)
- {
- ma = 59;
- }
- else
- {
- ma--;
- }
- }
- break;
- default:
- botao = 0;
- break;
- }
- if (ativa == 1)
- {
- lcd.setCursor(13, 1);
- lcd.print("on ");
- }
- else
- {
- lcd.setCursor(13, 1);
- lcd.print("off");
- }
- if (digitalRead(12) == LOW)
- {
- if (ativa == 0)
- {
- ativa++;
- lcd.setCursor(13, 1);
- lcd.print("on ");
- }
- else
- {
- ativa--;
- lcd.setCursor(13, 1);
- lcd.print("off");
- }
- }
- if (h == ha && m == ma)
- {
- if (ativa == 1)
- {
- digitalWrite(13, HIGH);
- }
- else
- {
- digitalWrite(13, LOW);
- }
- }
- else
- {
- digitalWrite(13, LOW);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement