Trykknapper er utroligt almindelige i DIY Arduino-området, med utallige projekter på tværs af nettet, der er afhængige af disse små kontakter til at aktivere deres kode. Men hvordan kan du præcist forbinde og programmere mere end én trykknap til at fungere med din Arduino? Lad os finde ud af det.
Hvad laver vi?
Dette er et simpelt projekt, der er designet til at få dig i gang med mere komplekse Arduino-bygninger i fremtiden. Vi giver ikke vores knapper et job, men det betyder, at du kan vælge, hvad du vil have dem til at gøre for dig selv ved hjælp af en af vores andre praktiske DIY Arduino-guider.
Hvad har du brug for?
Du behøver kun en håndfuld dele for at fuldføre dette projekt, hvoraf mange allerede har i din DIY-delesamling.
- 4 x trykknapper
- 4 x 10kΩ modstande
- 1 x enhver type Arduino bord (vi bruger en Leonardo)
- PVC/silikone belagt tråd
Tilslutning af flere trykknapper med en Arduino
Ledningerne til dette projekt er enkle, men du skal være forsigtig med at undgå at få dine ledninger sammenfiltret, mens du laver hver forbindelse, da hver knap kræver to forskellige ledninger.
Startende enkelt giver det mening at forbinde en trykknap med dens positive ben forbundet til 5V-stiften på vores Arduino, og knappens jordben forbundet til både GND og Digital Pin 2 på vores Arduino bestyrelse. En modstand skal forbindes mellem knappens jordben og GND-stiften på Arduino.
Med en knap tilsluttet, er det tid til at tilføje de andre. Hver knap har brug for sin egen digitale pin; vi valgte 2, 3, 4 og 5 til de fire knapper, vi bruger, men enhver af de digitale pins vil fungere. Nu hvor din Arduino er tilsluttet, er det tid til at begynde at arbejde på koden.
Programmering af flere trykknapper med en Arduino
Koden til projektet er flot og enkel, uden behov for nogen klassebiblioteker eller anden kompliceret programmering.
Tildeling af knapper til pins
Til det første trin skal vi tildele vores knapper til de forskellige ben på vores Arduino-kort. Da vi brugte Digital Pins 2, 3, 4 og 5, er det disse pins, vi vil erklære med vores kode. Dette skal placeres øverst i dit Arduino-projekt før nogen af funktionerne.
int input4Pin = 5;
int input3Pin = 4;
int input2Pin = 3;
int input1Pin = 2;
Opsætning af knapper
Som med de fleste Arduino-projekter, vil vi bruge en funktion, der kører én gang i starten af programmet, kaldet ugyldig opsætning(). Først starter vi vores seriel forbindelse med en baudrate på 57600, efterfulgt af initialiseringen af vores knapper. Dette er alt, hvad vi har brug for i vores ugyldig opsætning() fungere.
ugyldig opsætning()
{
Serial.begin (57600); // dette begynder den serielle forbindelse med en baudrate på 57600
pinMode (input4Pin, INPUT);
pinMode (input3Pin, INPUT);
pinMode (input2Pin, INPUT);
pinMode (input1Pin, INPUT); // disse linjer erklærer hver af knapperne som input
}
Registrering af knaptryk
Dette næste trin er mere komplekst end de andre, da vi vil skabe vores egen funktion, der skal beskæftige sig med en variabel fra hovedløkkefunktionen. For at starte skal vi erklære vores funktion med en heltalsvariabel som koden nedenfor.
void checkPush (int pinNumber)
Efter dette skal vi tildele den variabel, vi bruger, og oprette en hvis erklæring for at registrere, hvornår hver knap trykkes. Denne funktion kan kun tjekke på knap ad gangen, ved at bruge den variabel, den får fra hovedløkkefunktionen, så den ved, hvilken knap det er. Vores hvis statement kontrollerer knappens tilstand ved hjælp af den indbyggede digitallæs fungere.
void checkPush (int pinNumber)
{
int buttonPushed = digitalRead (pinNumber);
if (knapSkuttet == HØJ) {
// tilføje kode her, når der trykkes på en knap
}
andet {
// tilføje kode her, når der ikke trykkes på en knap
}
}
Kode tilføjet til hvis statement vil køre, når der trykkes på en knap, mens kode i andet statement vil kun køre, når der ikke trykkes på en knap.
Opbygning af hovedsløjfen
Endelig, som det sidste stykke kode, du skal tilføje til dit program, er det tid til at bygge void loop() fungere. Vi mangler bare fire linjer kode: en for hver af de knapper, som vi har knyttet til vores Arduino. Disse linjer kalder den funktion, vi oprettede i det foregående trin, med pin-nummeret på hver knap.
void loop()
{
checkPush (5);
checkPush (4);
checkPush (3);
checkPush (2);
}
Den færdige kode
Når du har al denne kode på plads, skal dit færdige program se ud som koden nedenfor. Vi har tilføjet kommentarer til hver linje for at gøre det lettere at forstå, men vi opfordrer dig til at slå op og læse om alt, hvad du ikke genkender. Dette kan være en fantastisk måde at udvide din kodningsviden på.
int input4Pin = 5;
int input3Pin = 4;
int input2Pin = 3;
int input1Pin = 2;
// dette erklærer hver af vores knapper og deres stifter
// sørg for at bruge de stifter, som dine knapper er forbundet til
ugyldig opsætning()
{
Serial.begin (57600); // dette begynder den serielle forbindelse med en baudrate på 57600
pinMode (input4Pin, INPUT);
pinMode (input3Pin, INPUT);
pinMode (input2Pin, INPUT);
pinMode (input1Pin, INPUT); // disse linjer erklærer hver af knapperne som input
}
void loop()
{
checkPush (5);
checkPush (4);
checkPush (3);
checkPush (2); // hver af disse linjer kalder vores checkPush-funktion med et andet pin-nummer
}
void checkPush (int pinNumber) // denne funktion forventer en heltalsværdi, når den kaldes
{
int buttonPushed = digitalRead (pinNumber); // dette aflæser status for en knap baseret på dens pin-nummer
if (buttonPushed == HIGH) { // dette kontrollerer knappens tilstand
// tilføje kode her, når der trykkes på en knap
}
andet {
// tilføje kode her, når der ikke trykkes på en knap
}
}
Succes: Ledning og programmering af flere trykknapper med en Arduino
Dette er et nemt projekt at komme i gang med, når du vil lære om hardware og software til Arduinos. Du kan nemt udvide det, du har lavet, med yderligere komponenter, hvilket giver dig chancen for at udforske et væld af spændende ideer og skabe ting, der får dig til at føle dig stolt.
Arduino-programmering for begyndere: Traffic Light Controller Project Tutorial
Læs Næste
Relaterede emner
- gør det selv
- Programmering
- Arduino
- Elektronik
- Programmering
- DIY-projekttutorials
Om forfatteren
Samuel er en britisk-baseret teknologiskribent med en passion for alt, hvad der gør-det-selv. Efter at have startet virksomheder inden for webudvikling og 3D-print, sammen med arbejdet som forfatter i mange år, tilbyder Samuel et unikt indblik i teknologiens verden. Han fokuserer hovedsageligt på DIY tech-projekter og elsker intet mere end at dele sjove og spændende ideer, som du kan prøve derhjemme. Uden for arbejdet kan Samuel normalt findes cyklende, spille pc-videospil eller desperat forsøge at kommunikere med sin kæledyrskrabbe.
Abonner på vores nyhedsbrev
Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!
Klik her for at abonnere