Hello.We have a problem with our LCD. It's not displaying anything. Here's our code. Thanks.
#include "Time.h"
#include "TimeAlarms.h"
#include <Wire.h>
#include "Bounce2.h"
#include <LiquidCrystal.h>
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);
#define buttonIncrease 2
#define buttonDecrease 3
#define buttonOK 8
#define alarmSpeaker 9
int Menuposition = 0;
int mathValOne = 0;
int mathValTwo = 0;
int mathValThree = 0;
int inputAnswer = 0;
int realAnswer = 0;
int toneOn = 0;
long previousMillis = 0;
int x = 0;
long interval = 70;
long interval2 = 500;
int debounceIncrease;
int debounceDecrease;
Bounce increase = Bounce();
Bounce decrease = Bounce();
Bounce OK = Bounce();
void Clock() {
lcd.noDisplay();
lcd.display();
lcd.setCursor(0,0);
lcd.print(hour());
printDigits(minute());
printDigits(second());
lcd.println(" ");
}
void printDigits(int digits) {
lcd.print(":");
if (digits < 10)
lcd.print('0');
lcd.print(digits);
}
void Alaarm() {
Menuposition == 1;
}
void alarmNoiseOn(){
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval && x < 8) {
previousMillis = currentMillis;
if (toneOn == 0) {
toneOn = 2048;
}
else
toneOn = 0;
tone(9, toneOn);
if(toneOn == 0)
noTone(9);
x++;
}
if(currentMillis - previousMillis > interval2 && x == 8) {
previousMillis = currentMillis;
noTone(9);
x = 0;
}
}
void setup() {
lcd.begin(16, 2);
setTime(20,34,0,10,07,16);
Alarm.alarmRepeat(20,35,0, Alaarm);
Wire.begin();
pinMode(buttonIncrease, INPUT);
pinMode(buttonDecrease, INPUT);
pinMode(buttonOK, INPUT);
increase.attach(buttonIncrease);
increase.interval(10);
decrease.attach(buttonDecrease);
decrease.interval(10);
OK .attach(buttonOK);
OK .interval(10);
pinMode(alarmSpeaker, OUTPUT);
randomSeed(analogRead(2));
delay(1000);
}
void loop() {
while (Menuposition == 0) {
lcd.setCursor(0, 0);
Clock();
Alarm.delay(1000);
lcd.noDisplay();
lcd.display();
}
while(Menuposition == 1) {
lcd.noDisplay();
lcd.display();
alarmNoiseOn();
increase.update();
decrease.update();
int debounceIncrease = increase.read();
int debounceDecrease = decrease.read();
mathValOne = random(11, 15);
mathValTwo = random(9, 15);
mathValThree = random(20, 150);
inputAnswer = (mathValOne * mathValTwo + mathValThree) - random(5, 10);
realAnswer = mathValOne * mathValTwo + mathValThree;
lcd.setCursor(0, 0);
lcd.print(" Hello!");
lcd.setCursor(0, 1);
lcd.print(mathValOne);
lcd.print("*");
lcd.print(mathValTwo);
lcd.print("+");
lcd.print(mathValThree);
lcd.print(" = ");
lcd.print(inputAnswer);
lcd.print(" ?");
delay(100);
if(debounceIncrease == HIGH) {
inputAnswer++;
}
if(debounceDecrease == HIGH) {
inputAnswer--;
}
if(digitalRead(buttonOK) == HIGH && inputAnswer != realAnswer) {
mathValOne = random(1, 10);
mathValTwo = random(1, 10);
mathValThree = random(1, 20);
}
if(digitalRead(buttonOK) == HIGH && inputAnswer == realAnswer) {
noTone(9);
delay(500);
lcd.noDisplay();
lcd.setCursor(0, 0);
lcd.print(" Good Morning!");
delay(5000);
Menuposition = 0;
mathValOne = 0;
mathValTwo = 0;
mathValThree = 0;
}
}
}