Totalul afișărilor de pagină

test imagine

vineri, 9 decembrie 2016

Comanda led de pe pagina web creata cu WeMos D1 (continuare)

    In primul articol, am prezentat un sistem de control al unui led (releu, contactor, etc) de pe o pagina web protejata cu parola (1234), care are reconectare automata la reteau wi-fi, in caz de pierdere a legaturii cu acesta (oprire si repornire router, de exemplu). Pagina web este realizata folosind tehnica AJAX (pagina statica si doar o parte din informatii se schimba), doar ca in caz de intrerupere a alimentarii sau restartare automata in caz de blocare a paginii web, nu se memora starea led-ului si nici numarul de apasari (numarul de apasari il folosesc pentru a-mi da seama daca lucreaza bine), asa ca m-am gandit sa folosesc memoria EEPROM a integratului ESP8266.
    Am gasit la http://www.esp8266.com/wiki/doku.php?id=arduino-docs partea cu libraria EEPROM si am vazut ca sunt mici diferente fata de cea clasica pentru Arduino, in sensul ca trebuie sa-i spun cate memorie EEPROM folosesc (pasul 1) si sa-i spun clar ca trebuie sa scrie ceva in memorie (pas 2):
   Ca si in cazul anterior, led-ul din dreapta aprins sau clipind indica o problema la conectarea in reteaua wi-fi. 
   Am facut 2 poze, cu cele 2 cazuri, led controlat aprins si apoi stins si langa un telefon cu pagian web de control pe care se vede si starea ledului (verde - aprins si rosu - stins):
    - led comandat aprins (cel din stanga)

    - led comandat stins
   Schema de conectare este aceeasi:
   Sketch-ul led_controlled_from_webpage_auto_eeprom.ino are implementata si partea de memorare, dupa cum se vede si in cele 2 filmulete:


vineri, 2 decembrie 2016

Comanda led de pe pagina web creata cu WeMos D1 (ESP8266)

   Placa WeMos D1 are forma unei placi Arduino Uno, cu interfata USB (micro USB) doar "inima" este un ESP8266EX cu conectare Wi-Fi, care are doar 11 intrari/iesiri digitale si doar una analogica, tensiunea de lucru si comenzi/intrari fiind la 3,3V dupa cum am prezentat si in articolul Prezentare si stocare date pe pagina ThingSpeak (4) - folosind placa WeMos D1.
  Daca folosesc programul Arduino IDE pentru a programa aceasta placa WeMos D1, corespondenta pinilor este
  iar in program (in versiune folosita de mine 1.6.5) gasom placa WeMos D1 cu urmatoarele informatii:
  Pentru a aparea placile cu ESP8266, trebuie intrat in FILE -> PREFERENCES si sa introduceti un link pentru a activa si acesta placi:
dupa care in TOOLS -> BOARD->BOARDS MANAGER
vede si date suplimentare despre placile care se pot incarca cu acest program
    Pentru a vedea pasi mai detaliati de instalare a acestor tipuri de placi vedeti articolul Placa NodeMcu v.0.9 programata in Arduino IDE.
   Revenind la comanda unui led de pe o pagina web, am ales sa testez un sketch de pe forumul ESP8266 si anume din discutia GARAGE DOOR OPENER EXAMPLE V2, sketch-ul fiind scris de JoseAngel
   Pagina web este construita folosind tehnica AJAX (pagina statica si doar o parte din informatii se schimba), are si parola de acces (1234).
   Dupa ce am facut mici modificari ale sketch-ului de acolo, am ajuns la versiunea led_controlled_from_webpage.ino unde am un led rosu (direct) pus intre GPIO5 (D15/SCL) si GND; de asemenea am folosit un port anume 8087 si tot parola 1234 pentru a activa butonul de comanda pornit/oprit. pe pagina se vede si starea led-ului.
   Am facut 2 filmulete:
  Placa a fost in teste cam o luna si, uneori, din cauze externe (intrerupere tensiune alimentare, deconectare router de la net, etc), pagina web creata de WeMos era indisponibila.
  Dintr-o discutie cu Mircea Craciun, legata de un alta aplicatie a unei placi cu ESP8266 si aceeasi problema, am aflat un "post" tot de pe forumul ESP8266, care dadea o solutie de reconectare automata la reteaua wi-fi a placii cu ESP8266, asa ca am implementat-o si eu in sketch-ul meu
   Sketch-ul meu modificat este led_controlled_from_webpage_auto.ino
 
  Am conectat si un led de eroare, intre GPIO12 (D12/MISO) si GND.
 
   In schema desenata sunt inseriate rezistente de 330 ohmi cu fiecare led, pentru protejarea placii WeMos, asa ca va recomanda sa le montati.
   La pornirea placii WeMos, ledul rosu clipeste pana se conecteaza la reteaua wi-fi pentru care are datele, apoi ramane stins cat totul este in regula, daca se pierde legatura cu router-ul, ledul incepe sa clipeasca pana se reconecteaza...
   Am facut si 2 filmulete pentru a intelege mai usor cum se dau comenzi si cum reactioneaza pagina si led-ul (consumatorul, etc):

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 p eurmatoarele 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 DHLO-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:
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