duminică, 24 februarie 2019

Ceas matriceal animat si termometru cu ESP8266

    Seby a realizat un altfel de ceas fata de cel prezentat anterior si realizat de Bogdan.
   In filmuletul lui Seby numit LED MATRIX CLOCK ARDUINO AND 3D PRINT CASE se vede cum se prezinta informatia pe ecran, incluzand si temperatura masurata cu un senzor NTC de 10k.
   Schema este simpla
   Seby a pus pe canalul sau de thingiverse.com/marik2500 proiectul realizarii cutiei: 8 X LED MATRIX CLOCK CASE BOX cu ajutorul unei imprimate 3D.
Sketch-ul modifcat de Seby este Matrix_Clock_SCROLL_DOWN_ESP8266_UTC_Temp_ro_text.ino !

Seby mi-a recomandat sa va reamintesc ca intrarea analogica (ca si cele digitale, zic eu) suporta doar 3,3V maxim, iar tensiunea de referinta este de 1V, dupa cum se prezinta si in articolul Esp8266 NTC (Temperature) Thermistor Analog Reading with Arduino IDE

Masurare timpi apasare butoane folosind functia millis()

   Pentru a putea reduce numarul  de butoane sau pentru evitatea intrarii in modul de modificare de parametii se foloseste facilitatea de apasare mai lunga a unui buton. De asemenea, se pot comanda 2-3 iesiri diferite functie de timpul de apasare, ce poate fi indicat optic sau pe un ecran. Aplicatiile sunt multe, una din ele este si cea prezentata in articolul anterior, Modul temporizator reglabil pentru stergatoare de Logan/Renault.
   In mare, se foloseste functia millis(), care indica la momentul accesarii timpul, in milisecunde, de cand a pornit Arduino, de fapt microcontrolerul ATMega.
   Intr-o variabila se stocheaza valoarea cand se apasa butonul si se se verifica daca s-a depasit un timp impus. Eu am pus sa se aprinda un led, iar in ecranul de monitorizare seriala vad cat e tampul de apasare si cu e el fata de cel impus.
  Pentru un buton programul este pushtime1button.ino, iar pentru 2 butoane, cu timpi diferiti este pushtime2buttons.ino.
   Schemele de conectare sunt:
  Am facut 2 filmulete, pentru cazul cu 2 butoane:
masurare timpi apasare butoane folosind functia millis()
measure times using millis()

sâmbătă, 23 februarie 2019

Modul temporizator reglabil pentru stergatoare de Logan/Renault

    Materialul mi-a fost trimis de dl Liviu HINOVEANU si nu am o prea mare contributie la conceperea lui, asa ca daca va intereseaza detalii contactati-l de dumnealui pe email (liviuhinoveanu@gmail.com). Pentru cei pasionati de domeniul auto, tot de la dumnealui am primit materialul cu Modul "Daytime Running Light" (DRL) cu ATtiny85.


   Funcționare modul stergatoare cu temporizare reglabilă
   Timpul de temporizare a stergătoarelor la multe autoturisme este fix .
   Pentru modificarea timpului de temporizare se trece maneta din pozitiain pozitia zero în poziția de ștergere temporizată (pozitia 1 la Logan, Sandero, Renault ), stergătoarele vor stege initial odată apoi  la intervale regulate de 5 secunde cum o facea si UCH-ul si, pentru modificarea timpului se trece maneta din poziția 1 în poziția 0 si se lasa pana cand geamul nu mai ofera suficienta vizibilitate si consideram ca trebuie ca stergatoarele sa baleieze, repunem maneta in pozitia stergere temporizata, moment in care se memoreaza timpul de asteptare in pozitia zero ca timp de temporizare, nici nu ne intereseaza efectiv acest timp si are loc stergerea imediata, urmatoarele stergeri au loc la intervalul memorat.  
   Daca timpul memorat este mai mic de 2 sec sau mai mare de 15 secunde ramane memorat timpul anterior.
   Ce face intrarea de sprituitoare? La apasarea manetei in pozitia spalare geam, UCH-ul stie sa dea o baleiere daca s-a tinut apasat sub 0,3 secunde sau 3 baleieri daca s-a tinut mai mult, uneori lichidul de parbriz mai ajunge pe plafon si dupa 4-5 secunde incepe sa se scurga pe geam, modulul prin intrarea sprituitoare asteapta 5 secunde si mai comanda o încă baleiere .


Montare 
- Firul de la manetă care dădea comanda de ștergere temporizată către UCH (A1 la Logan) se taie.
Capătul dinspre maneta(ieșirea manetei) se leagă la intratea temporizată a modulului.
Ieșirea modulului se leagă la intrarea temporizată a UCH-ului.
- Întrarea auxiliară a modulului se leagă la ieșirea sprițuitoare a manetei (A4 la Logan)
Plusul modulului se ia de la plusul contact al manetei (pin A7)
Masa modulului se leagă la caroseria mașinii
Funcționare
    R1/R2 ȘI R3/R4 asigură translatarea nivelului analogic de 12 volti in nivel logic(divizor1/3).
