duminică, 19 aprilie 2020

Indicare durata apasare buton (apasare scurta sau lunga)

   Anul trecut am postat un articol similar, numit Masurare timpi apasare butoane folosind functia millis().
   In general, pot citi starea unui buton si stiu ca a fost apasat sau nu, dar pentru anumite aplicatii e bine ca sa nu se schimbe ceva daca am apasat din greseala butonul, ci doar daca apas un timp destul de lung, de exemplu 3 secunde.
   Am realizat repede un montaj care are un buton fara retinere (pe breadboard sunt 2 butoane, dar ma folosesc doar de unul) si 2 leduri, fiecare inseriate cu cate o rezistenta de 220ohmi fiecare, pentru limitare curent prin ele si prin pinii microcontrolerului de pe placa.
   Un led galben indica faptul ca butonul este apasat (aprindere stroboscopica, doar pentru efect placut), iar ledul rosu se aprinde doar daca butnul a fost apasat suficient de mult (3 secunde).
   Schema este foarte simpla:
   Din program (pushtime1button.ino) pinul alocat butonului este in starea HIGH, deoarece am activat rezistenta interna de pull-up (de cca 10kOhmi).
   Pentru a fi mai usor de inteles ce am scris mai sus, va recomand vizionarea unuia din cele 2 filmulete:
- cu comentarii in romana
- cu comentarii in engleza:

2 comentarii:

  1. Buna ziua.
    Foarte interesant si de mare ajutor.
    M-am inspirat din materialul prezentat de dv., in realizarea unui proiect personal.
    Multumesc .

    RăspundețiȘtergere
    Răspunsuri
    1. va salut, ma bucur ca prezinta interes materialul acesta... succes in continuare

      Ștergere