ArduShop.ro

ArduShop.ro
cod tehnic.go.ro_02 reducere 5%, pentru vizitatorii paginilor mele !

joi, 19 ianuarie 2017

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...

7 comentarii:

  1. Buna ziua. Ajutati-ma va rog sa sterg robinetul din codul : thermostat_07.ino (thermostat_08.ino nu functioneaza pe MEGA) . Vreau sa folosesc codul pentru automatizarea unei centrale pe lemne , am reusit sa fac ecranul sa arate alt fel , sa pun temperaturile in alte zone ale ecranului , sa mut triunghiurile si sa le micsorez dar nu reusesc sa sterg robinetul de acolo , inclusiv patratica neagra care il face sa dispara cand se deschide contactul (26-gnd). Va multumesc .

    RăspundețiȘtergere
    Răspunsuri
    1. buna ziua, din pacate, a trecut cam mult timp de atunci.. trebuie sa fie un nume cu robinet, ceva romanesc... sa-l comentati.... stau foarte rau cu timpul liber si nu stiu cand reusesc sa ma uit prin cod...

      Ștergere
    2. comentati liniile 616-623
      /*
      if (digitalRead(robinet1) == LOW)
      {
      robinet (ics1, igrec1);
      }
      else
      {
      stergere1 (ics1, igrec1);
      }
      */

      Ștergere
  2. nu vrea :
    C:\Users\User\Documents\Arduino\libraries\MCUFRIEND_kbv-master\MCUFRIEND_kbv.h:32:113: internal compiler error: Segmentation fault

    virtual void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color) { fillRect(x, y, 1, h, color); }

    ^

    Please submit a full bug report,

    with preprocessed source if appropriate.

    See for instructions.

    lto-wrapper.exe: fatal error: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.19.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-gcc returned 1 exit status

    compilation terminated.

    c:/program files/windowsapps/arduinollc.arduinoide_1.8.19.0_x86__mdqgnx93n4wtt/hardware/tools/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/bin/ld.exe: error: lto-wrapper failed

    collect2.exe: error: ld returned 1 exit status

    RăspundețiȘtergere
    Răspunsuri
    1. daca a mers pana acum ce am zis sa comentati nu influenteaza decat ca afisare... poate ati comentat prea mult sua prea putin

      Ștergere
  3. pe arduino uno se incarca dar nu am pini pentru ceas si senzori ... si imi mai apare ca memoria este foarte redusa , pot aparea probleme de stabilitate

    RăspundețiȘtergere