LAKI PINGVINI<>
062019<><>

Croduino Nova2 i Maker Display

Puna korpa LED-a

Momčad iz E-radionice iz susedne Hrvatske su nam poslali neke od svojih noviteta. Pre godinu i po dana (SK 11/2017) smo imali prilike da probamo nekoliko ploča iz njihove ponude i tada smo rekli da su u pitanju odlične ploče, bez mušica, sa dobrom podrškom, prihvatljive sa cenom i, možda ono najbitnije, tu su za nedelju dana. Pravo je čudo da se još uvek niko nije prihvatio posla da ih distribuira ovde.

Nova2

 
Kada smo prošli put pisali o Croduinu, na stolu smo imali Nova ploču za koju smo rekli da je u suštini NodeMCU. Ovaj put smo dobili naslednika Nova2, koji na sebi nosi neke novitete, ali i ispravlja nekoliko sitnih nedostataka. Prvo što možemo da kažemo je da je u pitanju malo šira ploča (za 0,1 inč), koja ipak ostavlja po jedan red sa strana na breadboard ploči. Ovo je doprinelo da su nazivi pinova dosta čitljiviji u odnosu na stariju Novu. Sam pinout je identičan prethodniku, a govorimo o direktnim GPIO izvodima ESP8266 modula. Inače, modul je ESP8266-12F o kome je više puta bilo reči na stranicama SK LABS, ali reći ćemo samo to da „12F” u oznaci znači da modul ima FCC i CE sertifikate. Preko pomenutih izvoda imamo devet digitalnih GPIO od kojih svi podržavaju PWM. Takođe, tu su i dva analogna pina, A i A_e, gde oba vode do jedinog ADC koji ESP8266 ima. Kao i kod starije Nove, ove analogne pinove koristimo u zavisnosti od upotrebljenog napona (jedan ili pet volti). Digitalni GPIO imaju standardne mogućnosti povezivanja I2C, SPI i Serijskog interfejsa. Novitet je built-in LED na pinu 13, pored one na samom modulu (pin 2). Nova2 dva je i duža od Nove, što je rezultiralo i nekim promenama u rasporedu komponenata. Prvo što primećujemo je promenjen UART čip za komunikaciju sa računarom i ovde je to dobro poznati CH340, a za povezivanje i prebacivanje skeča tu je standardni mikro USB port. Za razliku od Nove, ali i sličnih NodeMCU-olikih ploča, ovde imamo samo ’Reset’ taster. ’Prog’ dugme je izostavljeno, a za vreme koliko smo maltretirali Novu2, nijednom nismo imali potrebu za njim. Na ploči imamo i tri LED, TX, RX i PWR, kao i kod prethodnika. Ono što pravi osnovnu razliku u odnosu na staru Novu su dva konektora, JST i easyC. Ploče zasnovane na ESP8266 su veoma podesne za razne projekte gde se koristi bežično povezivanje. JST konektor LiPo baterije i strujna kola za njeno punjenje su odličan iskorak i daju mogućnost ploči da se koristi u portable projektima. Za upravljanje punjenjem i pražnjenjem baterije je zadužen TP4056 kontroler koji smo i mi često koristili u našim DIY projektima i možemo potvrditi da se radi o pouzdanom komadu silicijuma. Kao i kod modula koje smo mi koristili i ovde imamo dve LED, DONE i CHRG koje će nam govoriti o stanju baterije. Konektor easyC je namenski četvoropinski port E-radionice i koristi se za povezivanje I2C senzora i aktuatora. Ovakve sisteme koriste i drugi proizvođači, poput Groove koje koristi Seeedstudio. Odgovarajuće module i kablove E-radionica ima u svojoj ponudi i sistem može biti odlična stvar kod brze zamene ili dodavanja novih modula ili senzora.

E-radionica i dalje nema „svoje ploče” u okviru IDE, pa tako za ovu biramo Generic ESP8266 Module, a za reset metod nodemcu. Isto kao kada smo govorili o prethodniku, ni ovde nismo imali nikakvih problema prilikom prebacivanja skeča i rada same ploče. Iskreno, uzimajući u obzir kvalitet izrade, nismo ni sumnjali. Probali smo i par standardnih skečeva koji koriste Wi-Fi i nismo imali nikakvih problema. Nova2 radi bez pogovora.

Maker Display

 
Ono što smo priželjkivali da nađemo u paketu koji su nam poslali momci iz E-radionice smo i dobili. Govorimo o pravom mejkerskom projektu pod nazivom Maker Display. Ploča je zamišljena da preko LED matriksa omogući ispis teksta, pa čak i bitmapa. Naravno, LED matriks omogućava svakojake animacije, a kada tome dodamo i ESP8266 modul, jasno je da su ograničenja ploče vrlo visoka.

