Go Down

Topic: Parallax LCD Help (Read 722 times) previous topic - next topic

boardboy

I have a 16x2 Parallax Serial LCD, I was wondering if anyone has been able to get it work?

It has 3 pins: GND, 5V and RX.  I have TX going to pin 1 (TX) on my Diecimila, and am running the following code:

Code: [Select]
int ledPin = 13;                // IR LED connected to digital pin 13
int statusPin = 12;             // LED connected to digital pin 12

volatile byte rpmcount;
volatile int status;

unsigned int rpm;

unsigned long timeold;

void rpm_fun()
{
  //Each rotation, this interrupt function is run twice, so take that into consideration for
  //calculating RPM
  //Update count
     rpmcount++;
     
  //Toggle status LED  
  if (status == LOW) {
    status = HIGH;
  } else {
    status = LOW;
  }
  digitalWrite(statusPin, status);
 
}

void setup()
{
  Serial.begin(9600);
  //Interrupt 0 is digital pin 2, so that is where the IR detector is connected
  //Triggers on FALLING (change from HIGH to LOW)
  attachInterrupt(0, rpm_fun, FALLING);
 
  //Turn on IR LED
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, HIGH);
 
  //Use statusPin to flash along with interrupts
//  pinMode(statusPin, OUTPUT);

  rpmcount = 0;
  rpm = 0;
  timeold = 0;
  status = LOW;
}

void loop()
{
  //Update RPM every second
  delay(1000);
  //Don't process interrupts during calculations
  detachInterrupt(0);
  rpm = rpmcount;
  timeold = millis();
  rpmcount = 0;
 
  //Write it out to serial port
//  Serial.println(12,BYTE);
  Serial.println(rpm,DEC);
 
  //Restart the interrupt processing
  attachInterrupt(0, rpm_fun, FALLING);

 }

Go Up