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.

instagram viewer

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

DalītiesČivinātDalītiesE-pasts

Saistītās tēmas

  • DIY
  • Programmēšana
  • Arduino
  • Elektronika
  • Programmēšana
  • DIY projektu apmācības

Par autoru

Semjuels L. Garbets (Publicēti 36 raksti)

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.

Vairāk no Samuela L. Garbets

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