Microcontrolerul prin optocuplor da cei 12V către UCH pe o perioadă de 200 milisecunde ca și când am pune scurt timp maneta în poziția1, UCH ul comanda stergerea, iar stergătoarele prin contactul lor cu camă continuă până revin la zero.
   Dacă folosim sprițuitoarele asteaptă 5 secunde apoi prin aceiași ieșire mai comandă o baleiere.


Realizare
   Pentru a nu mai da gauri în cablaj pentru microcontroler am realizat cablajul acestuia în oglindă iar integratul l-am lipit direct pe spate dupa ce i-am indoit pinii la 90 de grade .

 Liviu HINOVEANU

    Modul de temporizare reglabila a baleierii stergatoarelor asigura este realizat cu un microcontroler micut, un ATtiny85 programat cu limbaj Arduino, dupa cum am prezentat in mai multe articole, de exemplu articolul Programator pentru ATtiny25/45/85 cu Arduino Nano. Programul, scris de dl. Liviu Hinoveanu, care se foloseste pentru acest modul este wiper_timer_0.ino.
    Am primit si posta un filmulet numit Modul temporizator reglabil pentru stergatoare de Logan / Renault, care descrie si functionarea si cum se monteaza montajul:

sâmbătă, 16 februarie 2019

Ceas matriceal animat cu ESP8266 si RTC (DS3231)

     Bogdan Argatu mi-a aratat inca un articol interesant,  de data asta cu un ceas matriceal animat ce foloseste un ESP8266 ce ia ora de pe un server si o compara cu cea a ceasului RTC (cu DS3231).
     Articolul acela este inspirat de materialul de la github.com/schreibfaul1/ESP8266-LED-Matrix-Clock unde se gaseste si schema
   Programul,  cu foarte mici modificari fata de cel original, este esp8266_ntp_rtc.ino.
   Bogdan mi-a trimis poze din timpul realizarii si asamblarii:
    Bogdan a realizat un film numit Ceas animat cu reglaj automat si RTC
PS: Programul  MatrixClock_v3b.ino este adaptat de Bogdan are si un led care indica conectarea la retea si primirea de date.

Sistem de comanda radio pentru directie si turatie motor de curent continuu

    In articolele precedente (Sistem simplu de comanda la distanta rotire 2 motoare in ambele sensuri si Scurta prezentare si testare a unui modul de comanda motoare cu L298) m-am "jucat" fara a folosi o placa de dezvoltare Arduino, dar modul de comanda e limitat la stanga/drepata la viteza maxima. Pentru a controla viteza trebuie sa folosim modul PWM (factor de umplere variabil) si, cel mai usor, cel putin pentru mine, este sa folosesc o placa Arduino.
    Schema initiala de comanda era
Eu am testat doar un motoras de curent continuu, asa ca tot pentru asta voi face testele...
   In prima faza am conectat la o placa Arduino Nano (asta era la indemana, dar se pot folosi majoritatea placilor de dezvoltare) la receptor, conectand cele 4 iesiri ale receptorului la placa Arduino (D2, D3, D4, D5) si testand modul de functionare, iesirile A sa aprinda un led la intensitatea reglata, respectiv B pentru a aprinde alt led la intensitatea reglata, iesirea C comanda scaderea intensitatii, iar D cresterea acesteaia, dupa cum se vede in filmuletele;
Sistem de comanda radio pentru directie si turatie motor de curent continuu
DC motor remote control for direction and speeed\
   Am conectat si alimentatorul stabilizat reglabil la 5V, driver-ul cu L298 si motorasul cu reductor si am mai facut 2 filmulete:
Sistem de comanda radio pentru directie si turatie motor de curent continuu (2)
DC motor remote control for direction and speeed (2)
    Programul folosit se numeste slider_0.ino si poate fi testat fara probleme... din el reies si conexiunile dintre placa Arduino si receptor; curand voi posta si schema de conexiuni...

Sistem simplu de comanda la distanta rotire 2 motoare in ambele sensuri

    In articolul precedent am prezentat pe scurt si am testat un modul ce poate comanda in ambele sensuri doua motorase de curent continuu cu integratul L298, de data asyta voi folosi si un sistem de comanda radio la distanta
    Deoarece driverul cu L298 se poate comanda cu semnale logice normale (5V), am legat un modul receptor cu integrat PT2272 ce are 4 iesiri direct la el, alimentarea receptorului facandu-se din driver, ca are stabilizator integrat de 5V.
   Am facut o schema de conectare, pentru a fi mai usor de reprodus experimentul:
   Am facut si 2 filmulete, in care se vede modul de functionare, doar c ma avut la indemana un singur motoras de curent continuu cu reductor si daca apas pe butonul A de pe telecomanda se invarte in sens trigonometric, iar daca apas pe butonul B se invarte in sensul acelor de ceasornic:
