You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
1.6 KiB
70 lines
1.6 KiB
//YWROBOT |
|
//Compatible with the Arduino IDE 1.0 |
|
//Library version:1.1 |
|
#include <Wire.h> |
|
#include <LiquidCrystal_I2C.h> |
|
|
|
#if defined(ARDUINO) && ARDUINO >= 100 |
|
#define printByte(args) write(args); |
|
#else |
|
#define printByte(args) print(args,BYTE); |
|
#endif |
|
|
|
uint8_t bell[8] = {0x4,0xe,0xe,0xe,0x1f,0x0,0x4}; |
|
uint8_t note[8] = {0x2,0x3,0x2,0xe,0x1e,0xc,0x0}; |
|
uint8_t clock[8] = {0x0,0xe,0x15,0x17,0x11,0xe,0x0}; |
|
uint8_t heart[8] = {0x0,0xa,0x1f,0x1f,0xe,0x4,0x0}; |
|
uint8_t duck[8] = {0x0,0xc,0x1d,0xf,0xf,0x6,0x0}; |
|
uint8_t check[8] = {0x0,0x1,0x3,0x16,0x1c,0x8,0x0}; |
|
uint8_t cross[8] = {0x0,0x1b,0xe,0x4,0xe,0x1b,0x0}; |
|
uint8_t retarrow[8] = { 0x1,0x1,0x5,0x9,0x1f,0x8,0x4}; |
|
|
|
LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display |
|
|
|
void setup() |
|
{ |
|
lcd.init(); // initialize the lcd |
|
lcd.backlight(); |
|
|
|
lcd.createChar(0, bell); |
|
lcd.createChar(1, note); |
|
lcd.createChar(2, clock); |
|
lcd.createChar(3, heart); |
|
lcd.createChar(4, duck); |
|
lcd.createChar(5, check); |
|
lcd.createChar(6, cross); |
|
lcd.createChar(7, retarrow); |
|
lcd.home(); |
|
|
|
lcd.print("Hello world..."); |
|
lcd.setCursor(0, 1); |
|
lcd.print(" i "); |
|
lcd.printByte(3); |
|
lcd.print(" arduinos!"); |
|
delay(5000); |
|
displayKeyCodes(); |
|
|
|
} |
|
|
|
// display all keycodes |
|
void displayKeyCodes(void) { |
|
uint8_t i = 0; |
|
while (1) { |
|
lcd.clear(); |
|
lcd.print("Codes 0x"); lcd.print(i, HEX); |
|
lcd.print("-0x"); lcd.print(i+15, HEX); |
|
lcd.setCursor(0, 1); |
|
for (int j=0; j<16; j++) { |
|
lcd.printByte(i+j); |
|
} |
|
i+=16; |
|
|
|
delay(4000); |
|
} |
|
} |
|
|
|
void loop() |
|
{ |
|
|
|
} |
|
|
|
|