Trykknapper er utrolig vanlige i DIY Arduino-området, med utallige prosjekter over hele nettet som er avhengige av disse små bryterne for å aktivere koden deres. Men hvordan kan du koble og programmere mer enn én trykknapp for å fungere med din Arduino? La oss finne det ut.
Hva lager vi?
Dette er et enkelt prosjekt som er designet for å komme i gang med mer komplekse Arduino-bygg i fremtiden. Vi vil ikke gi knappene våre en jobb, men dette betyr at du kan velge hva du vil at de skal gjøre for deg selv ved å bruke en av våre andre praktiske DIY Arduino-guider.
Hva trenger du?
Du trenger bare en håndfull deler for å fullføre dette prosjektet, mange av dem vil du allerede ha i DIY-delssamlingen din.
- 4 x trykknappbrytere
- 4 x 10kΩ motstander
- 1 x hvilken som helst type Arduino-brett (vi bruker en Leonardo)
- PVC/silikonbelagt ledning
Koble til flere trykknapper med en Arduino
Kablingen for dette prosjektet er enkel, men du må være forsiktig for å unngå å få ledningene sammenfiltret når du oppretter hver tilkobling, siden hver knapp krever to forskjellige ledninger.
Starter enkelt, er det fornuftig å koble en trykknapp med det positive benet koblet til 5V-pinnen på Arduinoen vår, og knappens jordbein koblet til både GND og Digital Pin 2 på Arduinoen vår borde. En motstand må kobles mellom knappens jordbein og GND-pinnen på Arduino.
Med én knapp koblet til, er det på tide å legge til de andre. Hver knapp trenger sin egen digitale pin; vi valgte 2, 3, 4 og 5 for de fire knappene vi bruker, men alle de digitale pinnene vil fungere. Nå som din Arduino er koblet til, er det på tide å begynne å jobbe med koden.
Programmering av flere trykknapper med en Arduino
Koden for prosjektet er fin og enkel, uten behov for noen klassebiblioteker eller annen komplisert programmering.
Tilordne knapper til pinner
For det første trinnet må vi tilordne knappene våre til de forskjellige pinnene på Arduino-brettet vårt. Siden vi brukte Digital Pins 2, 3, 4 og 5, er dette pinnene vi vil deklarere med koden vår. Dette bør plasseres på toppen av Arduino-prosjektet ditt, før noen av funksjonene.
int input4Pin = 5;
int input3Pin = 4;
int input2Pin = 3;
int input1Pin = 2;
Sette opp knappene
Som med de fleste Arduino-prosjekter, vil vi bruke en funksjon som vil kjøre en gang i begynnelsen av programmet, kalt ugyldig oppsett(). Først vil vi starte serieforbindelsen vår med en overføringshastighet på 57600, etterfulgt av initialisering av knappene våre. Dette er alt vi trenger i vår ugyldig oppsett() funksjon.
ugyldig oppsett()
{
Serial.begin (57600); // dette starter den serielle forbindelsen med en overføringshastighet på 57600
pinMode (input4Pin, INPUT);
pinMode (input3Pin, INPUT);
pinMode (input2Pin, INPUT);
pinMode (input1Pin, INPUT); // disse linjene erklærer hver av knappene som en inngang
}
Oppdager knappetrykk
Dette neste trinnet er mer komplekst enn de andre, da vi skal lage vår egen funksjon som skal håndtere en variabel fra hovedsløyfefunksjonen. For å starte, må vi deklarere funksjonen vår med en heltallsvariabel som koden nedenfor.
void checkPush (int pinNumber)
Etter dette må vi tilordne variabelen vi bruker og lage en hvis uttalelse for å oppdage når hver knapp trykkes. Denne funksjonen kan kun sjekke på knapp om gangen, ved å bruke variabelen den får fra hovedsløyfefunksjonen slik at den vet hvilken knapp som sjekker. Vår hvis statement sjekker statusen til knappen ved hjelp av den innebygde digitallest funksjon.
void checkPush (int pinNumber)
{
int buttonPushed = digitalRead (pinnummer);
if (knappPushet == HØY) {
// legg til kode her for når en knapp trykkes
}
annet {
// legg til kode her for når en knapp ikke trykkes
}
}
Kode lagt til hvis statement vil kjøre når en knapp trykkes, mens koden i ellers statement vil bare kjøre når en knapp ikke trykkes.
Bygging av hovedsløyfen
Til slutt, som den siste kodebiten du må legge til programmet ditt, er det på tide å bygge void loop() funksjon. Vi trenger bare fire linjer med kode: en for hver av knappene som vi har festet til Arduinoen vår. Disse linjene kaller funksjonen vi opprettet i forrige trinn med pin-nummeret til hver knapp.
void loop()
{
sjekkPush (5);
sjekkPush (4);
sjekkPush (3);
sjekkPush (2);
}
Den ferdige koden
Når du har all denne koden på plass, skal det ferdige programmet se ut som koden nedenfor. Vi har lagt til kommentarer til hver linje for å gjøre det lettere å forstå, men vi oppfordrer deg til å slå opp og lese om alt du ikke kjenner igjen. Dette kan være en fin måte å utvide kodingskunnskapen din på.
int input4Pin = 5;
int input3Pin = 4;
int input2Pin = 3;
int input1Pin = 2;
// dette erklærer hver av våre knapper og deres pinner
// sørg for at du bruker pinnene knappene dine er koblet til
ugyldig oppsett()
{
Serial.begin (57600); // dette starter den serielle forbindelsen med en overføringshastighet på 57600
pinMode (input4Pin, INPUT);
pinMode (input3Pin, INPUT);
pinMode (input2Pin, INPUT);
pinMode (input1Pin, INPUT); // disse linjene erklærer hver av knappene som en inngang
}
void loop()
{
sjekkPush (5);
sjekkPush (4);
sjekkPush (3);
sjekkPush (2); // hver av disse linjene kaller vår checkPush-funksjon med et annet pin-nummer
}
void checkPush (int pinNumber) // denne funksjonen forventer en heltallsverdi når den kalles
{
int buttonPushed = digitalRead (pinnummer); // dette leser statusen til en knapp basert på pin-nummeret
if (buttonPushed == HIGH) { // dette sjekker statusen til knappen
// legg til kode her for når en knapp trykkes
}
annet {
// legg til kode her for når en knapp ikke trykkes
}
}
Suksess: Kobling og programmering av flere trykknapper med en Arduino
Dette er et enkelt prosjekt å komme i gang med når du vil lære om maskinvare og programvare for Arduinos. Du kan enkelt utvide det du har laget med tilleggskomponenter, noe som gir deg sjansen til å utforske et vell av spennende ideer og lage ting som får deg til å føle deg stolt.
Arduino-programmering for nybegynnere: Traffic Light Controller Project Tutorial
Les Neste
Relaterte temaer
- DIY
- Programmering
- Arduino
- Elektronikk
- Programmering
- DIY-prosjektveiledninger
Om forfatteren

Samuel er en britisk-basert teknologiskribent med en lidenskap for alt som er DIY. Etter å ha startet virksomheter innen webutvikling og 3D-printing, sammen med å ha jobbet som forfatter i mange år, tilbyr Samuel et unikt innblikk i teknologiens verden. Han fokuserer hovedsakelig på DIY-teknologiske prosjekter, og elsker ingenting mer enn å dele morsomme og spennende ideer som du kan prøve hjemme. Utenfor jobb kan Samuel vanligvis bli funnet på sykkel, spiller PC-videospill eller desperat forsøk på å kommunisere med kjæledyrkrabben sin.
Abonner på vårt nyhetsbrev
Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Klikk her for å abonnere