A nyomógombok hihetetlenül elterjedtek a barkácsoló Arduino-térben, és az interneten számtalan projekt támaszkodik ezekre a kis kapcsolókra a kód aktiválásához. De hogyan lehet pontosan bekötni és programozni egynél több nyomógombot, hogy működjön az Arduino-val? Találjuk ki.
Mit készítünk?
Ez egy egyszerű projekt, amelynek célja, hogy a jövőben elkezdhesse a bonyolultabb Arduino-építéseket. Nem adunk feladatot a gombjainknak, de ez azt jelenti, hogy kiválaszthatja, mit szeretne tenni velük, a másik praktikus DIY Arduino útmutatónk segítségével.
Mire van szükséged?
Csak néhány alkatrészre van szüksége a projekt befejezéséhez, amelyek közül sok már a barkács alkatrészgyűjteményében lesz.
- 4 db nyomógombos kapcsoló
- 4 x 10kΩ ellenállás
- 1 x Bármelyik típusú Arduino tábla (Leonardót használunk)
- PVC/szilikon bevonatú huzal
Több nyomógomb bekötése Arduino-val
Ennek a projektnek a bekötése egyszerű, de ügyeljen arra, hogy elkerülje a vezetékek összegabalyodását az egyes csatlakozások során, mivel minden gombhoz két különböző vezeték szükséges.
Egyszerűen kiindulva célszerű egy nyomógombot úgy bekötni, hogy annak pozitív lába csatlakozzon az 5V-os tűhöz az Arduinónkon, és a gomb földelő lába csatlakozik mind a GND-hez, mind a Digital Pin 2-hez az Arduinónkon tábla. Ellenállást kell csatlakoztatni a gomb földelő lába és az Arduino GND érintkezője közé.
Ha egy gomb be van kötve, ideje hozzáadni a többit. Minden gombnak saját digitális tűre van szüksége; 2, 3, 4 és 5-öt választottunk az általunk használt négy gombhoz, de bármelyik digitális tű működni fog. Most, hogy az Arduino be van kötve, ideje elkezdeni dolgozni a kódon.
Több nyomógomb programozása Arduino segítségével
A projekt kódja szép és egyszerű, nincs szükség osztálykönyvtárra vagy más bonyolult programozásra.
Gombok hozzárendelése pinekhez
Az első lépésben a gombjainkat hozzá kell rendelnünk az Arduino táblánk különböző tűihez. Mivel a 2., 3., 4. és 5. digitális tűket használtuk, ezek azok a tűk, amelyeket a kódunkkal deklarálunk. Ezt az Arduino projekt tetejére kell helyezni, bármely funkció előtt.
int input4Pin = 5;
int input3Pin = 4;
int input2Pin = 3;
int input1Pin = 2;
A gombok beállítása
A legtöbb Arduino projekthez hasonlóan egy olyan funkciót fogunk használni, amely egyszer fut le a program elején, az úgynevezett void setup(). Először 57600-as adatátviteli sebességgel indítjuk el a soros kapcsolatunkat, majd a gombjaink inicializálása következik. Ez minden, amire szükségünk van void setup() funkció.
void setup()
{
Serial.begin (57600); // ezzel megkezdődik a soros kapcsolat 57600-as adatátviteli sebességgel
pinMode (input4Pin, INPUT);
pinMode (input3Pin, INPUT);
pinMode (input2Pin, INPUT);
pinMode (input1Pin, INPUT); // ezek a sorok az egyes gombokat bemenetként deklarálják
}
Gombnyomások észlelése
Ez a következő szakasz összetettebb, mint a többi, mivel saját függvényt hozunk létre, amely a fő hurok függvény változójával fog foglalkozni. Kezdésként deklarálnunk kell a függvényünket egy egész változóval, például az alábbi kóddal.
érvénytelen checkPush (int pinNumber)
Ezt követően hozzá kell rendelnünk az általunk használt változót, és létre kell hoznunk egy ha utasítást az egyes gombok megnyomásának észlelésére. Ez a funkció egyszerre csak a gombot tudja ellenőrizni, a főhurok függvényből kapott változó segítségével, hogy tudja, melyik gomb ellenőrzi. A miénk ha utasítás ellenőrzi a gomb állapotát a beépített segítségével digitalRead funkció.
érvénytelen checkPush (int pinNumber)
{
int gombPushed = digitalRead (pinNumber);
if (buttonPushed == HIGH) {
// kód hozzáadása ide, amikor egy gombot megnyomnak
}
más {
// kód hozzáadása ide, ha egy gombot nem nyomnak meg
}
}
Kód hozzáadva a ha utasítás lefut egy gomb megnyomásakor, míg a kód a más utasítás csak akkor fut le, ha nincs megnyomva egy gomb.
A főhurok építése
Végül, mint az utolsó kódrészletet, amelyet hozzá kell adni a programhoz, itt az ideje elkészíteni a void loop() funkció. Csupán négy sor kódra van szükségünk: egy minden egyes gombhoz, amelyet az Arduinónkhoz csatoltunk. Ezek a sorok meghívják az előző lépésben létrehozott függvényt az egyes gombok PIN-kódjával.
void loop()
{
checkPush (5);
checkPush (4);
checkPush (3);
checkPush (2);
}
A Kész kód
Ha az összes kód a helyén van, a kész programnak úgy kell kinéznie, mint az alábbi kód. Minden sorhoz megjegyzéseket fűztünk, hogy könnyebben érthető legyen, de arra biztatjuk, hogy nézzen utána és olvasson mindenről, amit nem ismer fel. Ez nagyszerű módja lehet a kódolási ismeretek bővítésének.
int input4Pin = 5;
int input3Pin = 4;
int input2Pin = 3;
int input1Pin = 2;
// ez deklarálja az egyes gombjainkat és azok tűit
// győződjön meg arról, hogy azokat a tűket használja, amelyekhez a gombok csatlakoztatva vannak
void setup()
{
Serial.begin (57600); // ezzel megkezdődik a soros kapcsolat 57600-as adatátviteli sebességgel
pinMode (input4Pin, INPUT);
pinMode (input3Pin, INPUT);
pinMode (input2Pin, INPUT);
pinMode (input1Pin, INPUT); // ezek a sorok az egyes gombokat bemenetként deklarálják
}
void loop()
{
checkPush (5);
checkPush (4);
checkPush (3);
checkPush (2); // ezek a sorok mindegyike más PIN-számmal hívja meg a checkPush függvényünket
}
void checkPush (int pinNumber) // ez a függvény egész értéket vár, amikor hívják
{
int gombPushed = digitalRead (pinNumber); // ez kiolvassa egy gomb állapotát a PIN-kódja alapján
if (buttonPushed == HIGH) { // ez ellenőrzi a gomb állapotát
// kód hozzáadása ide, amikor egy gombot megnyomnak
}
más {
// kód hozzáadása ide, ha egy gombot nem nyomnak meg
}
}
Siker: Több nyomógomb bekötése és programozása Arduino segítségével
Ez egy könnyű projekt, amellyel elkezdheti, ha meg akarja tanulni az Arduinos hardverét és szoftverét. Könnyedén kibővítheti, amit készített, további összetevőkkel, így lehetőség nyílik rengeteg izgalmas ötlet felfedezésére és olyan dolgok létrehozására, amelyekre büszkeséggel tölt el.
Arduino programozás kezdőknek: Traffic Light Controller Project Tutorial
Olvassa el a következőt
Kapcsolódó témák
- DIY
- Programozás
- Arduino
- Elektronika
- Programozás
- DIY projekt oktatóanyagok
A szerzőről

Samuel az Egyesült Királyságban élő technológiai író, aki minden barkácsolás iránti szenvedéllyel foglalkozik. A webfejlesztés és a 3D nyomtatás területén indított vállalkozást, valamint sokéves írói munkát Samuel egyedülálló betekintést nyújt a technológia világába. Főleg a barkácsolástechnikai projektekre összpontosítva nem szeret jobban, mint szórakoztató és izgalmas ötleteket megosztani, amelyeket otthon is kipróbálhat. A munkán kívül Samuelt általában biciklizni, számítógépes videojátékokat játszani, vagy kétségbeesetten próbál kommunikálni kedvenc rákjával.
Iratkozzon fel hírlevelünkre
Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!
Kattintson ide az előfizetéshez