U ponudi su dve ploče, a razlikuju se samo po broju LED i naravno, veličini. Tako imamo Maker Display 32x9 i Maker Display 64 x 9, gde su kod ovog poslednjeg samo duplirane LED i drajveri. Takođe, može se birati više boja, a mi smo dobili sa belim LED koje su lemljene pod 45 stepeni, što je učinjeno da bi se postigla veća gustina i stekao utisak da su tačke matriksa i po visini i po širini isto razmaknute. Za upravljanje ovolikim brojem LED su upotrebljena dva IS31F3731 matriks drajvera, za svaku 16 x 9 grupu LED po jedan. Ova dva drajvera upravljaju sa ukupno 288 LED i omogućavaju 8-bitno osvetljenje, bafer za osam frejmova, a za komunikaciju sa ESP8266 koriste I2C pri 400 kiloherca. Uz IS31FL3731 nisu neophodni otpornici, jer čip ima mogućnost PWM ka svakoj pojedinačnoj LED. Ovakav način upravljanja LED matriksom uz korišćenje samo par pinova mikrokontrolera se naziva Charlieplexing. Ekran ima dijagonalu od 3,2 inča sa gustinom od 7,08 piksela po inču. Ono što je jako zanimljivo jeste da su promene na ekranu manje od deset milisekundi, što omogućava renderovanje od čak 100 frejmova po sekundi.

Ekran se može napajati preko mikro USB porta ili preko LiPo baterije, koja je predviđena da stoji iza ekrana i da se JST priključak provuče kroz otvor na ploči. Na internetu ćete možda naleteti na podatke o pogrešnom polaritetu ženskog JST konektora na ploči, što i jeste bio problem kod prototipne verzije (koju smo i mi dobili) i na ovim pločama JST konektor i nije zalemljen. Kod produkcijske verzije ovaj problem je ispravljen i ploča dolazi sa zalemljenim i potpuno ispravnim JST konektorom. Za punjenje baterije je ovaj put upotrebljen linearni kontroler MCP73831. Ovaj kontroler ima visoku preciznost u regulaciji napona, a programiran je da bateriju puni strujom od 500 miliampera. Preturajući po elektronskoj šemi ploče, videli smo da je E-radionica povezala bateriju preko naponskog razdelnika na analogni pin ESP8266, što će reći, uz malo logike u okviru skeča možemo imati jasna očitavanja stanja baterije i isto to prikladno prikazati na ekranu same ploče. Ovi kontroleri su inače jako zahvalni i ne traže mnogo dodatnih komponenti. Maker Display pored ESP8266 ima i prekidač kojim se gasi samo mikrokontroler i LED matriks, ali ne i strujna kola za punjenje baterije. Naravno, nije izostavljen ni easyC konektor za dodavanje I2C senzora i aktuatora, a ploča sa donje strane ima i šest padova koji vode direktno ka ESP8266, gde imamo GND, 3V3 i četiri izvoda ka GPIO.

Za programiranje ESP8266 imamo šest otvora na ploči na koje je poželjno zalemiti ženski heder. Uz Maker Display smo dobili i Nova Programmer zasnovan na CP2102 UART čipu. Nažalost, nisu ispisane oznake, kako na ploči, tako i na programatoru, što je možda i malo čudno ako znamo da E-radionica sve uredno dokumentuje (inače, kompletna šema je dostupna na GitHubu). Za programiranje Maker Display je potrebno preuzeti dve biblioteke, Maker_LED_Matrix i IS31FL3731, koje možete preuzeti sa GitHuba (Borna Biro). S obzirom na to da se grafički sistem ispisivanja teksta i bitmapa oslanja na dobro poznatu Adafruit_GFX biblioteku, jasno je da je programiranje ove ploče jako intuitivno. Ovde nije u pitanju bukvalno prekopirana Adafruit biblioteka, već je u pitanju drugačiji pristup. Dok se kod Adafruit biblioteke svaki piksel ispisuje odmah preko I2C protokola, dolazi do usporavanja protoka podataka. Kod IS31FL3731 biblioteke se celokupna slika koja će biti ispisana na ekranu prvo generiše u memoriji, pa tek onda ide ka drajverima, a samim tim i ekranu. Ubrzanja su osetna, a dodaćemo i to da je programator Nove jako zanimljiv iz razloga što se na njemu već nalaze strujna kola za automatsko prebacivanje skeča na barebone ESP8266/ESP32 module, to jest, uz ovaj programator nisu neophodni nikakvi tasteri, niti bilo kakve druge komponente. Jasno je da se može koristiti i za druge ESP module, a ne samo za Maker Display. Eventualni problemi sa bibliotekama ispravljeni su u novim verzijama, pa proverite odgovarajuću GitHub stranu.

LED matriks nije zamišljen da radi preko programatora, što će reći, iako smo skeč uredno prebacili i ESP8266 se resetovao, efekat nećemo videti sve dok ploču ne povežemo sa odgovarajućim napajanjem. U tom slučaju će ekran odmah nakon reseta prikazati šta treba. Zanimljivo je da ako odvojimo napajanje dok traje loop i ispisivanje na ekranu, on će nastaviti dalje, ali dosta slabijim osvetljenjem LED matriksa. Razlog tome je da USB port računara ne može da isporuči neophodnu količinu struje preko programatora. Naša merenja su pokazala da ploča prilikom najveće gustine ispisivanja na ekranu ne vuče više od 90 miliampera, što uzimajući u obzir broj LED i nije mnogo.

