Spiedpogas ir neticami izplatītas DIY Arduino telpā, un neskaitāmi projekti visā tīmeklī paļaujas uz šiem mazajiem slēdžiem, lai aktivizētu savu kodu. Bet kā tieši jūs varat pievienot un ieprogrammēt vairāk nekā vienu spiedpogu, lai strādātu ar savu Arduino? Noskaidrosim.
Ko mēs darām?
Šis ir vienkāršs projekts, kas paredzēts, lai nākotnē jūs varētu sākt ar sarežģītākām Arduino versijām. Mēs nepiešķirsim savām pogām darbu, taču tas nozīmē, ka varat izvēlēties, ko vēlaties, lai tās dara pats, izmantojot kādu no mūsu ērtajām DIY Arduino rokasgrāmatām.
Ko tev vajag?
Lai pabeigtu šo projektu, jums ir nepieciešamas tikai dažas daļas, no kurām daudzas jau būs jūsu DIY detaļu kolekcijā.
- 4 x spiedpogu slēdži
- 4 x 10kΩ rezistori
- 1 x Jebkurš Arduino dēļa veids (mēs izmantojam Leonardo)
- PVC/silikona pārklājuma stieple
Vairāku spiedpogu pieslēgšana ar Arduino
Šī projekta elektroinstalācija ir vienkārša, taču jums jābūt uzmanīgam, lai katra savienojuma laikā nesajauktos vadi, jo katrai pogai ir nepieciešami divi dažādi vadi.
Sākot no vienkāršas, ir lietderīgi savienot vienu spiedpogu ar pozitīvo kāju, kas savienota ar 5 V tapu mūsu Arduino un pogas zemējuma kājiņa ir savienota gan ar GND, gan ar Digital Pin 2 mūsu Arduino dēlis. Rezistoram jābūt savienotam starp pogas zemējuma kāju un Arduino GND tapu.
Kad viena poga ir pievienota, ir pienācis laiks pievienot pārējās. Katrai pogai ir nepieciešams savs digitālais PIN; Mēs izvēlējāmies 2, 3, 4 un 5 četrām izmantotajām pogām, taču darbosies jebkura no digitālajām tapām. Tagad, kad jūsu Arduino viss ir savienots, ir pienācis laiks sākt strādāt pie koda.
Vairāku spiedpogu programmēšana ar Arduino
Projekta kods ir jauks un vienkāršs, nav nepieciešamas nekādas klašu bibliotēkas vai cita sarežģīta programmēšana.
Pogu piešķiršana piespraudēm
Pirmajā solī mums ir jāpiešķir mūsu pogas dažādām mūsu Arduino plates tapām. Tā kā mēs izmantojām 2., 3., 4. un 5. digitālās tapas, šīs ir tapas, kuras mēs paziņosim ar mūsu kodu. Tas jānovieto jūsu Arduino projekta augšdaļā pirms jebkuras funkcijas.
int input4Pin = 5;
int input3Pin = 4;
int input2Pin = 3;
int input1Pin = 2;
Pogu iestatīšana
Tāpat kā lielākajā daļā Arduino projektu, mēs izmantosim funkciju, kas programmas sākumā darbosies vienu reizi, ko sauc nederīgs iestatījums (). Vispirms mēs sāksim seriālo savienojumu ar bodu ātrumu 57600, kam sekos mūsu pogu inicializācija. Tas ir viss, kas mums vajadzīgs nederīgs iestatījums () funkcija.
nederīgs iestatījums ()
{
Serial.begin (57600); // tas sāk seriālo savienojumu ar datu pārraides ātrumu 57600
pinMode (input4Pin, INPUT);
pinMode (input3Pin, INPUT);
pinMode (input2Pin, INPUT);
pinMode (input1Pin, INPUT); // šīs rindas deklarē katru no pogām kā ievadi
}
Pogu nospiešanas noteikšana
Šis nākamais posms ir sarežģītāks par citiem, jo mēs izveidosim savu funkciju, kas darbosies ar mainīgo no galvenās cilpas funkcijas. Lai sāktu, mums ir jādeklarē sava funkcija ar veselu skaitļu mainīgo, piemēram, tālāk norādīto kodu.
spēkā neesošs checkPush (int pinNumber)
Pēc tam mums ir jāpiešķir izmantotais mainīgais un jāizveido ja paziņojums, lai noteiktu, kad tiek nospiesta katra poga. Šī funkcija var vienlaikus pārbaudīt tikai pogu, izmantojot mainīgo, ko tā iegūst no galvenās cilpas funkcijas, lai tā zinātu, kura poga tiek pārbaudīta. Mūsu ja paziņojums pārbauda pogas stāvokli, izmantojot iebūvēto digitalRead funkcija.
spēkā neesošs checkPush (int pinNumber)
{
int pogaPushed = digitalRead (pinNumber);
if (buttonPushed == AUGSTS) {
// šeit pievienojiet kodu, kad tiek nospiesta poga
}
else {
// šeit pievienojiet kodu, ja poga netiek nospiesta
}
}
Kods ir pievienots ja paziņojums tiks palaists, kad tiek nospiesta poga, bet kods cits paziņojums darbosies tikai tad, ja poga netiks nospiesta.
Galvenās cilpas veidošana
Visbeidzot, kā pēdējo koda daļu, kas jāpievieno programmai, ir pienācis laiks izveidot tukšuma cilpa () funkcija. Mums ir vajadzīgas tikai četras koda rindas: viena katrai pogai, ko esam pievienojuši savam Arduino. Šīs līnijas izsauc funkciju, ko izveidojām iepriekšējā darbībā, izmantojot katras pogas PIN numuru.
tukšuma cilpa ()
{
checkPush (5);
checkPush (4);
checkPush (3);
checkPush (2);
}
Pabeigtais kods
Kad viss šis kods ir ievietots, jūsu pabeigtajai programmai vajadzētu izskatīties kā tālāk norādītajam kodam. Katrai rindiņai esam pievienojuši komentārus, lai to būtu vieglāk saprast, taču iesakām meklēt un izlasīt par visu, ko neatpazīstat. Tas var būt lielisks veids, kā paplašināt savas zināšanas par kodēšanu.
int input4Pin = 5;
int input3Pin = 4;
int input2Pin = 3;
int input1Pin = 2;
// tas deklarē katru mūsu pogu un to tapas
// pārliecinieties, vai izmantojat tapas, ar kurām ir pievienotas jūsu pogas
nederīgs iestatījums ()
{
Serial.begin (57600); // tas sāk seriālo savienojumu ar datu pārraides ātrumu 57600
pinMode (input4Pin, INPUT);
pinMode (input3Pin, INPUT);
pinMode (input2Pin, INPUT);
pinMode (input1Pin, INPUT); // šīs rindas deklarē katru no pogām kā ievadi
}
tukšuma cilpa ()
{
checkPush (5);
checkPush (4);
checkPush (3);
checkPush (2); // katra no šīm rindām izsauc mūsu checkPush funkciju ar atšķirīgu PIN numuru
}
void checkPush (int pinNumber) // šī funkcija sagaida vesela skaitļa vērtību, kad tā tiek izsaukta
{
int pogaPushed = digitalRead (pinNumber); // tas nolasa pogas stāvokli, pamatojoties uz tās PIN numuru
if (buttonPushed == HIGH) { // tas pārbauda pogas stāvokli
// šeit pievienojiet kodu, kad tiek nospiesta poga
}
else {
// šeit pievienojiet kodu, ja poga netiek nospiesta
}
}
Panākumi: vadu pievienošana un vairāku spiedpogu programmēšana ar Arduino
Šis ir vienkāršs projekts, ar kuru sākt, ja vēlaties uzzināt par Arduinos aparatūru un programmatūru. Varat viegli paplašināt savu paveikto, izmantojot papildu komponentus, sniedzot iespēju izpētīt daudz aizraujošu ideju un radīt lietas, kas liek jums justies lepnam.
Arduino programmēšana iesācējiem: luksoforu kontroliera projekta apmācība
Lasiet Tālāk
Saistītās tēmas
- DIY
- Programmēšana
- Arduino
- Elektronika
- Programmēšana
- DIY projektu apmācības
Par autoru
Samuels ir Apvienotajā Karalistē dzīvojošs tehnoloģiju rakstnieks, kurš aizraujas ar visu, ko darāt. Uzsācis uzņēmējdarbību tīmekļa izstrādes un 3D drukāšanas jomā, kā arī ilgus gadus strādājis par rakstnieku, Samuels piedāvā unikālu ieskatu tehnoloģiju pasaulē. Viņš galvenokārt koncentrējas uz DIY tehnoloģiju projektiem, un viņam nekas vairāk patīk, kā vien dalīties jautrās un aizraujošās idejās, kuras varat izmēģināt mājās. Ārpus darba Samuelu parasti var atrast braucam ar velosipēdu, spēlējam datora videospēles vai izmisīgi mēģina sazināties ar savu mājdzīvnieku krabi.
Abonējiet mūsu biļetenu
Pievienojieties mūsu informatīvajam izdevumam, lai saņemtu tehniskos padomus, pārskatus, bezmaksas e-grāmatas un ekskluzīvus piedāvājumus!
Noklikšķiniet šeit, lai abonētu