Opis LCD Keypad Arduino Shield
Nakładka na Arduino Uno umożliwiająca wyświetlanie tekstu na wyświetlaczu obsługującym 2x16 znaków.
Wyświetlacz wykorzystuje do komunikacji siedem pinów. Dodatkowo do dyspozycji jest pięć przycisków, których stan odczytywany jest przy pomocy sygnału analogowego, dzięki czemu do komunikacji wykorzystują one tylko jeden pin analogowy.
W lewym górnym rogu układu znajduje się potencjometr, dzięki któremu można regulować jasność wyświetlacza.
Specyfikacja:
- Napięcie pracy: 5 V
- Napięcie pracy wyprowadzeń logicznych: 5 V (pobierane z Arduino)
- Pięć przycisków do dyspozycji użytkownika
- Wbudowany wyświetlacz LCD 2x16 znaków z podświetlaniem niebieskim
- Wyprowadzany przycisk RESET Arduino
- Wyprowadzane piny Arduino - cyfrowe i analogowe
- Współpracuje ze standardowa biblioteką Arduino LiquidCrystal
- Wymiary płytki: 80 x 58 mm
LCD Keypad Shield + Arduino NANO
/**************************************************************
Mark Bramwell, July 2010
This program will test the LCD panel and the buttons. When you push the button on the shield the screen will show the corresponding one.
******************************************************************/
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); //select the pins used on the LCD panel
int lcd_key = 0;
int adc_key_in = 0;
#define btnRIGHT 0
#define btnUP 1
#define btnDOWN 2
#define btnLEFT 3
#define btnSELECT 4
#define btnNONE 5
int read_LCD_buttons(){
adc_key_in = analogRead(2);
Serial.println(adc_key_in);
if (adc_key_in > 1000) return btnNONE;
if (adc_key_in < 50) return btnRIGHT;
if (adc_key_in < 250) return btnUP;
if (adc_key_in < 450) return btnDOWN;
if (adc_key_in < 650) return btnLEFT;
if (adc_key_in < 850) return btnSELECT;
return btnNONE;
}
void setup(){
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("Push");
}
void loop(){
lcd.setCursor(0,1);
lcd_key = read_LCD_buttons();
switch (lcd_key){
case btnRIGHT: { lcd.print("RIGHT "); break; }
case btnLEFT: { lcd.print("LEFT "); break; }
case btnUP: { lcd.print("UP "); break; }
case btnDOWN: { lcd.print("DOWN "); break; }
case btnSELECT:{ lcd.print("SELECT"); break; }
case btnNONE: { lcd.print("NONE "); break; }
}
}