Arduino pt. 2
Se še spomnite ko sem pisal o pomanjkanju dokumentacije za kalkulator?
Danes sem ugotovil da so neke stvari še dosti slabše dokumentirane
Recimo LCD display (ki sem ga dobil zraven š-arma). Hotel sem ga priklopiti na arduina in uporabljati s pomočjo (že spisane) knjižnice za lcdje.. ampak seveda ni delalo. In potem na strička googlea iskati datasheet za edino stvar, ki je napisana na displayu.. torej "EW162B0GLY"... in našel sem tale datasheet. Polom! Nikjer tudi ne piše kater driver je spodaj?! Šele po brskanju po š-armovi knjižnici io.c/io.h sem ugotovil da je to nek Hitachijev crap. In potem dekodirat razne inicializacije, kako se postavi kurzor na začetek, in kako izpisati lastne znake... ampak to sem si pustil za kak drug dan....
Žal mi je da nisem že takrat kupil serijskega lcd-ja... ker te paralelni porabijo preveč pinov... čeprav 30$ za tak displayček je pa tudi malo preveč.
No ja.. pa da se ne bom samo piz**il, bom dodal še eno fotko
in ja... je slikano na postli (ker mi je zmanjkal placa na mizi)... LCD-ja se ne vidi od spredaj ampak od zadaj, ker tako, improvizirano1, povezan z arduinom bolj težko stoji na pravi strani. Po nekaj ciklih (ko dela nevemkaj) se na ekranu izpisujejo "qrstuvwx" namesto "abcdefgh"... če zamaknem za 16 znakov, pa se iste črke pokažejo v UPPERCASE-u... kar mi tudi ni čisto jasno zakaj... pa naj bo tudi to za kdaj drugič. Našel sem tudi adapter2, da lahko arduino dela tudi brez računalnika... Voltmeter je pa služil predvesem za preverjanje povezav, da ni slučajno katera prekinjena...
In ja... od zdaj, če ima kdo željo da mi reče "RTFM", naj mi ga prvo prinese (manual seveda)

Tema je sicer mal outdated, vseen bi neki dopolnu:
kot nek nek "Hitachijev crap" vrjetno mislš Hitachi HD44780, ki je dost pogosta zadeva. Priporočam kšn drug datasheet, ker so vsi te ekrančki zelo podobni.
P.S: Če mate možnost uporablite grafične ekrančke
tale cela zadeva z lcdjem mi ni dala miru, in dons k sm imel malo časa sem poiskal šarm in se lotu tega famoznega ekrančka. Stvar dela, jst sm vidu sam en problem, ki ni problem, če bi bil pravino dokumentiran. Torej: Pini grejo v sledečem vrstnem redu: 16, 15, 1, 2, ....13, 14. 14 je označena na zadnem delu modula ekrana.
Celotno zadevo sem povezal sledeče:
11-14 : DATA (pini na arduino)
15, 16: svetlost ekrana (16-, 15+). Na plus sem peljal direktno 5V iz arduina, na minus pa 5V preko potenciometra 47kOhm. (lahko bi dal kaj manjšega, pa nisem imel na zalogi).
1: GND
2: 5V
3: V0 (LCD Driver): podobno kt minus od svetlosti (na eno skrajno nogo minus, drugo plus, srednjo nogo na pin 3)
4: Reset : pini na arduino
5: R/W select: Sem povezal na GND
6: Enable : pin na arduino
uporabu sem knjižnico LiquidCrystal.h
Vse kar je potrebno je definicija pinov v pravem vrstem redu: Reset, enable, data pini
Neka relativno minimal koda ki mi dela:
#include
LiquidCrystal lcd(3, 2, 10, 11, 12, 13);
void setup() {
lcd.begin(16, 2);
}
void loop() {
for (int i=64; i<127; i++)
{
lcd.clear();
lcd.write(i);
delay(800);
}
}