miercuri, 30 noiembrie 2016

Afisaj TFT de 1,8" cu driver ST7735B (7) - alt ceas cu alarma si reglaj manual al datei si orei + termometru si higrometru

article in english

   La versiunea de ceas prezentata in articolul Afisaj TFT de 1,8" cu driver ST7735B (5) - alt ceas cu alarma si reglaj manual al datei si orei + termometru am adaugat un senzor dedicat pentru masurare temperatura si umiditate (in cazul meu un AM2302 cu o rezistenta de 10k, care mai este cunoscut ca DHT22, dar se poate folosi si un senzor DHT11 care are o precizie mai mica). In articolul mentionat, temepratura este furnizata de integratul DS3231 care foloseste aceasta functie pentru compensarea erorilor ca ceas la variatii de temperatura.
   Schema este ca cea din articolul anterior, doar i-am adaugat senzorul de temperatura si umiditate, conectandu-l la apinul A2
   Incarcand sketch-ul educ8stv_rtctft160_alarm_dht.ino pe ecran avem informatiile:
- numele zilei, in engleza, dar se poate modifica usor in romana;
- data
- ora
- ora alarmei, cu albastru daca este dezactivata alarma, cu alb daca este in asteptare si rosu cand este activata (alarma s epoate dezactiva sau pune in stare de asteptare prin apasarea butonului separat ALARM)
- temperatura
- umiditatea
   Prin apasarea repetata a butonului MENU/OK se intra in modul de schimbare al datelor, intai ora, minutele, numele zilei (numarul zilei in saptamana), anul, luna, ziua, ora si minutele alarmei. Modificarea valorilor se face din butoanele + si -.
   Dupa teste, am realizat ca am o varianta mai buna cu memorarea orei de alram si a starii ei in eeprom, asa ca am modificat ultimul schetch cu aceasta facilitate si am introsiud partea de denzor DHT, asa ca ultima versiune este educ8stv_rtctft160_alarm_eeprom_dht.ino.
   Am facut 2 filmulete in care se prezinta modul de afisare si de schimbare a orei si datei:



vineri, 25 noiembrie 2016

Afisaj FDS-125 controlat de o placa Arduino (2)

english version


    In prima parte, am prezentat cum am conectat afisajul FDS-125 la o placa Arduino Uno si ca am reutit sa scriu niste mesaje, inclusiv un ceas cu data, doar ca modul de afisare este prea "static".
   Schema de comenctare al modulelelor la placa Arduino Uno este simpla:
   Am facut cateva modificari in sketch pentru a aparea si numele zilei (biling: romana si engleza)
    Incarcand sketch-ul FDS125_clock1b.ino, pe randul de jos este mereu ora, iar pe randul de sus, data, numele zilei in romana, iar data, numele zilei in engleza, dupa cum se vede si in filmuletele urmatoare:
   Pentru ca sketch-ul sa functioneze, trebuie ca in subdirector sa fie si fisierul font75.h, dupa cum se vede in imaginea de mai jos
   Am adaugat un senzor de temperatura AM2302 (DHT22) la pinul D8, schema devenind
   Scketch-ul folosit pentru a avea alternativ, tot pe randul de sus si temperatura si umiditatea relativa, este FDS125_clock_RTC1c.ino si informatia se prezinta astfel:
   Dupa cum se observa, pentru grad am folosit o cratima, in aceasta faza, dupa cum se vede is in filmuletele:
   Dupa asta am modificat fisierul care definea cratima pentru a aparea semnul de grad ( e vorba de fisierul font75.h care trebuie sa fie pus in subdirectorul sketch-ului). De asemenea, am facut modificari in sketch (vezi FDS125_clock_RTC1c1.ino), pentru ca la citirea datelor din senzorul de umiditate si temperatura se pierde un timp si apare o stingere a afisajului si astfel clipeste si ora, astfel ca acum am ora pe randul de jos cat timp apare pe randul de sus data si numele zile bilingv, apoi se afiseaza pe randul de sus temperatura si pe cel de jos umiditatea
