Surunupud on DIY Arduino ruumis uskumatult levinud ning lugematu arv projekte kogu veebis tugineb nendele väikestele lülititele oma koodi aktiveerimiseks. Aga kuidas täpselt saate oma Arduinoga töötamiseks ühendada ja programmeerida rohkem kui ühe nupu? Uurime välja.
Mida me teeme?
See on lihtne projekt, mille eesmärk on aidata teil tulevikus keerulisemate Arduino ehitustega alustada. Me ei anna oma nuppudele tööd, kuid see tähendab, et saate valida, mida soovite, et nad ise teeksid, kasutades mõnda muud käepärast DIY Arduino juhendit.
Mida sul vaja on?
Selle projekti lõpuleviimiseks vajate vaid käputäis osi, millest paljud on juba teie isetegemise osade kollektsioonis.
- 4 x nupplülitid
- 4 x 10kΩ takistit
- 1 x ükskõik milline Arduino plaadi tüüp (kasutame Leonardot)
- PVC/silikooniga kaetud traat
Mitme surunupu ühendamine Arduinoga
Selle projekti juhtmestik on lihtne, kuid peate olema ettevaatlik, et vältida juhtmete sassi sattumist iga ühenduse loomisel, kuna iga nupu jaoks on vaja kahte erinevat juhet.
Lihtsamalt alustades on mõttekas ühendada üks nupp, mille positiivne jalg on ühendatud 5 V tihvtiga meie Arduinol ja nupu maandusjalg on ühendatud nii GND kui ka Digital Pin 2-ga meie Arduinol juhatus. Nupu maandusjala ja Arduino GND kontakti vahele tuleb ühendada takisti.
Kui üks nupp on ühendatud, on aeg lisada teised. Iga nupp vajab oma digitaalset tihvti; valisime nelja kasutatava nupu jaoks 2, 3, 4 ja 5, kuid kõik digitaalsed tihvtid töötavad. Nüüd, kui teie Arduino on kõik ühendatud, on aeg hakata koodi kallal töötama.
Mitme nupu programmeerimine Arduinoga
Projekti kood on kena ja lihtne, ilma et oleks vaja klassiteeke või muud keerulist programmeerimist.
Nuppude määramine tihvtidele
Esimese sammuna peame määrama oma nupud meie Arduino plaadi erinevatele tihvtidele. Kuna kasutasime digitaalseid tihvte 2, 3, 4 ja 5, siis need on tihvtid, mida me oma koodiga deklareerime. See tuleks paigutada teie Arduino projekti ülaossa, enne mis tahes funktsiooni.
int input4Pin = 5;
int input3Pin = 4;
int input2Pin = 3;
int input1Pin = 2;
Nuppude seadistamine
Nagu enamiku Arduino projektide puhul, kasutame funktsiooni, mis käivitatakse üks kord programmi alguses, nn tühine seadistus (). Esiteks käivitame jadaühenduse edastuskiirusega 57600, millele järgneb nuppude lähtestamine. See on kõik, mida me vajame tühine seadistus () funktsiooni.
tühine seadistus ()
{
Serial.begin (57600); // see alustab jadaühendust edastuskiirusega 57600
pinMode (input4Pin, INPUT);
pinMode (input3Pin, INPUT);
pinMode (input2Pin, INPUT);
pinMode (input1Pin, INPUT); // need read deklareerivad iga nupu sisendiks
}
Nupuvajutuste tuvastamine
See järgmine etapp on keerulisem kui teised, kuna loome oma funktsiooni, mis tegeleb põhitsükli funktsiooni muutujaga. Alustuseks peame deklareerima oma funktsiooni täisarvulise muutujaga, nagu allolev kood.
tühine checkPush (int pinNumber)
Pärast seda peame määrama kasutatava muutuja ja looma kui iga nupu vajutamise tuvastamiseks. See funktsioon saab korraga ainult nuppu sisse lülitada, kasutades muutujat, mille ta saab põhitsükli funktsioonist, et see teaks, millist nuppu kontrollib. Meie kui avaldus kontrollib nupu olekut sisseehitatud funktsiooni abil digitaalne lugemine funktsiooni.
tühine checkPush (int pinNumber)
{
int buttonPushed = digitaalneRead (pinNumber);
if (buttonPushed == HIGH) {
// lisage siia kood, kui nuppu vajutatakse
}
else {
// lisage siia kood, kui nuppu ei vajutata
}
}
Kood lisatud kui avaldus käivitatakse nupu vajutamisel, samas kui kood on muidu avaldus töötab ainult siis, kui nuppu ei vajutata.
Põhiahela ehitamine
Viimase kooditükina, mille peate oma programmi lisama, on aeg luua void loop () funktsiooni. Vajame lihtsalt nelja koodirida: üks iga nupu jaoks, mille oleme oma Arduino külge kinnitanud. Need read kutsuvad funktsiooni, mille lõime eelmises etapis iga nupu PIN-koodiga.
void loop ()
{
checkPush (5);
checkPush (4);
checkPush (3);
checkPush (2);
}
Valmis kood
Kui olete kogu selle koodi paigas, peaks teie valmis programm välja nägema nagu allolev kood. Lisasime igale reale kommentaare, et oleks lihtsam mõista, kuid soovitame teil otsida ja lugeda kõike, mida te ei tunne. See võib olla suurepärane viis oma kodeerimisalaste teadmiste laiendamiseks.
int input4Pin = 5;
int input3Pin = 4;
int input2Pin = 3;
int input1Pin = 2;
// see deklareerib kõik meie nupud ja nende tihvtid
// veenduge, et kasutate kontakte, millega teie nupud on ühendatud
tühine seadistus ()
{
Serial.begin (57600); // see alustab jadaühendust edastuskiirusega 57600
pinMode (input4Pin, INPUT);
pinMode (input3Pin, INPUT);
pinMode (input2Pin, INPUT);
pinMode (input1Pin, INPUT); // need read deklareerivad iga nupu sisendiks
}
void loop ()
{
checkPush (5);
checkPush (4);
checkPush (3);
checkPush (2); // kõik need read kutsuvad meie funktsiooni checkPush erineva PIN-koodiga
}
void checkPush (int pinNumber) // see funktsioon ootab kutsumisel täisarvu
{
int buttonPushed = digitaalneRead (pinNumber); // see loeb nupu oleku selle PIN-koodi alusel
if (buttonPushed == HIGH) { // see kontrollib nupu olekut
// lisage siia kood, kui nuppu vajutatakse
}
else {
// lisage siia kood, kui nuppu ei vajutata
}
}
Edu: Arduinoga mitme nupu juhtmestik ja programmeerimine
See on lihtne projekt, millega alustada, kui soovite õppida Arduinose riist- ja tarkvara kohta. Saate hõlpsasti oma tehtut täiendavate komponentidega laiendada, andes teile võimaluse uurida palju põnevaid ideid ja luua asju, mille üle tunnete uhkust.
Arduino programmeerimine algajatele: valgusfoori kontrolleri projekti õpetus
Loe edasi
Seotud teemad
- DIY
- Programmeerimine
- Arduino
- Elektroonika
- Programmeerimine
- DIY projekti õpetused
Autori kohta
Samuel on Ühendkuningriigis asuv tehnoloogiakirjanik, kelle kirg on kõik isetegemine. Alustanud äritegevusega veebiarenduse ja 3D-printimise vallas ning töötanud aastaid kirjanikuna, pakub Samuel ainulaadset sissevaadet tehnoloogiamaailma. Keskendudes peamiselt isetegemise tehnoloogiaprojektidele, ei armasta ta muud kui lõbusate ja põnevate ideede jagamist, mida saate kodus proovida. Väljaspool tööd võib Samueli tavaliselt leida jalgrattaga sõitmas, arvutivideomänge mängimas või meeleheitlikult oma lemmiklooma krabiga suhelda.
Liituge meie uudiskirjaga
Liituge meie uudiskirjaga tehniliste näpunäidete, arvustuste, tasuta e-raamatute ja eksklusiivsete pakkumiste saamiseks!
Tellimiseks klõpsake siin