comanda de la distanta rotire in ambele sensuri motor
remote dc motor
    Am schimbat sursa de alimentare liniara (realizata cu LM723 de albasete), cu una care este realizata dintr-o sursa de PC de cca 28-30V (modificata de Vlad Gheorghe) si completata cu un stabilizator in comutatie (step-down) cu XL4016 (in film ma referisem la XL4015), curent maxim de 8A, dar in teste e arhisuficient pentru 5A.
   Am realizat si 2 filmulete:
comanda de la distanta rotire in ambele sensuri motor (2)
remote dc motor (2)
21.02.2020
    Am realizat o variata de montaj pe cablaj de test
si am facut 2 filmulete:
comanda radio pentru sens si turatie motoras de curent continuu
remote system for speed and direction for DC motor

Scurta prezentare si testare a unui modul de comanda motoare cu L298

   Am primit in teste (pentru un mic proiectel) un modul (driver) pentru 2 motoare de curent continuu, care are la baza integratul L298 Acest integrat poate comanda bobine, electromagneti, motoare de curent continuu sau motoare pas cu pas.
   Placa de e in teste are o prezentare frumoasa in articolul Introduction to L298 A complete step by step tutorial on Introduction to L298
ATIVA = activare, utilizare functie
    Schema este cam cea prea prezentata acolo 
in sensul ca:
- alimentarea se poate face de la 8-35V (bineinteles pentru consumatori mici, nu recomand oricum mai mult de 9-12V) sau de la 5V (pe montaj se scoate "jumperul" notat "ATIVA 5V", iar pe schema JP6)
- conectand un motor de curent continuu de 3-5V la iesirea MOTOR A, se da comanda de rotire intr-un sens prin punerea unui semnal logic 1 (5V) pe IN1, respectiv de rotire inversa prin punerea demnalului de 1 logic pe pinul IN2
- conectand un alt motor de curent continuu de 3-5V la iesirea MOTOR B, se da comanda de rotire intr-un sens prin punerea unui semnal logic 1 (5V) pe IN3, respectiv de rotire inversa prin punerea demnalului de 1 logic pe pinul IN4
   In articolul L298 H BRIDGE sunt descrisi pinii in engleza, ceea ce e o prezentare mai familiara, in general.
    Eu am conectat un mic motor cu reductor pe iesirea MOTOR 2, alimentand cu 8V, ceea ce face ca stabilizatorul de pe placa sa fie in functiune (jumper de conectare iesire stabilizator la placa montat), am lasat si jumpe-ii ceilalti montati si am testat functionarea...
   Am facut si 2 filmulete, pentru a fi mai usor de inteles ce am scris mai inainte:
test modul comanda motoare cu L298
test with L298 driver module
   Eu vreau sa-l testez cu o placa Arduino, cum e prezentat si in articolul mentionat intial (acolo a fost uitata "masa" dintre placa Arduino si alimentarea driver-ului cu L298)
dar si sa o comand direct cu o telecomanda cu 4 canale cu integratele PT2262/PT2272:
    Dupa cum se observa, trebuei conectate 5v, GND pentru alimentare si iesirile A, B, C, D la IN1, In2, In3 si IN4, cel putin teoretic...

joi, 14 februarie 2019

Ceas matriceal animat cu reglaj, termometru si higrometru

    Fata de celelalte versiuni, aceasta are multe animatii, fiindu-mi aratat de unul din cititorii blogului, Ady Sos, care a si tradus indicatiile pentru data si indicatii, eu facand doar adaptare pentru DHT22 (DHT11) fata de ce gasise Ady in articolul Multi Mode Digital Clock, ca se s-a inspirat din acelasi articol Mini LED Clock (gasiti si librariiile utilizate la https://github.com/mrnick1234567/miniclock ) 😉
    Pentru teste am folosit aceeasi schema ca si in la celelalte variante, doar ca nu are implementata partea de alarma:
       Primul program (Mini_ceas_V.1.0-joergeli-niq_ro.ino) a avut doar mici modificari fata de ce mi-a trimis Ady, folosindu-ma de fisierul neamtului pentru caractere. Modul de prezentare al informatiilor se vede in filmuletele:


apoi am modificat sa apara temperatura si umiditatea cu caractere mari
dupa cum se ved ein filmuletele urmatoare, in care s-a folosit programul Mini_ceas_V.1.0-joergeli-1-1-niq_ro.ino:
PS: Am schimbat un pic partea de "batere" secunde, programul devenind Mini_ceas_V.1.0-joergeli-1-4a-niq_ro.ino

01.06.20.19
    Deoarece am fost atentionat ca ora n se schimba corect (aparea cu -1 fata de cea reglata), m-am uitat in cod si am gasit o parte de autocorectie functe de vara/iarna, pe care am scos-o si pare ok acum... sketch-ul Mini_ceas_V.1.0-joergeli-1-4a-niq_ro.ino este cu autocorectia scoasa.