dupa cum se vede si in filmuletele care urmeaza:

miercuri, 23 noiembrie 2016

Afisaj FDS-125 controlat de o placa Arduino

english version

   Intrand in posesia unui afisaj mai deosebit, prin bunavointa lui Janos Baricz, a trebuit sa "sap" dupa informatii despre el... din pacate ce informatii de gasesc doar despre FDS-132.
   Aceste informatii le-am gasit pe urmatoarele site-uri sau bloguri:
circuitsonline.net (Baco Led Matrix)
libraria FDS132-textdriver
arduinoforum.nl (Lichtkrant Surtronic FDS-132)
FDS132 ledmatrixbord
   Din ultimele 2 am folosit cele mai multe informatii, legate de modul de conectare la o placa Arduino, dar si de comanda.
   Panoul FDS-125 are 2 randuri de afisaje, fiecare din 12 afisaje de 5x7 leduri (deci 60 coloane si 7 cu 7 randuri), ele sunt comandate de registre de deplasare si amplificatoare, exact ca si cel prezentat in articolele mentionate mai inainte.
   Pentru a putea folosi panoul, se extrage microcontrolerul Lattice MACH211 si se conecteaza 8 fire de comanda, dupa cum apare in imaginele urmatoare:
   Janos a facut adaptarea prin extragerea controlerului Lattice si alimentarea integratelor de pe placa astel:
astfel ca am:
- A, fir verde, conectare la D5 Arduino
- B, fir roz, conectare la D6 Arduino
- C, fir alb, conectare la D7 Arduino
- STROBE, fir galben, conectare la D10 Arduino
- DATA, fir mov, conectare la D11 Arduino
- CLOCK, fir gri, conectare la D13 Arduino
- RESRED, fir albastru, conectare la D9 Arduino
- GND, fir negru, conectare la GND Arduino

   Legarea la Arduino se face dupa schema redesenata de mine:
   Dupa ce am testat cateva sketch-uri de pe forum, am reusit sa-l "aprind"
si sa-mi dau seama cum se trimit datele... asa ca am modificat un sketch mai de final de pe forumul olandez, acesta devenind FDS125_clock.ino si asa am obtinut un ceas care prezinta si data:
   Pentru aceasta am adaugat un modul de ceas cu DS3231 conectat pe i2c, schema de test fiind:
   In filmuletele urmatoare se vede modul de prezentare al date pe randul de sus si al orei pe cel de jos:


   Modul asta de afisare este prea static, asa ca intr-un articol viitor voi prezenta si versiuni mai animate, cu numele zilei (in romana siu engleza), temperatura si umiditatea relativa a aerului, etc.

marți, 22 noiembrie 2016

Afisaj TFT de 1,8" cu driver ST7735B (6) - ceas dublu cu reglaj manual al datei si orei

english version


   Dupa ce am prezentat pe blog(uri) si pe canalul de youtube ceasul cu reglaj al datei si orei cu date pe afisaj de 1.8", am primit o solicitare de scriere a unui sketch pentru un ceas dublu/dual, pentru ora GMT/UTC si ora locala.
   Am folosit aceeasi schema de conectare ca in articolul Afisaj TFT de 1,8" cu driver ST7735B (3) - ceas cu reglaj manual al datei si orei + termometru
doar ca sketch-ul este TFT_DualDigitalClock_RTC2.ino
    Am pastrat partile bune, sa zic asa, in care pot regla data, ora, cat este de fazajul orei locale fata de ora GMT/UTC, dupa cum se vede si in filmuletele:
ceas reglabil dublu cu DS3231 pe afisaj de 1.8" cu ST7735
adjusting dual clock using DS3231 on 1.8" ST7735 display

Afisaje HDLO-2416 cu 4 caractere alfanumerice din 5x7 puncte fiecare

english version

    Am intrat in posesia unor afisaje deosebite fabricate de Avago Technologies (vezi fisa de catalog) datorita lui Janos Baricz (caruia i-am "pornit"si un afisaj VFD cu 20 caractere alfanumerice din 14 segmente, vezi articolul Afisaj VFD ITRON FG209M2 controlat de Arduino prin intermediul a 2 integrate MAX6921).
   Pentru a putea lucra usor cu aceste afisaje, Janos a montat 5 afisaje pe un cablaj, avand fire colorate diferit pentru fiecare pin de comanda sau alimentare, astfel:
Alimentare:
1) +5V, fir rosu
2) GND, fir negru
Comanda afisaje:
3) CE1, fir gri-albastru, pentru control afisaj din dreapta
4) CE2, fir gri-roz, pentru afisajul 2
5) CE3, fri gri-maro, pentru afisajul din mijloc
6) CE4, fir gri-rosu, pentru afisajul 4
7) CE5, fir gri-verde, pentru afisajul din stanga
Comanda caracter alfanumeric:
8) A0, fir galben-rosu
9) A1, fir galben-negru
Comenzi generale:
10) WR, fir alb-albastru
11) CU, fir alb-rosu
12) CUE, fir alb-negru
Adresa caractere predefinite:
13) D0, fir mov
14) D1, fir alb
15) D2, fir galben
16) D3, fir maro
17) D4, fir verde
18) D5, fir gri
19) D6, fir albastru

   Afisajul HDLO-2416, conform fisei de catalog are urmatoarea configuratie:
iar tabelul de caractere cand CU este la +5V, iar CUE la masa (GND).
   Modulul cu cele 5 afisaje HDLO-2416 cu cate 4 caractere alfanumerice fiecare, are si 5 pini de selectie a afisajului cu comanda logica inversa (comanda cand sunt la masa, asa ca se pot comanda cu un 74HC138, pentru reducerea numarului de pini de comanda).
   Inspirandu-ne din articolul de la http://gorgusgfx.se/?page_id=62 care are un sketch de test pentru un afisaj asemenator (DLR3416), am conectat la o placa compatibila Arduino Uno astfel:
   Dupa cum se observa, apare acelasi text in cele 5 module...
   Dupa asta, am conectat pinii de selectie ai modulelor (CE1 la A0, CE2 la A1, CE3 la A2, CE4 la A3 si CE5 la A4)
si am obtinut control independent al fiecarui caracter:
   Dupa ce am vazut libraria IntMatrixDisp, am discutat cu Janos si a realizat modulul cu cele 5 afisaje ca in schema de acolo, iar eu am testat ulterior si partea cu decodificatorul 74HC138 (C1 la A0, C2 la A1 si C3 la A2):
si am "economisit" 2 pini, folosind doar 3 pini in loc de 5...
si am scriu un sketch pentru controlul afisajelor (HDLO-2416_test5.ino
   Am facut si niste filmulete:
placa cu 5 afisaje HDLO-2416 si Arduino
placa cu 5 afisaje HDLO-2416 si Arduino (2)
five HDLO-2416 display modules with Arduino
   Am mai modificat in sketch pentru a putea controla mai usor caracterele si am simulat un senzor de temperatura si umiditate (am folosit functia random), dupa cum se vede in filmuletul placa cu 5 afisaje HDLO-2416 si Arduino (3)
dupa care am montat la pinul D12 un senzor DHT22 (AM2302) si am folosit sketch-ul HDLO2416_DHT1.ino.
 
    Sketch-ul e flexibil, astfel ca se pot folosi date in limba romana sau engleza
 ,
dupa cum se vede in cele 2 filmulete:
- termometru si higrometru cu DHT22 pe afisaje HDLO-2416 folosind Arduino
DHT22 temperature and humidity with Arduino on HDLO-2416 display
   Am pus si un modul de ceas cu DS3231 si am completat sketch-ul pentru a putea obtine informatii de la modulul RTC. Sketch-ul este HDLO2416_DHT_RTC1.ino...
si am facut si niste filmulete:
ceas cu date meteo pe afisaje HDLO-2416
ceas cu date meteo pe afisaje HDLO-2416 (2)
RTC clock with DHT weather data on HDLO-2416 display