duminică, 9 februarie 2025

Cronometru cu buton pentru timpi scurti pe afisaj led (din 4 cifre de 7-segmente comandate de driver TM1637)

    Am modificat programul cronometrului prezentat in articolul anterior, ca sa cronometrez timpi scurti, de ordinul secundelor si sutimilor de secunda, cat timp e un buton apasat, dar e util si pentru cronometrarea timpului de actionare a unei pompe, de exemplu.


   Schema de conectare este foarte simpla
iar programul modificat este TM1637_chromemeter_3.ino
  Am realizat si 2 filmulete:

miercuri, 5 februarie 2025

Cronometru pe afisaj led (din 4 cifre de 7-segmente comandate de driver TM1637)

    Pentru a mai exersa diverse proiectele, am realizat un simplu cronometru, care indica timpul trecut de la initializarea unei placi Arduino.

   Schema de test este foarte simpla
in care am folosit biblioteca github.com/avishorp/TM1637 si primul program, care indica timpul scurs, minute si secunde cu leduri despartitoare cu aprindere intermitenta. este TM1637_chromemeter_0.ino.
   Am realizat si 2 filmulete:
Ulterior programul a fost modificat ca dupa ce trece o ora afisajul sa treaca de la 59:59 la 00:01 (ore si minute), programul modificat este TM1637_chromemeter_1.ino.
   Bineinteles ca se pot adauga butoane de START / STOP sau comenzi de la diversi senzori. In functie de timpul liber disponibil, o sa prezint o aplicatie concreta.

marți, 28 ianuarie 2025

Aprindere/stingere led cu un buton fara retinere (2)

    Am adaugat un modul cu 3 leduri la montajul testat anterior, ledul rosu corespunde ledului (rosu) de pe pe placa Arduino (de la D13), un led verde care se aprinde cand ledul rosu este stins si, pentru ca tot era pe modul, ledul galben se aprinde/stinge la secunda, fara a depinde de apasarea butonului, la secundele impare se aprinde si la cele pare se stinge (rest de la millis()/1000 impartit la 2).

   Schema este simpla,

si cu programul butonsoft_0b.ino incarcat in placa Arduino am facut 2 filmulete:




Aprindere/stingere led cu un buton fara retinere

    In vederea dezvoltarii unui proiect mai complex, am vrut sa testez un program care sa aprinda un led cand se apasa un buton fara retinere, oricat de mult timp (in cazul de fata zeci de secunde) si apoi sa se stinga cand se apasa din nou acel buton, oricat de mult (tot maxim zeci de secunde).

   Programul adaptat de mine este butonsoft_0a.ino in care butonul fara retinere este la D2 si led-ul comandat este cel de pe placa, de la D13, schema fiind:

  Am realizat si 2 filmulete explicative:

aprindere/stingere led cu buton fara retinere

Led ON/OFF control with momentary button

sâmbătă, 25 ianuarie 2025

Sensor Sharp de distanta GP2Y0A710K0F (1..5.5m)

    Pentru un anumit proiect, am achizitionat un senzor de distanta cu infrarosii GP2Y0A710K0F, care poate poate masura bine in domeniul 1..5.5m (dupa cum apare in fisa tehnica).

   Cand l-am primit, am constatat ca e destul de mare in comparatie cu senzorii uzuali pentru Arduino

   Dupa ce am cautat pe internet, am gasit articolul How to use a SHARP GP2Y0A710K0F IR Distance Sensor with Arduino in care se observa ca modul de conectare la o placa Arduino e foarte simplu
  asa ca am lipit la cele 5 fire un conector tata
si am realizat pe breadboard montajul din schema de mai sus (fara a conecta condensatorul electrolitic)
  Firul verde este iesirea de semnal (conectare la intrarea analogica A0), extremele (albastru si rosu) la masa (GND), iar cele 2 ramanse (galben si negru) la plus (+5V).
In timpul testelor consumul mediu al senzorului a fost cca 42mA.
  Din materialele de pe internet, variatia tensiunii cu distanta nu este liniara, dar cu inversul distantei este
   Dupa cate se observa, sub 70-75cm, tensiunea de iesire este similara distantelor mai mari decat aceasta, asa ca 70cm putem considera ca e distanta minima de masurare.
   Eu am folosit biblioteca github.com/guillaume-rico/SharpIR indicata in articolul mai sus mentionat.

duminică, 19 ianuarie 2025

Temporizator cu modul afisaj OLED si encoder

    Am achizitionat un modul ce contine un afisaj de 1.3", un encoder si 2 butoane fara retinere, dar exista si versiune cu afisaj OLED de 0.96".

   Am gasit pe internet si schema acestor module, sau cel putin foarte asemanatoare
deoarece nu apar si cele 2 butoane fara retinere (CONFIRM si BACK)
   Am vrut sa fac un test rapid de functionare, asa ca am  cautat pe net si am dat de articolul Timer with OLED Display +Encoder + Esp8266
   Eu am adaptat schema si programul sa folosesc o placa Arduino Nano, inclusiv am modificat programul sa fie mai corect afisat timpul, fiind usor de selectat afisaj cu driver SH1106 (diagonala de 1.3") sau cel de SSD1306 (diagonala de 0.96"). 
   Schema de conectare este
   Programul adaptat de mine este Timer_1a.ino si cu incarcat am realizat 2 filmulete: