LCD Fails to work when Serial.Begin(9600) is called

Hi All;

I have a sketch which reads in RFIDs and displays some words accordingly. The issue I have is that I have to set serial.begin(9600) for the RFID readers to work (ID-12) which causes the LCD to display garbled data. If I remove the line, then the LCD works just fine but the readers don’t.

I even tested this with the Hello World code and got the same result.

#include <LiquidCrystal.h>

#define kLCD_RS 1 //PIN 4 on LCD
#define kLCD_EN 2 //PIN 6 on LCD
#define kLCD_DB4 3 //PIN 11 on LCD
#define kLCD_DB5 4 //PIN 12 on LCD
#define kLCD_DB6 A5 //PIN 13 on LCD
#define kLCD_DB7 A4 //PIN 14 on LCD

// initialize the library with the numbers of the interface pins
//LiquidCrystal lcd(kLCD_RS, kLCD_EN, kLCD_DB4, kLCD_DB5, kLCD_DB6, kLCD_DB7);


// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(kLCD_RS, kLCD_EN, kLCD_DB4, kLCD_DB5, kLCD_DB6, kLCD_DB7);

void setup() {
  // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");
  Serial.begin(9600);
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis()/1000);
}

As soon as I remove the serial.being(9600); it works. I am most likely dealing with a baud rate mismatch but I tried all the legal baud rates instead of 9600 and none allowed the LCD to work.

Can anyone offer any insight? Please…!

You have connected your LCD RS pin to arduino serial TX (pin 1). Use another pin (Don't use arduino pin 0 either).

I didn't spot that right away because I read the comments instead of the code.

Don

Thanks guys;

Will give that a go tonight and report back, but it makes sense and kinda kicking myself for not working that out.