Category / Arduino

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ų:

IMAG1467IMAG1470IMAG1471IMAG1472IMAG1473IMAG1474IMAG1475IMAG1476IMAG1477IMAG1478IMAG1479PCB 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
}

Pirmas žingsnis į Arduino 2015.01.28 at 15:26

Taip, taip, pasidaviau ir aš tam reklamuojamam Arduino paprastumui. Bet iš tikrųjų – mano „Hello World” iš karto išvažiavo į LCD 2×16 ekraniuką. Programa laaabai paprasta, vien tam, kad pabandyti kaip visas šitas monas veikia. Pasirinkau Arduino UNO, gavau už gerą kainą (ačiū Mindaugui). Pirmas pasirinkimas buvo Arduino Mini – bet jam papildomai reikėtų USB <> RS232 moduliuko, kainuojančio dar beveik tiek pat kiek pats Mini. UNO jau turi USB konverteriuką taigi, bendrai paėmus atsieina pigiau imti UNO nei Mini + USB<>RS232. Taigi, pirmoji programa:


O pats programos failiukas – čia.

Po geros valandos tyrinėjimų ir taipinimo truputį patobulintas variantas, rodo USB įtampą, skaiciuoja ne sekundes o minutes. Failiukas čia.