Ismerje meg, hogyan kell bekábelezni és programozni egy nyomógombot a LED vezérlésére.
Utolsó felülvizsgálat: 2022.02.04 16:50
A nyomógombok vagy kapcsolók egy áramkör két pontját kapcsolják össze, amikor megnyomja őket. Ez a példa bekapcsolja a 13. kivezetés beépített LED-jét, amikor megnyomja a gombot.
Hardver szükséglet
Arduino kártya
Egy pillanatkapcsoló, gomb vagy billenőkapcsoló
10 kohm-os ellenállás
összekötő vezetékek
dugdosós próbapanel (breadboard)
Az áramkör

Csatlakoztasson három vezetéket a kártyához. Az első kettő, a piros és a fekete, a próbapanel oldalán lévő két hosszú függőleges sorhoz csatlakozik, hogy hozzáférést biztosítson az 5 voltos táphoz és a földhöz. A harmadik vezeték a 2. digitális kivezetéstől a nyomógomb egyik lábáig tart. A gomb ugyanezen lába csatlakozik egy lehúzó ellenálláson keresztül (itt 10 kohm) a földhöz. A gomb másik lába az 5 voltos tápfeszültségre csatlakozik.
Nyitott (nem lenyomott) nyomógomb esetén nincs kapcsolat a nyomógomb két lába között, így a kivezetést földeljük (a lehúzó ellenálláson keresztül) és LOW-t olvasunk. A gomb bezárásakor (lenyomva) összeköttetést hoz létre a két lába között, a kivezetést 5 voltra csatlakoztatja, így HIGH-t olvasunk.
Ezt az áramkört fordítva is bekötheti, egy felhúzó ellenállással, amely HIGH értéken tartja a bemenetet, és LOW-ra megy, amikor megnyomja a gombot. Ha igen, akkor a vázlat viselkedése megfordul, a LED normál esetben világít, és a gomb megnyomásakor kialszik.
Ha mindenről leválasztja a digitális I/O kivezetést, előfordulhat, hogy a LED hibásan villog. Ennek az az oka, hogy a bemenet "lebegő" - vagyis véletlenszerűen HIGH vagy LOW értékkel tér vissza. Ezért kell az áramkörbe a felhúzó vagy a lehúzó ellenállás.
Vázlat

A kód
Az alábbi kód a millis()
függvényt használja, egy olyan parancsot, amely visszaadja, hogy hány ezredmásodperc telt el azóta, hogy a tábla elkezdte futtatni az aktuális vázlatot, és villogtatni egy LED-et.
/*
Button
Be- és kikapcsolja a 13-as digitális kivezetéshez csatlakoztatott fénykibocsátó diódát (LED),
amikor megnyomja a 2-es kivezetéshez csatlakoztatott nyomógombot.
Az áramkör:
- LED csatlakozik a 13-as kivezetéstől a földig 220 ohmos ellenálláson keresztül
- nyomógomb +5V-ról a 2-es kivezetésre csatlakoztatva
- 10 kohm-os ellenállás csatlakozik a 2. kivezetésre a földről
- Megjegyzés: A legtöbb Arduino kártyán már van egy LED a 13-as kivezetésre csatlakoztatva.
created 2005
by DojoDave <http://www.0j0.org>
modified 30 Aug 2011
by Tom Igoe
Ez a kód nyilvános.
https://docs.arduino.cc/built-in-examples/digital/Button
*/
// az állandók nem változnak. Itt a kivezetés számának beállítására szolgálnak:
const int buttonPin = 2; // a nyomógomb kivezetés száma
const int ledPin = 13; // a LED kivezetés száma
// a változók megváltozhatnak:
int buttonState = 0; // változó a nyomógomb állapotának leolvasására
void setup() {
// inicializálja a LED kivezetést kimenetként:
pinMode(ledPin, OUTPUT);
// inicializálja a nyomógomb kivezetést bemenetként:
pinMode(buttonPin, INPUT);
}
void loop() {
// olvassa a nyomógomb állapotának értékét:
buttonState = digitalRead(buttonPin);
// ellenőrizze, hogy a nyomógomb meg van-e nyomva. Ha igen, akkor a gombállapot HIGH:
if (buttonState == HIGH) {
// LED bekapcsolása:
digitalWrite(ledPin, HIGH);
} else {
// LED kikapcsolása:
digitalWrite(ledPin, LOW);
}
}
Tudj meg többet
További alapvető oktatóanyagokat a beépített példák részben talál.
Felfedezheti a nyelvi referenciát is, az Arduino programozási nyelv részletes gyűjteményét.