Inhoudsopgave:
- Stap 1: bedraad het toetsenbord
- Stap 2: Voeg de Micro Servo toe
- Stap 3: Wijzig de code om het toetsenbord op de servo te gebruiken
Video: Servopositionering met een toetsenbord: 3 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
In deze instructable zullen we een project maken dat een Micro-Servo bestuurt met een toetsenbord waarop het wordt uitgevoerd met een Arduino Uno.
Gebruikte materialen:
Arduino Uno
Breadboard
4x4 toetsenbord
Micro-servo
Stap 1: bedraad het toetsenbord
Het allereerste wat u hoeft te doen, is de stroomrail en de aardingsrail op uw breadboard vanaf uw Arduino te bedraden
- Sluit de 5V-pin aan op de stroomrail (rood)
- Sluit een aardingspin (GND) aan op de aardingsrail (blauw)
Nu het breadboard stroom heeft en geaard is, kunnen we beginnen met het bedraden van onze componenten.
Het bedraden van het toetsenbord is eenvoudig, maar u moet rekening houden met de pinnen op het toetsenbord en de arduino. Het zal van pas komen als we onze aandacht op onze code richten.
Denk eraan om aan de linkerkant te beginnen wanneer u uw draden gebruikt!
- Eerste pin gaat naar 13
- Tweede pin gaat naar 12
- Derde pin gaat naar 11
- Vierde pin gaat naar 10
- Vijfde pin naar 9
- Zesde pin naar 8
- Zevende pin naar 7
- Achtste pin tot 6
Denk eraan om bij het bedraden van het toetsenbord een digitale pwm-pin open te houden. We hebben het nodig voor de micro-servo
Voordat we bij de code komen, moet u ervoor zorgen dat u de toetsenbordbibliotheek hebt geïnstalleerd. Het is te vinden in uw schets, vervolgens op het schetstabblad, inclusief bibliotheek. Zonder kunt u het toetsenbord niet gebruiken.
Laten we nu naar de code gaan en ervoor zorgen dat het toetsenbord werkt en de bewaakte waarden geeft
Snelle opmerkingen: zorg ervoor dat u de if-instructie hebt om het toetsenbord te controleren, anders werkt het niet. Pas ook op voor vertragingen, ze zullen knoeien met knoppen die worden geregistreerd vanaf het toetsenbord
#erbij betrekken
const byte rijen = 4; // vier rijen omdat het toetsenbord vol is
const byte kolommen = 4; // vier kolommen, hetzelfde als hierboven
char knoppen[rijen][kolommen] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C'}, {'*', '0', '#', 'D'} };
byte rijP[rijen] = {13, 12, 11, 10}; //rij pinnen van het toetsenbord
byte kolommenP[kolommen] = {9, 8, 7, 6}; //kolom pinnen van het toetsenbord
Toetsenbord pad = Toetsenbord (makeKeymap (knoppen), rijP, kolommenP, rijen, kolommen); // toetsenbord maken
ongeldige setup(){
Serieel.begin(9600); }
lege lus(){
char buttonPressed = pad.getKey(); // haal de char van het toetsenbord als (knop ingedrukt) // laat zien op welke knop op het toetsenbord is gedrukt { Serial.println (knop ingedrukt); } }
Stap 2: Voeg de Micro Servo toe
Laten we nu de servomotor toevoegen. Deze is heel eenvoudig toe te voegen aan ons huidige project, omdat de microserver slechts drie draden heeft.
- Bruine draad gaat naar de aardingsrail op het breadboard
- Rood gaat naar de Power rail
- Oranje gaat naar pin 3 op de Arduino. Onthoud dat de microserver een PWM-pin op de Arduino moet hebben. Dit komt doordat de servo TIMER2 gebruikt
Laten we er nu voor zorgen dat we de micro-servo goed hebben aangesloten en dat deze beweegt
#include #include "Servo.h"
const byte rijen = 4; // vier rijen omdat het toetsenbord vol is
const byte kolommen = 4; // vier kolommen, hetzelfde als hierboven
char knoppen[rijen][kolommen] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C'}, {'*', '0', '#', 'D'} };
byte rijP[rijen] = {13, 12, 11, 10}; //rij pinnen van het toetsenbord
byte kolommenP[kolommen] = {9, 8, 7, 6}; //kolom pinnen van het toetsenbord
Toetsenbord pad = Toetsenbord (makeKeymap (knoppen), rijP, kolommenP, rijen, kolommen); // toetsenbord maken
ServostroomServo; // maak een servo-object om een servo te besturen
// Op de meeste borden kunnen twaalf servo-objecten worden gemaakt
int pos = 0; // variabel om de servopositie op te slaan
ongeldige setup(){
Serieel.begin(9600); huidigeServo.attach(3); // bevestigt de servo op pin 9 aan het servo-object
}
lege lus(){
char buttonPressed = pad.getKey(); // haal de char van het toetsenbord als (knop ingedrukt) // laat zien op welke knop op het toetsenbord is gedrukt { Serial.println (knop ingedrukt); }
huidigeServo.write(95);
}
Stap 3: Wijzig de code om het toetsenbord op de servo te gebruiken
Weet dat we onze code gaan aanpassen, zodat wanneer we op een bepaalde knop op het toetsenbord drukken, de servo naar een bepaalde positie gaat. Eerst iets van belang. De servopositie voor 0 was raar. Omdat ik een servo met continue rotatie had, begon de servo net te draaien wanneer deze dicht bij 0 kwam. Het nummer dat ik in de code zette was zo laag als ik kon gaan zonder dat dat gebeurde. Hoe dan ook, hier is mijn definitieve code:
#include #include
const byte rijen = 4; // vier rijen omdat het toetsenbord vol is
const byte kolommen = 4; // vier kolommen, hetzelfde als hierboven
char knoppen[rijen][kolommen] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C'}, {'*', '0', '#', 'D'} };
byte rijP[rijen] = {13, 12, 11, 10}; //rij pinnen van het toetsenbord
byte kolommenP[kolommen] = {9, 8, 7, 6}; //kolom pinnen van het toetsenbord
Toetsenbord pad = Toetsenbord (makeKeymap (knoppen), rijP, kolommenP, rijen, kolommen); // toetsenbord maken
Servo mijnServo; //
ongeldige setup(){
Serieel.begin(9600); mijnServo.attach(5); // bevestigt de servo op pin 9 aan het servo-object}
lege lus(){
char key = pad.getKey(); // haal de char van het toetsenbord if(key == '0') { myServo.write (11); Serieel.println("0"); vertraging (15); } if(key == '1') { myServo.write (12); Serieel.println("1"); vertraging (15); } if(key == '2') { myServo.write(24); Serieel.println("2"); vertraging (15); } if(key == '3') { myServo.write(36); Serieel.println("3"); vertraging (15); }
if(toets == '4')
{ mijnServo.write(48); Serieel.println("4"); vertraging (15); }
if(toets == '5')
{ mijnServo.write(60); Serieel.println("5"); vertraging (15); }
if(toets == '6')
{ mijnServo.write(72); Serieel.println("6"); vertraging (15); }
if(toets == '7')
{ mijnServo.write(84); Serieel.println("7"); vertraging (15); }
if(toets == '8')
{ mijnServo.write(96); Serieel.println("8"); vertraging (15); }
if(toets == '9')
{ mijnServo.write(108); Serieel.println("9"); vertraging (15); }
if(toets == '*')
{ mijnServo.write(120); Serieel.println("*"); vertraging (15); }
if(toets == '#')
{ mijnServo.write(132); Serieel.println("#"); vertraging (15); }
if(toets == 'A')
{ mijnServo.write(146); Serieel.println("A"); vertraging (15); }
if(toets == 'B')
{ mijnServo.write(158); Serieel.println("B"); vertraging (15); }
if(toets == 'C')
{ mijnServo.write(170); Serieel.println("C"); vertraging (15); }
if(toets == 'D')
{ mijnServo.write(180); Serieel.println("D"); vertraging (15); } }
Aanbevolen:
Een USB-hub maken van een oud toetsenbord ?♻: 3 stappen (met afbeeldingen)
Een USB-hub maken van een oud toetsenbord ?♻: As-Salaamu-Alaikum! Ik heb een oud toetsenbord dat niet in gebruik was en ook de toetsen waren een beetje defect. Dus besloot ik er iets aan te doen. Ik nam de printplaat en zette het om in "USB Hub".Het was gemakkelijk
Snel en vies Das-toetsenbord (leeg toetsenbord): 3 stappen
Snel en vies Das-toetsenbord (leeg toetsenbord): Een Das-toetsenbord is de naam van het populairste toetsenbord zonder inscripties op de toetsen (leeg toetsenbord). Het Das-toetsenbord kost $ 89,95. Deze instructable zal je helpen om er zelf een te maken met elk oud toetsenbord dat je hebt liggen
Een USB-toetsenbord installeren in een OLPC XO-laptop, fase I: 8 stappen (met afbeeldingen)
Een USB-toetsenbord installeren in een OLPC XO-laptop, fase I: ik weet niet hoe het met u zit, maar ik kan siliconen zeker van het echte werk onderscheiden. Hier leest u hoe u de gelei kunt dumpen en een normaal USB-toetsenbord met toetsen en veren in een OLPC XO-laptop kunt persen. Dit is "fase I" -- het toetsenbord in de l
De taak voltooien: een USB-toetsenbord installeren in een OLPC XO-laptop, fase II: 6 stappen
De klus afmaken: een USB-toetsenbord installeren in een OLPC XO-laptop, fase II: voor een man die het grootste deel van zijn leven heeft doorgebracht met zijn vingers verbonden met de thuisrij, heeft het toevoegen van dit USB-toetsenbord dat ik echt kan typen op een enorm verschil in de bruikbaarheid van de XO. Dit is "fase II" -- de kabel erin steken
Apple aluminium toetsenbord schoonmaken of een ander soft-touch toetsenbord - Ajarnpa
Apple aluminium toetsenbord schoonmaken… of een ander zacht aanvoelend toetsenbord: hoe schoon u of ik ook proberen onze aluminium appeltoetsenborden te houden, ze worden na een jaar of zo smerig. Dit instructable is om u te helpen het op te ruimen. Wees voorzichtig, want ik ben niet verantwoordelijk als je toetsenbord breekt terwijl je dit doet….ZUIGT F