I have managed to convert the Arduino to vero board with LCD display but after 3 loops of the code the LCD displays error in the text and goes back round to the start with no errors then displays errors again
I don't need the temp part as I'm not using the LM35
[code
#include <LiquidCrystal.h> // include the LCD driver library
//declare variables
float tempC = 0; // Variable for holding Celcius temp (floating for decimal points precision)
float tempf = 0; // variable for holding Fareghneit temp
int tempPin = 0; // Declaring the Analog input to be 0 (A0) of Arduino board.
float samples[8]; // Array to hold 8 samples for Average temp calculation
float maxi = 0,mini = 100; // Max/Min temperature variables with initial values. LM35 in simple setup only measures Temp above 0.
int i;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // initialize the library with the numbers of the interface pins
void setup()
{
Serial.begin(9600); // Opens serial port, sets data rate to 9600 bps
lcd.begin(16, 2); // Set up the LCD's number of columns and rows:
}
void loop()
{
lcd.setCursor(2, 0); // Set LCD cursor position (column, row)
lcd.print("INSTALLED BY"); // Print text to LCD
lcd.setCursor(0, 1); // Set LCD cursor position (column,row)
lcd.print("EUROTECK SYSTEMS"); // Print text to LCD
delay(4000); // wait 500ms // Delay to read text
lcd.clear(); // clear LCD display // Clear the display
lcd.setCursor(0, 0); // Set LCD cursor position (column, row)
lcd.print("CALL 01827312455"); // Print text to LCD
lcd.setCursor(0, 1); // Set LCD cursor position (column,row)
lcd.print("FOR AN ENGINEER"); // Print text to LCD
delay(4000); // wait 500ms // Delay to read text
lcd.clear(); // clear LCD display
lcd.setCursor(0, 0); // Set LCD cursor position (column, row)
lcd.print("X-RAY INSPECTION"); // Print text to LCD
lcd.setCursor(1, 1); // Set LCD cursor position (column,row)
lcd.print("& SYSTEM SALES"); // Print text to LCD
delay(4000); // wait 500ms // Delay to read text
lcd.clear(); // clear LCD display
lcd.setCursor(0, 0); // Set LCD cursor position (column, row)
lcd.print("MONDAY TO FRIDAY"); // Print text to LCD
lcd.setCursor(2, 1); // Set LCD cursor position (column,row)
lcd.print("8:30 - 17:00"); // Print text to LCD
delay(4000); // wait 500ms // Delay to read text
lcd.clear(); // clear LCD display
lcd.setCursor(5, 0); // Set LCD cursor position (column, row)
lcd.print("INFO@"); // Print text to LCD
lcd.setCursor(1, 1); // Set LCD cursor position (column,row)
lcd.print("EUROTECK.CO.UK"); // Print text to LCD
delay(4000); // wait 500ms // Delay to read text
lcd.clear(); // clear LCD display
lcd.setCursor(5, 0); // Set LCD cursor position (column, row)
lcd.print("SALES@"); // Print text to LCD
lcd.setCursor(1, 1); // Set LCD cursor position (column,row)
lcd.print("EUROTECK.CO.UK"); // Print text to LCD
delay(4000); // wait 500ms // Delay to read text
// Set tempC to 0 so calculations can be done again
lcd.clear();
lcd.setCursor(2, 0); // Set LCD cursor position (column, row)
lcd.print("WWW.EUROTECK"); // Print text to LCD
lcd.setCursor(5, 1); // Set LCD cursor position (column,row)
lcd.print(".CO.UK"); // Print text to LCD
delay(4000); // wait 500ms // Delay to read text
lcd.clear(); // clear LCD display
} ]
Check your wiring to make sure all of the contacts are good and not loose.
From what I know if there is "?" on your screen usually it's your soldering. "not sure"
lcd.clear() automatically resets the cursor to 0,0 so there is no need to call lcd.setCursor(0,0). I also see that your code initializes a serial connection, but is never used (unless I missed it). You also say that you don't need the temperature part, but the variables are still declared. Try this:
#include <LiquidCrystal.h> // include the LCD driver library
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // initialize the library with the numbers of the interface pins
void setup(){
lcd.begin(16, 2); // Set up the LCD's number of columns and rows:
lcd.clear(); //get rid of garbage that may be displayed on power-up
}
void loop(){
lcd.setCursor(2, 0); // Set LCD cursor position (column, row)
lcd.print("INSTALLED BY"); // Print text to LCD
lcd.setCursor(0, 1); // Set LCD cursor position (column,row)
lcd.print("EUROTECK SYSTEMS"); // Print text to LCD
delay(4000); // wait 4 seconds // Delay to read text
lcd.clear(); // clear LCD display // Clear the display
lcd.print("CALL 01827312455"); // Print text to LCD
lcd.setCursor(0, 1); // Set LCD cursor position (column,row)
lcd.print("FOR AN ENGINEER"); // Print text to LCD
delay(4000); // wait 4 seconds // Delay to read text
lcd.clear(); // clear LCD display
lcd.print("X-RAY INSPECTION"); // Print text to LCD
lcd.setCursor(1, 1); // Set LCD cursor position (column,row)
lcd.print("& SYSTEM SALES"); // Print text to LCD
delay(4000); // wait 4 seconds // Delay to read text
lcd.clear(); // clear LCD display
lcd.print("MONDAY TO FRIDAY"); // Print text to LCD
lcd.setCursor(2, 1); // Set LCD cursor position (column,row)
lcd.print("8:30 - 17:00"); // Print text to LCD
delay(4000); // wait 4 seconds // Delay to read text
lcd.clear(); // clear LCD display
lcd.setCursor(5, 0); // Set LCD cursor position (column, row)
lcd.print("INFO@"); // Print text to LCD
lcd.setCursor(1, 1); // Set LCD cursor position (column,row)
lcd.print("EUROTECK.CO.UK"); // Print text to LCD
delay(4000); // wait 4 seconds // Delay to read text
lcd.clear(); // clear LCD display
lcd.setCursor(5, 0); // Set LCD cursor position (column, row)
lcd.print("SALES@"); // Print text to LCD
lcd.setCursor(1, 1); // Set LCD cursor position (column,row)
lcd.print("EUROTECK.CO.UK"); // Print text to LCD
delay(4000); // wait 4 seconds // Delay to read text
lcd.clear();
lcd.setCursor(2, 0); // Set LCD cursor position (column, row)
lcd.print("WWW.EUROTECK"); // Print text to LCD
lcd.setCursor(5, 1); // Set LCD cursor position (column,row)
lcd.print(".CO.UK"); // Print text to LCD
delay(4000); // wait 4 seconds // Delay to read text
lcd.clear(); // clear LCD display
}
Hi,
Looks like its time to use the DMM and check each of the connections between the LCD and the controller, also check that you have the gnd of the LCD connectede to the gnd of the board.
Have you got bypass capacitors on your control IC and at the power connerctions off the board to the LCD.
Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png or pdf?
Also a picture of the component side of the board.