Počítadlo pomocou tlačidla - Tinker Cad: 3 kroky
Počítadlo pomocou tlačidla - Tinker Cad: 3 kroky
Anonim
Image
Image
Požadované súčasti
Požadované súčasti

Keď tlačidlo funguje, často chcete vykonať nejakú akciu podľa toho, koľkokrát ste tlačidlo stlačili. Na to potrebujete vedieť, kedy tlačidlo zmení stav z vypnutého na zapnuté, a počítať, koľkokrát k tejto zmene stavu dôjde. Hovorí sa tomu detekcia zmeny stavu alebo detekcia hrán. V tomto návode sa naučíme kontrolovať zmenu stavu, pošleme správu na sériový monitor s príslušnými informáciami a spočítame štyri zmeny stavu na zapnutie a vypnutie LED diódy.

Krok 1: Potrebné súčasti:

Požadované súčasti
Požadované súčasti
Požadované súčasti
Požadované súčasti
Požadované súčasti
Požadované súčasti

1. Arduino UNO

2. Breadboard

3. Tlačidlo

4. Rezistor

5. Prepojovacie vodiče

Krok 2: Schéma zapojenia:

Image
Image

Pripojte tri vodiče k doske. Prvá prechádza z jednej nohy tlačidla cez sťahovací odpor (tu 10 k ohm) na zem. Druhý prechádza z príslušnej nohy tlačidla na 5 voltové napájanie. Tretí sa pripája na digitálny I/O pin (tu pin 2), ktorý číta stav tlačidla.

Keď je tlačidlo otvorené (nestlačené), neexistuje spojenie medzi dvoma nohami tlačidla, takže kolík je spojený so zemou (cez sťahovací odpor) a čítame LOW. Keď je tlačidlo zatvorené (stlačené), vytvorí spojenie medzi jeho dvoma nohami a spojí kolík s napätím, takže čítame VYSOKO. (Kolík je stále spojený so zemou, ale odpor odoláva toku prúdu, takže cesta najmenšieho odporu je +5V.) Ak odpojíte digitálny vstupno -výstupný kolík od všetkého, LED dióda môže nepravidelne blikať. Dôvodom je, že vstup je „plávajúci“- to znamená, že nie je pripojený ani k napätiu, ani k zemi. Viac alebo menej náhodne sa vráti buď VYSOKÝ alebo NÍZKY. Preto v obvode potrebujete sťahovací odpor.

Krok 3: Kód:

Pre ďalšie zaujímavé projekty ma kontaktujte na: Youtube:

Facebooková stránka:

Instagram:

tlačidlo int = 2;

int a, i = 0; void setup () {Serial.begin (9600); pinMode (tlačidlo, VSTUP); } void loop () {a = digitalRead (tlačidlo); ak (a == 1) {i = i+1; Serial.print ("Počítadlo ="); Serial.println (i); } else {i = 0; }}