joi, 19 ianuarie 2017

Ceas cu termometru cu Arduino Due si afisaj de 3,95" (10cm)

   Pornind de la cele testate in articolele Afisaj de 3,95" (10cm) pentru Raspberry Pi controlat de Arduino Due si Termostat dual cu Arduino Due si afisaj de 3,95" (10cm) am realizat si un ceas cu termometru (senzor DS18B20), care are si partea de reglaj ceas si data (limba de afisare nume zi se modifica din sketch) daca se incarca sketch-ul clock_ver1.ino.
   Pe canalul de Github, mai sunt 2 versiuni, in romana si engleza,de ceas fara reglaj: clock_ver0.ino, respectiv clock_en_ver0.ino care folosesc schema de baza de conectare:
iar schema de conectare a modului de ceas cu DS3231 si a senzorului DS18B20:
    Pe canalul de youtube, am pus 2 filmulete, cu aceste versiuni:
   Pentru versiunea cu reglaj manual, am adaugat 3 butoane fara retinere, schema devenind:
  In filmuletul ceas si termometru cu Arduino Due pe afisaj de 3.95" (10cm) - 3 se observa cum se prezinta datele pe afisaj si cum se face reglajul la ceas (ora si minute) si data (an, luna, zi inluna, zi in saptamana), care sunt memorate apoi in memoria integratului de ceas DS3231.



Termostat dual cu Arduino Due si afisaj de 3,95" (10cm)

   In articolul precedent, am "pornit" un afisaj de 3,95" (10cm) pentru Raspberry Pi cu ajutorul unei placi de dezvoltare Arduino Due care permite conectarea directa deoarece lucreaza cu nivel logic de 3,3V, acum va prezint un termostat dual (doua zone), despre care am precizat si anterior.
   Schema de conectare este acceasi:
   Initial am conceput sketch-ul (programul) pentru se folosi o schema existenta cu 2 cronotermostate montate deja la o centrala, contactul pentru circuitul de apa calda al centralei, la care am adaugat un modul de ceas cu DS3231 ;i 3 senzori digitali de temperatura DS18B20 (unul afara pentru indicare temperatura exteriaora, unul pentru a citi temepratura dintr-o zona - parter si unul pentru a citi temepratura din cealalta zona - etaj), conform solicitarii lui Romica:
   Pe ecran apare ora, temperaturile din cele 3 zone, o icoana cu un robinet cand se foloseste circuitul de apa menajera, 2 icoane (triunghi-uri) pentru pornirea pompelor de circulatie aferente circuitului respectiv, care indica si faptul ca centrala functioneaza.
   Am pus pe canalul de youtube, mai multe filmulete cu aceasta versiune de (pseudo)termostat, in care am folosit sketch-ul thermostat_06a.ino
termostat dublu cu Arduino Due pe afisaj de 3.95" (4a)
Dual Thermostat with Arduino Due on 3.95" TFT display
   Ulterior, am discutat cu Romica sa facem un termostat adevarat, in sensul de comanda placa Arduino centrala, asa ca am modificat schema, pentru a avea si 3 butoane (MENIU, + si -) din care sa pot regla ceasul, data, limba (romana sau engleza), temperatura dorita din prina zona (parter), temperatura dorita din zona 2 (etaj) si histerezistul (diferenta de temperatura admisa).
  Valorile temperaturilor, cea a histerezisului si a limbii folosite sunt stocate in memoria EEPROM care se gaseste pe modulul de ceas cu DS3231, pentru ca microcontorlerul de pe Arduino Due nu are memorie EEPROM. Sketch-ul care face asta este thermostat_07.ino, iar modul de prezentare al datelor, modul de reglaj se vede din filmulete:
termostat dublu cu Arduino Due pe afisaj de 3.95" (5)
Dual Thermostat with Arduino Due on 3.95" TFT display (2)
03.02.2016
   Sketch-ul thermostat_08.ino functioneza mai bine, deoarece compara valori "reale" nu intregi...

sâmbătă, 7 ianuarie 2017

Afisaj de 3,95" (10cm) pentru Raspberry Pi controlat de Arduino Due

   Dupa teste pe afisaje de 1,8-2,4" (4,5-6,1cm) am trecut la un afisaj cu diagonala de 3,95" (10cm), dupa ce am aflat de la Vlad Gheorghe ca e relativ usor de folosit cel pentru Paspberry Pi. El a folosit un Arduino Nano cu CD4050 ca interfata logica, deoarece Arduino lucreaza cu logica de 5V, iar afisajul cu una de 3,3V fiind pentru Raspberry Pi, daca se foloseste versiunea pentru Arduino, atunci nu mai e cazul sa se foloseasca acele integrate pentru interfatare.
    Modelul meu pentru Raspberry Pi arata asa:
iar cel pentru Arduino este asa:
   Dupa ce am primit destule informatii de la Vlad am conectat si eu un afisajul de Raspberry Pi la un Arduino Due, din 2 motive: unu, ca e mult mai rapid decat Uno, Nano sau Mega si doi ca lucreaga cu logica de 3,3V ca si afisajul.
   Schema de conectare este:
   Dupa ce m-am mai documentat pe net, folsindu-ma de discutiile de pe forumul Arduino, dar folosindu-ma de cele ale lui Vlad, am folosit libraria MCUFRIEND_kbv din care nu merge decat un sketch-ul  graphictest_kbv.ino:
    Testele, le-am facut initial cu versiunea  Arduino 1.6.0 si acum si cu 1.80 si sunt ok...
    Fiind sarbatorile de iarna, inainte de Craciun efectuand rimele teste, am facut un sketch cu urari in mai multe limbi, alternand afisarea "portrait" cu "landscape":
   Am facut si filmulete:




in care am folosit sketch-ul texttest.ino.

   Ulterior am realizat interfata unui termostat cu 3 senzori DS18B20 cu 2 zone supravegheate (etaj si parter), temperatura exterioara si informatii daca a pornit circuitul de apa calda sau pompele de recirculare de la etaj si parter, la solicitarea lui Romica
   Am facut mai multe filmulete, din care va prezint doua:


   Ulterior, am facut un ceas simplu, apoi unul cu reglaj de ora si data+ termometru cu DS18B20, pe care le voi prezenta intr-un articol viitor.
si aici 2 filmulete: