Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <LiquidCrystal.h>
- #define vm 8
- #define vd 9
- #define az 10
- #define button 7
- #define rs 12
- #define en 11
- #define d4 5
- #define d5 4
- #define d6 3
- #define d7 2
- LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
- unsigned long int t = 0;//para a funcao millis
- byte b = 0;//b. guardar o número de apertos
- ///////////////////////////////////////
- void intro() {
- lcd.setCursor(5, 0);
- lcd.print("Estimulador");
- lcd.setCursor(6, 1);
- lcd.print("Sensorial");
- lcd.setCursor(7, 2);
- lcd.print("2019.1");
- delay(5000);
- lcd.clear();
- }
- ///////////////////////////////////////
- void instrucoes() {
- lcd.clear();
- lcd.print("Pressione 3 vezes o");
- lcd.setCursor(0, 1);
- lcd.print("botao para que a luz");
- lcd.setCursor(0, 2);
- lcd.print("vermelha acenda.");
- delay(3000);
- lcd.clear();
- lcd.print("Pressione 4 vezes o");
- lcd.setCursor(0, 1);
- lcd.print("botao para que a luz");
- lcd.setCursor(0, 2);
- lcd.print("verde acenda.");
- delay(3000);
- lcd.clear();
- lcd.print("Pressione 5 vezes o");
- lcd.setCursor(0, 1);
- lcd.print("botao para que a luz");
- lcd.setCursor(0, 2);
- lcd.print("azul acenda.");
- delay(3000);
- lcd.clear();
- }
- ///////////////////////////////////////
- void setup() {
- Serial.begin(9600);
- pinMode(vm, OUTPUT);
- pinMode(vd, OUTPUT);
- pinMode(az, OUTPUT);
- pinMode(button, INPUT);
- estado_anterior = digitalRead(7);
- lcd.begin(20, 4);
- intro();
- instrucoes();
- }
- ///////////////////////////////////////
- void loop() {
- if (digitalRead(button) == HIGH) {
- while (digitalRead(button) == HIGH) {}
- delay(50);
- b++;
- t = millis();
- }
- if (b == 3 && millis() - t >= 2000) {
- lcd.setCursor(0, 1);
- lcd.print("Parabens, vermelho");
- digitalWrite(vm, HIGH);
- digitalWrite(vd, LOW);
- digitalWrite(az, LOW);
- delay(2000);
- }
- if (b == 4 && millis() - t >= 2000) {
- lcd.setCursor(0, 1);
- lcd.print("Parabens, verde");
- digitalWrite(vm, LOW);
- digitalWrite(vd, HIGH);
- digitalWrite(az, LOW);
- delay(2000);
- }
- if (b == 5 && millis() - t >= 2000) {
- lcd.setCursor(0, 1);
- lcd.print("Parabens, azul");
- digitalWrite(vm, LOW);
- digitalWrite(vd, LOW);
- digitalWrite(az, HIGH);
- delay(2000);
- }
- if (millis() - t >= 3000) {
- lcd.clear();
- digitalWrite(vm, LOW);
- digitalWrite(vd, LOW);
- digitalWrite(az, LOW);
- b = 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement