summaryrefslogtreecommitdiffstats
path: root/lib/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino
diff options
context:
space:
mode:
authorFlorian Pritz <bluewind@xinu.at>2013-02-11 22:58:16 +0100
committerFlorian Pritz <bluewind@xinu.at>2013-02-11 22:59:53 +0100
commit5b1afe32cf7496acea8182278aca83f59e8384e3 (patch)
treed1c0cadb01a5d638bb12251d488b7beef8a156d0 /lib/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino
parent4e50c8291bd83a3fbb24a209fd1f6c7cbdb5283c (diff)
downloadmpd-box-5b1afe32cf7496acea8182278aca83f59e8384e3.tar.gz
mpd-box-5b1afe32cf7496acea8182278aca83f59e8384e3.tar.xz
Make code launchpad/energia compatible
Signed-off-by: Florian Pritz <bluewind@xinu.at>
Diffstat (limited to 'lib/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino')
-rw-r--r--lib/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino147
1 files changed, 147 insertions, 0 deletions
diff --git a/lib/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino b/lib/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino
new file mode 100644
index 0000000..23fbe56
--- /dev/null
+++ b/lib/LiquidCrystal/examples/CustomCharacter/CustomCharacter.ino
@@ -0,0 +1,147 @@
+/*
+ LiquidCrystal Library - Custom Characters
+
+ Demonstrates how to add custom characters on an 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.
+
+ This sketch prints "I <heart> Arduino!" and a little dancing man
+ to the LCD.
+
+ The circuit:
+ =================================
+ LCD pin Connect to
+ ---------------------------------
+ 01 - GND GND, pot
+ 02 - VCC +5V, pot
+ 03 - Contrast Pot wiper
+ 04 - RS Pin8 (P2.0)
+ 05 - R/W GND
+ 06 - EN Pin9 (P2.1)
+ 07 - DB0 GND
+ 08 - DB1 GND
+ 09 - DB2 GND
+ 10 - DB3 GND
+ 11 - DB4 Pin10 (P2.2)
+ 12 - DB5 Pin11 (P2.3)
+ 13 - DB6 Pin12 (P2.4)
+ 14 - DB7 Pin13 (P2.5)
+ 15 - BL+ +5V
+ 16 - BL- GND
+ =================================
+
+ created21 Mar 2011
+ by Tom Igoe
+ Based on Adafruit's example at
+ https://github.com/adafruit/SPI_VFD/blob/master/examples/createChar/createChar.pde
+
+ This example code is in the public domain.
+ http://www.arduino.cc/en/Tutorial/LiquidCrystal
+
+ Also useful:
+ http://icontexto.com/charactercreator/
+
+ */
+
+// include the library code:
+#include <LiquidCrystal.h>
+
+// initialize the library with the numbers of the interface pins
+LiquidCrystal lcd(P2_0, P2_1, P2_2, P2_3, P2_4, P2_5);
+
+// make some custom characters:
+byte heart[8] = {
+ 0b00000,
+ 0b01010,
+ 0b11111,
+ 0b11111,
+ 0b11111,
+ 0b01110,
+ 0b00100,
+ 0b00000
+};
+
+byte smiley[8] = {
+ 0b00000,
+ 0b00000,
+ 0b01010,
+ 0b00000,
+ 0b00000,
+ 0b10001,
+ 0b01110,
+ 0b00000
+};
+
+byte frownie[8] = {
+ 0b00000,
+ 0b00000,
+ 0b01010,
+ 0b00000,
+ 0b00000,
+ 0b00000,
+ 0b01110,
+ 0b10001
+};
+
+byte armsDown[8] = {
+ 0b00100,
+ 0b01010,
+ 0b00100,
+ 0b00100,
+ 0b01110,
+ 0b10101,
+ 0b00100,
+ 0b01010
+};
+
+byte armsUp[8] = {
+ 0b00100,
+ 0b01010,
+ 0b00100,
+ 0b10101,
+ 0b01110,
+ 0b00100,
+ 0b00100,
+ 0b01010
+};
+void setup() {
+ // create a new character
+ lcd.createChar(0, heart);
+ // create a new character
+ lcd.createChar(1, smiley);
+ // create a new character
+ lcd.createChar(2, frownie);
+ // create a new character
+ lcd.createChar(3, armsDown);
+ // create a new character
+ lcd.createChar(4, armsUp);
+
+ // set up the lcd's number of columns and rows:
+ lcd.begin(16, 2);
+ // Print a message to the lcd.
+ lcd.print("I ");
+ lcd.write(0);
+ lcd.print(" Arduino! ");
+ lcd.write(1);
+
+}
+
+void loop() {
+ // read the potentiometer on A0:
+ int sensorReading = analogRead(A0);
+ // map the result to 200 - 1000:
+ int delayTime = map(sensorReading, 0, 1023, 200, 1000);
+ // set the cursor to the bottom row, 5th position:
+ lcd.setCursor(4, 1);
+ // draw the little man, arms down:
+ lcd.write(3);
+ delay(delayTime);
+ lcd.setCursor(4, 1);
+ // draw him arms up:
+ lcd.write(4);
+ delay(delayTime);
+}
+
+
+