Pages: [1]   Go Down
Author Topic: Scrolling Option  (Read 540 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

A project that I am starting will have a Parallax 4 x 20 serial LCD. What I am wanting to do is program a a kindof scrolling menu with 3 buttons. One to scroll up, another to scroll down, and the last to select the option that is printed on the LCD.  I don't really know where to start on how to program  this, but if anyone give some advice or insight it will be greatly appreciated.  Thanks.
Logged

DELHI
Offline Offline
God Member
*****
Karma: 8
Posts: 958
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

here is example code , you can get started
http://www.hwkitchen.com/products/lcd-display-4x20-characters/

http://playground.arduino.cc/Learning/SparkFunSerLCD
Logged

AMPS

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for the links,  I changed up my design some just to play around with. Right now instead of using 2 buttons to scroll I have a  0-9 dual pushwheel switch to dial through. I still want to put in a button to select the showing option but I'm still working on it.  I also have it all hooked up to the LCD.  Here is a copy of the code I have now, its a lot and a little messy but I'm learning. If I decide to not include the 3rd button I might just put a delay on what I want to happen.
Code:
const int led1 = 4;
const int led2 = 5;
const int led3 = 6;
const int led4 = 7;
const int sw1 = 13;
const int sw2 = 12;
const int sw3 = 11;
const int sw4 = 10;
const int lcd = 1;
int val1 = 0;
int val2 = 0;
int val3 = 0;
int val4 = 0;

void setup(){
  Serial.begin(9600);
  pinMode(lcd,OUTPUT);Serial.write(12);Serial.write(131);Serial.write("The Bartender");
  pinMode(led1,OUTPUT);
  pinMode(led2,OUTPUT);
  pinMode(led3,OUTPUT);
  pinMode(led4,OUTPUT);
  pinMode(sw1,INPUT);
  pinMode(sw2,INPUT);
  pinMode(sw3,INPUT);
  pinMode(sw4,INPUT);
}
void loop(){
  val1 = digitalRead(sw1);
  val2 = digitalRead(sw2);
  val3 = digitalRead(sw3);
  val4 = digitalRead(sw4);
  if(val1 == HIGH){digitalWrite(led1,HIGH);Serial.write(168);Serial.write("Opt 1");} // led 1 on, print opt 1 on screen
  if(val2 == HIGH){digitalWrite(led2,HIGH);Serial.write(173);Serial.write("Opt 2");} // led 2 on, print opt 2 on screen
  if(val3 == HIGH){digitalWrite(led3,HIGH);Serial.write(178);Serial.write("Opt 3");} // led 3 on, print opt 3 on screen
  if(val4 == HIGH){digitalWrite(led4,HIGH);Serial.write(183);Serial.write("Opt 4");} // led 4 on, print opt 4 on screen
  if(val1 == LOW){digitalWrite(led1,LOW);Serial.write(168);Serial.write("     ");} // led 1 off, print *blank* on screen
  if(val2 == LOW){digitalWrite(led2,LOW);Serial.write(173);Serial.write("     ");} // led 2 off, print *blank* on screen
  if(val3 == LOW){digitalWrite(led3,LOW);Serial.write(178);Serial.write("     ");} // led 2 off, print *blank* on screen
  if(val4 == LOW){digitalWrite(led4,LOW);Serial.write(183);Serial.write("     ");} // led 2 off, print *blank* on screen
}
« Last Edit: July 03, 2014, 10:36:46 am by alleniiij678 » Logged

DELHI
Offline Offline
God Member
*****
Karma: 8
Posts: 958
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I am trying to do understand what u r trying here,

Here your judging on status  pin. when you checking status High or loW.
Assume you said
1) problem statement from your code
Code:
if(pin==HIGH)
{
do this...................
}else // means your selected pin is low , so dont use multiple if statement so it take long time to check condition
{

Which ur writing end of code
}

2) problem statement.
you should know what is condition of other pin when particular pin set high or Low.


 
Logged

AMPS

Pages: [1]   Go Up
Jump to: