Arduino - Hello World
I figured that I needed to do the standard "Hello World" tests with the LCD since this was a new platform for me. To be real honest it took me longer to wire up the leads to spare LCD than anything else and even that did not take more than about 15 minutes.
Parts:
A short section of cat 5 (so that jumper wires are easier to track with some color variation)
10k ohm pot
10 ohm resistor
16x2 LCD
Arduino Uno
The online notes that I referenced for this tutorial omitted the circuit details for wiring up the LCD backlight (aka: the LED on pins 15 & 16) but a couple of quick searches resolved that little detail.
I also wanted to take the experiment and draw it out in Fritzing to see how well it would help visualize the example for the web. It was pretty easy for using it for the first time. The picture above took about 10 minutes to draw out.
For the code I used the Hello World example sketch. Once that was working (first try) I made a quick tweak to it and sent it back to the board for pictures.
---------------------
/*
LiquidCrystal Library - Hello World, NG0R
Demonstrates the use a 16x2 LCD display. The LiquidCrystal
library works with all LCD displays that are compatible with the
Hitachi HD44780 driver. There are many of them out there, and you
can usually tell them by the 16-pin interface.
The circuit:
* LCD RS pin to digital pin 12
* LCD Enable pin to digital pin 11
* LCD D4 pin to digital pin 5
* LCD D5 pin to digital pin 4
* LCD D6 pin to digital pin 3
* LCD D7 pin to digital pin 2
* LCD R/W pin to ground
* 10K resistor:
* ends to +5V and ground
* wiper to LCD VO pin (pin 3)
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/LiquidCrystal
*/
// include the library code:
#include
// initialize the library with the numbers of the interface pins
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 from NG0R!");
}
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);
}
---------------------
Overall it was a pretty easy experience. It worked as expected (a novel idea) which helps to grow your confidence level. I am pretty impressed with the tutorials and examples. The Arduino team has done a good job creating a tool that has a low barrier to entry.
73 de NG0R