Pentru un mod de control complex cu doar 2 butoane a unui led sau a unei benzi led, putem folosi o placa Arduino, utilizand urmatoarea schema:
Cele 2 intrari (D2 si D3) sunt, in repaus, la nivel logic 1 (HIGH), deoarece sunt activate rezistentele internede pull-up (de ridicare a nivelului), astfel ca daca unul din butoanele fara retinere e apasat, intrarea corespunzatoare e la nivel logic 0 (LOW).
Iesirea (D9) este cu control PWM (semnal cu factor de umplere variabil), ce se va vedea in pozele de mai jos:
- led stins, PWM 0%
- led la nivel luminos scazut, PWM la valoare mica, minimul admis (5, ales de mine) pentru a fi folosita o lumina ambientala;
- led la un nivel luminos crescut, PWM la valoare mare
- led la maxim, PWM 100% (nivel 255 din 255);
Programul, brightness_control_led_1a.ino, scris de mine, derivat din ce am prezentat in articolul Masurare timpi apasare butoane folosind functia millis(), face urmatoarele:- buton 1 apasat scurt: stinge led
- buton 2 apasat scurt: aprinde led (la nivelul reglat anterior)
- buton 1 apasat lung: scade progresiv intensitatea luminoasa
- buton 2 apasat lung: creste progresiv intensitatea luminoasa
dupa cu se vede in filmuletele:
La scurt timp dupa publicarea articolului, Gheorghe Vlad mi-a spus ca acest program poate functiona foarte bine si pe ATTiny85, cu redefineirea pinilor (program PWM-LED-2BT-ATTINY85.ino
Niciun comentariu:
Trimiteți un comentariu