În articolol  despre leduri am vazut cum se pot comanda 8 LED-uri cu ajutorul plăcii de dezvoltare Arduino (mod ieşire digitală). Mai departe ne propunem să vedem cum putem primii informaţii de la utilizator prin apăsarea unor butoane (mod intrare digitală).

Ce sunt butoanele?
Sunt sigur că eşti familiarizat cu întrerupătoarele. În locuinţa ta foloseşti cel puţin unul, cel de lumină. Rolul întrerupătorului este de a permite sau nu trecerea curentului electric prin acţionarea unui contact mecanic.
Diferenţa între un întrerupător şi un buton este faptul că butonul are revenire, ceea ce înseamnă că în momentul în care apeşi un buton acesta va revenii automat în poziţia iniţială fără intervenţia ta. Exemple de butoane: tastatura de la PC, tastele unui telefon mobil etc.

Simbolizare

but_sch
Bounce/Debounce
Datorită contactului mecanic din interiorul butonului în momentul acţionării acestuia, semnalul trimis catre microcontroler nu este unul „curat” pornit/oprit ci este o trecere continuă între pornit/oprit până la stabilizarea pe una dintre cele două stări. Efectul este de cele mai multe ori nedorit. Spre exemplu: în momentul în care apeşi un buton trebuie să se deschidă o poartă iar în momentul când îl apeşi din nou vrei ca poarta respectivă să se închidă. Fără o procedură adecvată de debounce poarta ta va oscila între închis/deschis făcând din butonul respectiv o comandă nesigură.

Pentru a „curăţa” acest semnal se pot folosi mai multe metode, şi anume hardware sau software. Dacă eşti interesat de efectul de bounce al butoanelor găseşti mai multe informaţii aici: http://roroid.ro/wiki/pmwiki.php/Main/DebouncingButtonsOnVirtualPorts, noi în continuare vom folosi metoda software, deoarece este mai simplă şi nu implica modificari suplimentare în partea electronică a montajului.

Secvenţa de program utilizată pentru a face debounce unui buton este urmatoarea:

Legarea butonului la placa de dezvoltare

Pentru a realiza montajul de mai jos aveţi nevoie de o rezistenţă de 220Ω şi de un buton.

aplic_but

aplicatie_but_SCH

Programul final

 

Spor la treabă!

Butoane
Etichetat pe:        

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest sit folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.