Kazalo:

Povezovanje več gumbov na en pin na Arduinu: 4 koraki
Povezovanje več gumbov na en pin na Arduinu: 4 koraki

Video: Povezovanje več gumbov na en pin na Arduinu: 4 koraki

Video: Povezovanje več gumbov na en pin na Arduinu: 4 koraki
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, November
Anonim
Image
Image
Materiali
Materiali

Zdravo vsi, Ko vaši projekti Arduino prerastejo utripajoče LED, boste morda potrebovali nekaj dodatnih zatičev.

Pokazal vam bom trik, s katerim lahko uporabite več gumbov, ki so vsi povezani na isti analogni pin.

1. korak: Materiali

Vezje je zelo preprosto in za vsako stikalo potrebuje le upor 1 kOhm. V bistvu gradimo delilnik napetosti, kjer s pritiskom vsakega od gumbov povežemo različno število uporov na analogni vhod na Arduinu.

2. korak: Shema

Shematično
Shematično

Začnite tako, da enega od uporov priključite na 5V izhod in eno stran prvega stikala. Nato je treba drugo stran stikala priključiti na ozemljitev. Vsak dodatni gumb bo serijsko povezan s svojim uporom, prvi pa ozemljen na drugi strani.

Pin za analogni vhod je povezan med prvim uporom in prvim gumbom za vnos.

Celotna shema v EasyEdi je na voljo tukaj:

3. korak: Koda

Koda
Koda

Koda je zelo preprosta, kjer v prvi vrstici funkcije zanke preberemo vrednost analognega vhoda in jo nato primerjamo z določenim pragom, da ugotovimo, kateri gumb je pritisnjen. Za določitev pravih vrednosti sem najprej imel natisnjen samo vrednost iz analognega zatiča na serijski monitor, nato pa sem ga pretvoril v pravi obseg.

Celotno kodo lahko prenesete z moje strani GitHub:

4. korak: Nadaljnja širitev

Nadaljnja širitev
Nadaljnja širitev
Nadaljnja širitev
Nadaljnja širitev
Nadaljnja širitev
Nadaljnja širitev

To metodo je mogoče enostavno prilagoditi številnim gumbom, vendar ne pozabite, da če več dodate, manjša bo razlika v pragu, tako da lahko kakršne koli spremembe v vhodni napetosti povzročijo napačno odčitavanje. Vendar pri rednih operacijah do 10 ~ 15 gumbov to ne bi smelo biti problem.

Priporočena: