hey i'm using a 16x2 LCD and 3x4 matrix keypad. I've programmed an external button to be pressed if i wanted to scroll through pages in my LCD. But is there a way that i can program, where i can use my keypad keys such as "#" or "*" to scroll through my pages? i tried several ways to use them but i can't. Any help would be greatly appreciated:) thanks in advance
void loop() {
currentButton = debounce(lastButton);
if (lastButton == LOW && currentButton == HIGH)
{
{
ds += 1;
}
if (ds >= 4){
ds=1;
}
if (ds == 1){
//write the stuffs required for page 1
lcd.setCursor(0,0);
lcd.print("HOME PAGE ");
lcd.setCursor(0,1);
lcd.print("T/I= ");
lcd.setCursor(6,1);
lcd.print("NOT= ");
lcd.noBlink();
}
if (ds == 2){
//write the stuffs required for page 2
lcd.setCursor(0,0);
lcd.print(" Set Interval: ");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.blink();
}
if (ds == 3){
//write the stuffs required for page 3
lcd.setCursor(0,0);
lcd.print("Set No.of Times:");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.blink();
}
}
lastButton = currentButton;
Snippets are us is down the road a ways. Here, we need to see all the code.
i tried several ways to use them but i can't.
So you posted a snippet of code that has nothing to do with an attempt to use the * and # keys on the keypad. Why?
Using Tools + Auto Format before posting code (at least you did that properly) would be a good idea. As would consistent placement of curly braces. I prefer the "on a line by themselves" placement, myself. Others don't.
When there are mutually exclusive blocks of code, if/else if/else works better than if/if/if
But how do i do that with a '*' key rather than an external button?
You want the value of ds to increment by 1 each time you press the '*' key?
It looks like it is doing that now. Though, to be honest, the extra braces and poor indenting are making it hard to tell.
{
ds+=1;
}
No braces needed.
Use Tools + Auto Format to fix the indenting.
Also, adjusting the value of ds and using ds are completely unrelated activities. Putting the code to use ds inside the block that detects a keypress and decides that it is a '*' is wrong.
oh sorry about the number of 'if's and brackets used, i myself got confused sometimes. thank you for the help, i will try it tomorrow and let you know.
so are there any better ways to program this?