Im want my lcd to have a on/off/reset switch. If digitalRead(10 == HIGH) Iw ant thedisplay to clear out and if digitalRead(10 == LOW) I want the display to start again at 0
#include <LiquidCrystal.h>
int myDelayTime = 500;
//henter inn liquidcrystal library
int seconds = 0;//setter sekund telleren til 0 sekunder ved start
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//hvilke pins som blir brukt
byte ball[8] = {
B00000,
B00100,
B01110,
B11111,
B11111,
B01110,
B00100,
B00000,
}
;
void setup(){
pinMode(10, INPUT);
pinMode(9, OUTPUT);
lcd.begin(16, 2); //velger antall rader og rekker som skal brukes.
lcd.print("break my screen!");// sender en tekst som kommer opp på displayet
lcd.createChar(7, ball);
}
void loop()
{
if (digitalRead(10 == HIGH)){
lcd.clear();
digitalWrite(9, HIGH);
}
if (digitalRead(10 == LOW));{
// (note: linje 1 er 2. raden på displayet altså øverste er 0 g nederste er 1
lcd.setCursor(6, 1); // velger at sekundene skal telles i rute 6 i linjen under
lcd.print(seconds); // viser sekunder som har gått på displayet
delay(myDelayTime);; // venter 1 sekund
seconds += 1;//sekundene blir + 1
for( int i=0; i<=15; i++){
lcd.setCursor(i, 0);
lcd.write(7);
delay(myDelayTime);
lcd.setCursor(0, 0);
lcd.print(" ");
myDelayTime -= 0.5;
}
}
}
The problem is that it still doesn't work after trying that
#include <LiquidCrystal.h>
int myDelayTime = 500;
//henter inn liquidcrystal library
int seconds = 0;//setter sekund telleren til 0 sekunder ved start
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//hvilke pins som blir brukt
byte ball[8] = {
B00000,
B00100,
B01110,
B11111,
B11111,
B01110,
B00100,
B00000,
}
;
void setup(){
pinMode(10, INPUT);
pinMode(9, OUTPUT);
lcd.begin(16, 2); //velger antall rader og rekker som skal brukes.
lcd.print("break my screen!");// sender en tekst som kommer opp på displayet
lcd.createChar(7, ball);
}
void loop()
{
if (digitalRead(10) == HIGH);{
lcd.clear();
digitalWrite(9, HIGH);
}
if (digitalRead(10) == LOW);{
// (note: linje 1 er 2. raden på displayet altså øverste er 0 g nederste er 1
lcd.setCursor(6, 1); // velger at sekundene skal telles i rute 6 i linjen under
lcd.print(seconds); // viser sekunder som har gått på displayet
delay(myDelayTime);; // venter 1 sekund
seconds += 1;//sekundene blir + 1
for( int i=0; i<=15; i++){
lcd.setCursor(i, 0);
lcd.write(7);
delay(myDelayTime);
lcd.setCursor(0, 0);
lcd.print(" ");
myDelayTime -= 0.5;
}
}
}
Show how the switch is wired. It is hard to tell from the Fritz picture with the overlapping wires. A proper schematic would be better. Hand drawn, photographed and posted is fine. Include all pin names/numbers, components, their part numbers and/or values and power supplies.
I missed it at first. Sorry, it is late here. You must get rid of the semicolons at the ends of the if statements.
#include <LiquidCrystal.h>
int myDelayTime = 500;
//henter inn liquidcrystal library
int seconds = 0;//setter sekund telleren til 0 sekunder ved start
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//hvilke pins som blir brukt
byte ball[8] =
{
B00000,
B00100,
B01110,
B11111,
B11111,
B01110,
B00100,
B00000,
}
;
void setup()
{
pinMode(10, INPUT);
pinMode(9, OUTPUT);
lcd.begin(16, 2); //velger antall rader og rekker som skal brukes.
lcd.print("break my screen!");// sender en tekst som kommer opp på displayet
lcd.createChar(7, ball);
}
void loop()
{
if (digitalRead(10) == HIGH) // ***** delete ;
{
lcd.clear();
digitalWrite(9, HIGH);
}
if (digitalRead(10) == LOW) // ***** delete ;
{
// (note: linje 1 er 2. raden på displayet altså øverste er 0 g nederste er 1
lcd.setCursor(6, 1); // velger at sekundene skal telles i rute 6 i linjen under
lcd.print(seconds); // viser sekunder som har gått på displayet
delay(myDelayTime);; // venter 1 sekund
seconds += 1;//sekundene blir + 1
for ( int i = 0; i <= 15; i++)
{
lcd.setCursor(i, 0);
lcd.write(7);
delay(myDelayTime);
lcd.setCursor(0, 0);
lcd.print(" ");
myDelayTime -= 0.5;
}
}
}
The above is my favored formatting style. Each { and } on their own lines. Code blocks stand out better.