Jak použít LCD displej 16×2 na Merkurinu – Arduinu Nano.
Jediná změna oproti standardnímu použití u Arduina jsou použité piny.
Kód je zde:
/********************************************************************** Tento program otestuje Merkurino 01 s displejem a klávesnicí MerkurRobot.cz 2014 **********************************************************************/ //Jednoduché použití LiquidCrystal knihovny #include <LiquidCrystal.h> // použité piny pro Merkurino 01 LCD panel LiquidCrystal lcd(13, 12, 8, 7, 4, 2); // definice proměnných int lcd_key = 0; int adc_key_in = 0; #define btnRIGHT 0 #define btnUP 1 #define btnDOWN 2 #define btnLEFT 3 #define btnENTER 4 #define btnESC 5 #define btnNONE 6 int read_LCD_buttons() // procedura čtení tlačítek -------------------------- { adc_key_in = analogRead(0); // čtení "napětí" na vstupu A0 //lcd.setCursor(12,1);lcd.print(adc_key_in); lcd.print(" "); if (adc_key_in > 1000) return btnNONE; // žádné tlačítko není stisknuto // pro Merkurino 01 plati tyto hodnoty: if (adc_key_in < 40) return btnESC; if (adc_key_in < 110) return btnLEFT; if (adc_key_in < 300) return btnDOWN; if (adc_key_in < 450) return btnUP; if (adc_key_in < 700) return btnRIGHT; if (adc_key_in < 850) return btnENTER; return btnNONE; // žádné tlačítko není stisknuto } // konec procedura čtení tlačítek -------------------------- void setup() //--- procedura setup -------------------------- { lcd.begin(16, 2); // start the library lcd.setCursor(0,0); lcd.print("Stiskni tlacitko"); // print a simple message } //--- konec procedura setup -------------------------- void loop() //--- začátek nekonečné smyčky -------------------------- { lcd.setCursor(8,1); // přemístí kursor na 2. řádek (1) a 9. pozici lcd.print(millis()/1000); // zobrazí vteřiny od zapnutí lcd.setCursor(0,1); // přemístí kursor na začátek 2. řádku lcd_key = read_LCD_buttons(); // zavolej čtení tlačítka switch (lcd_key) // vyvolej akci podle stisknutého tlačítka { case btnRIGHT: { lcd.print("vpravo "); break; } case btnLEFT: { lcd.print("vlevo "); break; } case btnUP: { lcd.print("nahoru "); break; } case btnDOWN: { lcd.print("dolu "); break; } case btnENTER: { lcd.print("potvrd "); break; } case btnESC: { lcd.print("zpet "); break; } case btnNONE: { lcd.print("nic "); break; } } } //--- konec nekonečné smyčky --------------------------
Napsat komentář
Pro přidávání komentářů se musíte nejdříve přihlásit.