Arduino 2 laidų LCD skydas 2015.03.30 at 14:06
Angliškai tas dalykas vadintųsi Arduino two wire LCD shield. Šitas truputį geresnis už tą, siūlomą Internete – vietoj paprasto diodo su varža čia įmontavau tikrą IR loginį elementą, bet naudoja tą pačią ShiftRegLCD123 biblioteką. Viskas veikia, raudonas LED rodo, kad yra maitinimas. Visi pinai „perkelti” specialiom šukom ir gali būti naudojami taip, lyg jungimas būtų tiesiai prie Arduino. Išskyrus 7 ir 8 piną – šitie panaudoti duomenų šėrimui į LCD skydą. Kol dar turiu PCB, kam patinka – plika PCB 6 €, surinkta 25 €, neskaitant siuntimo išlaidų (PCB Kaune). Keletas paveiksliukų:
PCB yra čia, o programa labai paprasta, tik parodyti, kad šitas stebuklas veikia:
#include <ShiftRegLCD123.h> long int laikas = 0; // Laiko kintamasis const int dataPin = 8; // Data signalas iš Arduino 8 kontakto const int clockPin = 7; // Clock signalas iš Arduino 7 kontakto ShiftRegLCD123 lcd(dataPin, clockPin, SRLCD123); void setup() { pinMode(13, OUTPUT); // Inicializiejam 13 kontaktą LEDo uždegimui lcd.begin(16,2); // Inicializuojam LCD ekraną (16x2 konfigūracija) lcd.noCursor(); // Nustatome, kad kursorius ekrane nebus rodomas } void loop() { laikas = millis()/1000; // skaiciuojam laiką nuo starto lcd.print("Laikas nuo strt:"); // parašom teksta lcd.setCursor (0,1); // Nustatom kursorių į antros eilutės 1 langelį lcd.print (laikas); // Rašom tekstą lcd.setCursor (7,1); // Nustatom kursorių į antros eilutės 7 langelį (pirmas būtų 0) lcd.print("sekundziu"); // parašom teksta digitalWrite(13, HIGH); // uždegam LEDą delay (500); // Laukiam 500 ms, kad pamatyti tekstą ekrane digitalWrite(13, LOW); // Gesinam LEDą lcd.clear (); // Išvalom ekraną kiekvieno LOOP ciklo pabaigoje }