Za potrebe ovog teksta smo blago prepravili skeč koji smo koristili kada smo pisali o TTGO ESP8266 oled ploči (SK 10/2018). Po teoriji, isti mikrokontroler, drugačiji ekran, šta može da krene pogrešno? Skeč možete preuzeti sa adrese bit.ly/2ZXTHB7. Dodajemo Maker_LED_Matrix, ESP8266WiFi i ArduinoJson biblioteke, gde kod ove poslednje koristimo verziju 5.xx. Ukoliko koristite noviju 6.xx verziju, potrebno je izmeniti deo u skeču koji se tiče Json objekta. Kao i kada smo radili sa TTGO, i ovde upisujemo naš SSID i lozinku, zatim API ključ i ID grada, a kako se ti podaci dobijaju, pisali smo u pomenutom tekstu i do njih možete doći na openweathermap.org. U setup funkciji inicijalizujemo objekat ekrana matrix i WiFi. U loop funkciji prikazujemo prikupljene podatke sa servera koji će se osvežiti svakih sat vremena, a u međuvremenu će se vrteti prethodno očitani. Funkciju displayGettingData() koristimo svaki put kada vršimo upit serveru za nove podatke kao svojevrsno obaveštenje da ploča osvežava podatke. Sa getWeatherData() pristupamo serveru i prikupljamo podatke o lokaciji, državi, temperaturi, vetru i slično. U API dokumentaciji na sajtu ovog servisa se može videti kako preuzeti još drugih podataka, i naravno, kako prikupiti podatke za narednih sedam dana. Funkcija displayWeather() nam služi da ispišemo naziv mesta, države i opisno vreme za tu lokaciju. Ovih dana je to uglavnom rainy ili broken clouds. Sa funkcijom displayConditions ispisujemo sve ostale podatke.

Rekli smo da ekran koristi namensku biblioteku preko koje se može ispisati bilo šta od teksta, bitmapa, može se iscrtavati, pa čak i korigovati osvetljenje. Može se zapravo upravljati svakim pikselom (LED) ponaosob. Mi smo u ovom primeru koristili pomeranje teksta nalevo funkcijom message() sa parametrima vezanim za brzinu, broj koraka i smer. Funkcijom brightness() se upravlja osvetljenjem kako teksta, tako i pozadine u koracima od 0 do 255, što i jeste PWM rezolucija. Iako E-radionica napominje da se mogu koristiti i funkcije Adafruit_GFX biblioteke, u vremenu dok ovo pišemo to još nije u potpunosti omogućeno. Pogotovo što treba voditi računa o pozicioniranju teksta/slike kroz prizmu dva drajvera.

Zaključak

Iz komšiluka smo dobili zaista odlične ploče. Nova2 je iskorak u odnosu na prethodnu Novu i tu je sve jasno. Kod Maker Displaya smo dobili pravi mejkerski projekat jedne ekipe koja je u suštini i sama mejker. Ideja za ekran je odlična i odlično funkcioniše u praksi. Naprosto nema mesta gde se ovaj ekran ne bi mogao upotrebiti. Na mreži već ima primera gde je možda najzanimljiviji MakerDisplay_32_WiFiMeter koji je napravio Pauls_3D. Mi za sada nismo videli ništa slično ovom ekranu. Adafruit ima 9 x 16 matriks sa istim drajverom, ali bez mikrokontrolera i pride govorimo o dve ploče koje se ubadaju jedna na drugu. LED matriks 8 x 8 zasnovan na MAX7219 kontroleru se može dodavati u niz, ali je glomazniji i komplikovaniji i opet bez mikrokontrolera. Ono što smo mi već sugerisali ekipi i što bismo voleli da vidimo je to da bi za narednu verziju ekrana trebalo kompletnu elektroniku postaviti iza. Na taj način bimo ekran mnogo lakše ugradili u određena kućišta ili iza stakla i sličnih materijala. I sa tim, sve preporuke za Maker Display.

Dejan PETROVIĆ

 
Ubuntu 19.04
Converseen 0.9.7.2
DIY: Mini meteo stanica
Nuts and Bolts (2): 74HC165 IC
Croduino Nova2 i Maker Display
Šta mislite o ovom tekstu?
Home / Novi brojArhiva • Opšte temeInternetTest driveTest runPD kutakCeDetekaWWW vodič • Svet igara
Svet kompjutera Copyright © 1984-2018. Politika a.d. • RedakcijaKontaktSaradnjaOglasiPretplata • Help • English
SKWeb 3.22
Opšte teme
Internet
Test Drive
Test Run
PD kutak
CeDeteka
WWW vodič
Svet igara



Naslovna stranaPrethodni brojeviOpšte informacijeKontaktOglašavanjePomoćInfo in English

Svet kompjutera