Se afișează postările cu eticheta LCD. Afișați toate postările
Se afișează postările cu eticheta LCD. Afișați toate postările

Capacimetru cu funcție de autoscalare și afișaj LCD

 Autor:   Publicat pe:    Niciun comentariu

Un capacimetru este un dispozitiv util oricărui electronist. Mai ales că funcția de măsurare a capacității pe care o posedă unele multimetre ieftine lasă de dorit. Folosind o placă de dezvoltare compatibilă cu Arduino, am decis să-mi construiesc propriul capacimetru, în special pentru condensatori de valoare mare. Programul ce rulează pe microcontroller va încărca și descărca condensatorul și va măsura constanta de timp pentru a determina capacitatea. Sunt două metode prin care poate fi apreciată valoarea capacității unui condensator: prin includere într-un oscilator L-C cu inductor de mărime cunoscută și măsurarea frecvenței acestui oscilator sau prin includerea într-un circuit R-C serie cu rezistor de mărime cunoscută și măsurarea constantei de timp. Prima metodă este utilă pentru măsurarea capacităților mici, dar este mai greu de implementat, deoarece necesită mai multe componente și un software mai complex.

Proiectul din acest articol folosește metoda cu circuit RC. Când o tensiune este aplicată unui circuit serie rezistor - condensator, tensiunea la bornele condensatorului tinde să ajungă la nivelul tensiunii de alimentare în timp (condensatorul se încarcă). Modificarea tensiunii la bornele condensatorului se face prin consum de curent. Circuitul prezentat realizează atât încărcarea, cât și descărcarea condensatorului. Măsurarea constantei de timp se face doar în timpul încărcării. Funcția de descărcare permite efectuarea de măsurări repetate, și precise, fără a scoate condensatorul din circuitul RC.

Capacimetru cu autoscalare și afișaj LCD

Capacimetrul construit pe o placă de test

Ceas Arduino fără modul RTC

 Autor:   Publicat pe:    Niciun comentariu

Folosirea unui modul RTC (real time clock) este recomandată la realizarea unui proiect care se folosește de oră și dată. Modulele RTC sunt ieftine, au acuratețe bună, dar mai mult de atât continuă să funcționeze și când placa de dezvoltare nu este alimentată. Acestea folosesc o baterie tip celulă litiu pentru a ține evidența timpului utilizând curenți foarte mici. Există destul de multe biblioteci Arduino care implementează funcții pentru comunicarea cu diverse surse de timp (module RTC, servere NTP etc.). Un exemplu este biblioteca Time de Paul Stoffregen care utilizează timer-ul microcontroller-ului pentru a ține evidența timpului, dar permite și sincronizarea periodică cu o sursă de acuratețe mai mare.

Totuși, am decis să scriu o funcție ce ține evidența timpului incrementând variabile la fiecare apelare. Schița apelează această funcție în fiecare secundă, iar aceasta incrementează variabila secundelor și o afișează. Dacă s-a numărat până la 60, variabila secundelor trece la 0 și funcția avansează, incrementând minutele. Tot așa, sunt incrementate oricând este cazul variabilele pentru oră, zi, lună și an. Afișajul este actualizat doar pentru ce va fi modificat. Pentru a scrie programul am folosit o placă de dezvoltare compatibilă cu Arduino Uno căreia i-am atașat un shield cu afișaj LCD 16x2 și butoane analogice. Doar două butoane sunt necesare pentru modificarea datei și orei, așa că poți folosi butoane tactile conectate la pini de intrare digitali. În acest caz, vei modifica mai multe linii de cod, evaluând starea pinilor digitali.

Ceas Arduino fără modul RTC

Utilizarea shield-ului cu ecran LCD și butoane pentru Arduino

 Autor:   Publicat pe:    Niciun comentariu
Majoritatea proiectelor Arduino necesită o interfață prin care diverse date pot fi afișate utilizatorului, dar și o interfață prin care utilizatorul poate modifica variabile ale programului. Afișarea datelor se face de obicei pe ecrane LCD. Cele mai utilizate împreună cu microcontrollere sunt LCD-urile alfanumerice care pot afișa 1, 2 sau 4 rânduri de 16 sau 20 caractere. Pentru a interacționa cu programul ce rulează pe microcontroller, utilizatorul folosește cel mai adesea câteva taste/butoane.

Pentru a ușura munca dezvoltatorilor, producătorul chinezesc DFRobot a creat un shield pentru Arduino care conține un LCD alfanumeric cu două rânduri de câte 16 caractere dar și 5 butoane tactile legate în configurație analogică. Shield-ul se conectează direct pe plăcile de dezvoltare Arduino UNO și compatibile. Prețul acestui shield variază între 3 și 10 USD la magazinele chinezești cu livrare internațională.

Shield-ul cu LCD și butoane (sursa: DFRobot)
Shield-ul cu LCD și butoane (sursa: DFRobot)