|
SK LABS Raspberry Pi i drugi SBC (Single-Board Computer), Arduino, hardver, softver, projekti, diskusije... |
|
Alatke vezane za temu | Vrste prikaza |
1.7.2017, 23:21 | #1 |
V.I.P. Recenzent
Član od: 8.11.2008.
Lokacija: XV535
Poruke: 3.198
Zahvalnice: 767
Zahvaljeno 1.024 puta na 568 poruka
|
1602 LCD i Ardiuno UNO
Nekako mi je u startu najzanimljiviji bio rad sa displejom. Senzori i moduli su ok, ali na kraju opet dolazimo do toga da dobijene vrednosti treba negde da prikažemo. U pomenutom starter kitu u prethodnom članku sam rekao da se dobija i 1602 LCD pa ću reći koju reč o njemu.
LCD koji se dobija je jedan od najzastupljenijih u Arduino svetu. Iz naziva vidimo da ekran ima 16 kolona u 2 reda. Postoje i ekrani 8x1, 8x2, 10x2, 16x1 i meni najzanimljiviji 20x4 o kome će biti reči nekom drugom prilikom. Ovaj ekran koristi Hitačijev HD44780 kontroler a kompletan datasheet možete pročitati ovde. Ekran je dakle sposoban da ispiše dva puta po šesnaest karaktera, što će reći 32 karaktera. Svaki karakter se ispisuje u polju od 5x8 piksela. Množenjem 32 grupe od po 40 piksela dobijamo 1280 piksela, kojim se, uz malo dublje programiranje može napisati i/ili izcrtati mnogo toga. Za sada ćemo se pozabaviti osnovnim povezivanjem sa Arduinom i ispisivanjem običnog teksta. Ekran može doći u više varijanti: bez zalemljenih pinova, sa zalemljenim pinovima i sa zalemljenim IIC/I2C serijskim interfejsom. Ovaj treći se povezuje drugačije i o njemu će isto biti reči neki drugi put. Prva dva su ona o kojima ću pisati. Bez obzira da li došao sa zalemljenim pinovima ili ne, postupak povezivanja je isti. Jedino što u prvom slučaju treba da radi lemilica. A kad smo kod pinova, da kažemo čemu koji služi:
|
1.7.2017, 23:22 | #2 |
V.I.P. Recenzent
Član od: 8.11.2008.
Lokacija: XV535
Poruke: 3.198
Zahvalnice: 767
Zahvaljeno 1.024 puta na 568 poruka
|
Re: 1602 LCD i Ardiuno UNO
Za početak ćemo ispisati običan tekst na ekranu, a da bi to uradili potrebne su nam komponente, potrebno je da ih ispravno povežemo i na kraju potrebno je da napišemo neophodan skeč. Za ovaj "recept" nam trebaju:
Žice povezujemo prema Fritzing skici a boje naravno nisu bitne. U mom slučaju povezivanje je sledeće:
Kao što vidite, povezivanje je školsko. D pinovi ekrana koje koristimo su oni koji podržavaju 4-bitni i 8-bitni prenos podataka iako možemo povezati ih sve i tako zauzeti sve pinove na Arduinu. Otpornik je tu da ograniči napon ka LED pozadinskom osvetljenju. Recimo ako koristimo 9V bateriju kao izvor napajanja, bez otpornika ćemo je mnogo brže potrošiti, a da ne pominjemo eventualno oštećenje pozadinskog osvetljenja. Potenciometar je tu da bi se podesio neophodan kontrast. U principu se može i bez njega uz neophodna merenja otpornosti i kalkulacije potrebnog otpornika, što gubi smisao. Dalje je na redu skeč. Preko Arduino IDE softvera programiramo skeč koji prebacujemo na UNO. -------------------------------------------------------- #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // put your setup code here, to run once: lcd.begin(16, 2); lcd.print ("ITstreet"); lcd.setCursor (0, 1); lcd.print ("www.itstreet.org"); } void loop() { // put your main code here, to run repeatedly: } ------------------------------------------------------- Prvo "inkludujemo" biblioteku neophodnu da bi UNO imao pojma šta da radi sa ekranom. Zatim govorimo koje pinove sa Arduina će ekran koristiti za prenos podataka. Mi smo upotrebili pinove 12, 11, 5, 4, 3 i 2. U void setup funkciji dodajemo sledeće linije: -prva je odakle će ekran početi da ispisuje tekst -druga je šta ispisuje -treća spusta kursor na red ispod -i četvrta ispisuje drugi deo teksta Void loop funkcija nam za sada nije neophodna. Ona se može upotrebiti i u ovom slučaju, ali u principu se koristi za programiranje radnje koja se ponavlja. Recimo ako smo hteli da nam tekst blinka ili da se skroluje. Na redu je upload skeča na UNO. Podrazumeva se da su UNO i ekran propisno povezani i da je UNO povezan sa računarom. Ukoliko je UNO CH340G potrebno je instalirati drajvere. Zatim biramo ploču. Idemo na tools->board->Arduino/Genuino Uno. Dalje biramo PORT: tools->PORT->i tu biramo port. Ako ne znamo koji je port zauzeo UNO, idemo na device manager i tu možemo videti koji je port u pitanju. Na redu je opcja verfy gde će IDE proveriti kod i ukazati nam na eventualne greške i na kraju upload. Ukoliko je sve povezano kako treba i skeč ispravno napisan i uploadovan na UNO, tebalo bi da nakon par terptaja LED na njemu ekran ispiše tekst. Ako ne, onda "double check" sve. Uz dodavanje par linija koda možemo menjati ispis na ekranu, postaviti da nam tekst blinka, da skroluje, dodeliti zadršku u milisekundama... Za sada toliko, do sledećeg skeča. Poslednja ispravka: Dekip (2.7.2017 u 0:12) |
Sledeći korisnik se zahvaljuje korisniku Dekip na korisnoj poruci: | ||
igor7 (18.7.2017) |
Bookmarks sajtovi |
|
|
Slične teme | ||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Anno 1602 | DaAli | Strateške igre | 5 | 10.7.2007 1:29 |