Indholdsfortegnelse:
- Trin 1: Tilslut tastaturet
- Trin 2: Tilføj mikroservoen
- Trin 3: Rediger kode for at bruge tastaturet på servoen
Video: Servopositoning med et tastatur: 3 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
I denne instruktive opbygger vi et projekt, der styrer en Micro-Servo med et tastatur, der kører det med en Arduino Uno.
Anvendte materialer:
Arduino Uno
Brødbræt
4x4 tastatur
Mikro-servo
Trin 1: Tilslut tastaturet
Den allerførste tanke, du skal gøre, er at tilslutte strømskinnen og jordingsskinnen til dit brødbræt fra din Arduino
- Tilslut 5V -stiften til strømskinnen (rød)
- Tilslut en jordstift (GND) til jordskinnen (blå)
Nu hvor brødbrættet har strøm og er jordet, kan vi begynde at tilslutte vores komponenter.
Tilslutning af tastaturet er let, men du skal notere benene på tastaturet og arduino. Det vil være praktisk, når vi retter vores opmærksomhed mod vores kode.
Husk at starte til venstre, når du bruger dine ledninger!
- Første pin går til 13
- Anden pin går til 12
- Tredje pin går til 11
- Fjerde pin går til 10
- Femte pin til 9
- Sjette pin til 8
- Syvende pin til 7
- Ottende pin til 6
Når du tilslutter tastaturet, skal du huske at holde en digital pwm -pin åben. Vi får brug for det til mikroservoen
Inden vi kommer til koden, skal du kontrollere, at du har installeret tastaturbiblioteket. Det kan findes i din skitse, derefter skitser fanen, inkluderer bibliotek. Du kan ikke bruge tastaturet uden det.
Lad os nu vende os til koden og sikre, at tastaturet fungerer og giver de overvågede værdier
Hurtige noter: Sørg for at have if -sætningen til at kontrollere tastaturet, ellers fungerer det ikke. Vær også forsigtig med forsinkelser, de vil rode med knapper, der registreres fra tastaturet
#omfatte
const byte rækker = 4; // fire rækker, da tastaturet er fuldt
const byte kolonner = 4; // fire kolonner, samme som ovenfor
tegnknapper [rækker] [kolonner] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
byte rækkeP [rækker] = {13, 12, 11, 10}; // stifter på tastaturet
byte kolonnerP [kolonner] = {9, 8, 7, 6}; // søjlepinde på tastaturet
Tastatur = tastatur (makeKeymap (knapper), rowP, kolonnerP, rækker, kolonner); // opret tastatur
ugyldig opsætning () {
Serial.begin (9600); }
void loop () {
char buttonPressed = pad.getKey (); // hent char fra tastaturet hvis (buttonPressed) // vis hvilken knap der blev trykket på tastaturet {Serial.println (buttonPressed); }}
Trin 2: Tilføj mikroservoen
Lad os nu tilføje servomotoren. Denne er virkelig let at tilføje til vores nuværende projekt, da mikroserveren kun har tre ledninger.
- Brun tråd går til jordskinne på brødbrættet
- Rød går til Power rail
- Orange går til Pin 3 på Arduino. Husk, at mikroserveren skal have en PWM -pin på Arduino. Dette skyldes, at servoen bruger TIMER2
Lad os nu bare sørge for, at vi har tilsluttet mikroservoen rigtigt, og at den bevæger sig
#include #include "Servo.h"
const byte rækker = 4; // fire rækker, da tastaturet er fuldt
const byte kolonner = 4; // fire kolonner, samme som ovenfor
tegnknapper [rækker] [kolonner] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
byte rækkeP [rækker] = {13, 12, 11, 10}; // stifter på tastaturet
byte kolonnerP [kolonner] = {9, 8, 7, 6}; // søjlepinde på tastaturet
Tastatur = Tastatur (makeKeymap (knapper), rowP, kolonnerP, rækker, kolonner); // opret tastatur
Servo currentServo; // opret et servoobjekt for at styre en servo
// tolv servoobjekter kan oprettes på de fleste tavler
int pos = 0; // variabel til lagring af servopositionen
ugyldig opsætning () {
Serial.begin (9600); currentServo.attach (3); // fastgør servoen på pin 9 til servoobjektet
}
void loop () {
char buttonPressed = pad.getKey (); // hent char fra tastaturet hvis (buttonPressed) // vis hvilken knap der blev trykket på tastaturet {Serial.println (buttonPressed); }
currentServo.write (95);
}
Trin 3: Rediger kode for at bruge tastaturet på servoen
Ved, at vi vil ændre vores kode, så når vi trykker på en bestemt knap på tastaturet, flytter servoen til en bestemt position. En ting af betydning først. Servopositionen for 0 var underlig. Da jeg havde en kontinuerlig rotation servo, når den kom tæt på 0, begyndte servoen lige at snurre. Det nummer, jeg satte i koden, var så lavt, som jeg kunne gå, uden at det skete. Anyways, her er min sidste kode:
#include #include
const byte rækker = 4; // fire rækker, da tastaturet er fuldt
const byte kolonner = 4; // fire kolonner, samme som ovenfor
tegnknapper [rækker] [kolonner] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
byte rækkeP [rækker] = {13, 12, 11, 10}; // stifter på tastaturet
byte kolonnerP [kolonner] = {9, 8, 7, 6}; // søjlepinde på tastaturet
Tastatur = tastatur (makeKeymap (knapper), rowP, kolonnerP, rækker, kolonner); // opret tastatur
Servo myServo; //
ugyldig opsætning () {
Serial.begin (9600); myServo.attach (5); // fastgør servoen på pin 9 til servoobjektet}
void loop () {
char nøgle = pad.getKey (); // hent char fra tastaturet if (key == '0') {myServo.write (11); Serial.println ("0"); forsinkelse (15); } if (key == '1') {myServo.write (12); Serial.println ("1"); forsinkelse (15); } if (key == '2') {myServo.write (24); Serial.println ("2"); forsinkelse (15); } if (key == '3') {myServo.write (36); Serial.println ("3"); forsinkelse (15); }
hvis (nøgle == '4')
{myServo.write (48); Serial.println ("4"); forsinkelse (15); }
hvis (nøgle == '5')
{myServo.write (60); Serial.println ("5"); forsinkelse (15); }
hvis (nøgle == '6')
{myServo.write (72); Serial.println ("6"); forsinkelse (15); }
hvis (nøgle == '7')
{myServo.write (84); Serial.println ("7"); forsinkelse (15); }
hvis (nøgle == '8')
{myServo.write (96); Serial.println ("8"); forsinkelse (15); }
hvis (nøgle == '9')
{myServo.write (108); Serial.println ("9"); forsinkelse (15); }
hvis (nøgle == '*')
{myServo.write (120); Serial.println ("*"); forsinkelse (15); }
hvis (key == '#')
{myServo.write (132); Serial.println ("#"); forsinkelse (15); }
hvis (key == 'A')
{myServo.write (146); Serial.println ("A"); forsinkelse (15); }
hvis (nøgle == 'B')
{myServo.write (158); Serial.println ("B"); forsinkelse (15); }
hvis (key == 'C')
{myServo.write (170); Serial.println ("C"); forsinkelse (15); }
hvis (key == 'D')
{myServo.write (180); Serial.println ("D"); forsinkelse (15); }}
Anbefalede:
HotKeys -tastatur med tilpassede profiler: 14 trin (med billeder)
HotKeys -tastatur med tilpassede profiler: Jeg håber, at du har det godt midt i denne pandemi. Pas godt på dig selv. Vær stærk. #COVID19 Da jeg er industriel designer, skal jeg dagligt få adgang til mere end 7-8 software, der inkluderer Solidworks, Photoshop, Illustrator, Keyshot, Indesign osv. Og ja få
4x4 tastatur med Arduino og behandling: 4 trin (med billeder)
4x4 tastatur med Arduino og forarbejdning: Kan du ikke lide LCD -skærme? Vil du få dine projekter til at se tiltalende ud? Nå, her er løsningen. I denne instruks kan du frigøre dig fra besværet med at bruge en LCD -skærm til at vise indhold fra din Arduino og også gøre dit projekt
RGB USB -tastatur med en knap: 6 trin (med billeder)
RGB USB -tastatur med en knap: Har du nogensinde følt behov for at have et lille, men funktionelt, RGB -baggrundsbelyst tastatur, der ikke er større end størrelsen på en enkelt tast? Ingen? Hvem bekymrer sig, lav en alligevel! Denne instruktive vil guide dig gennem de trin, du har brug for for at gøre din helt egen, lidt ubrugelig, på
Bas, diskant og volumen USB -controller med tastatur -LED'er: 6 trin (med billeder)
Bas-, diskant- og volumen -USB -controller med tastatur -LED'er: Jeg har en Creative SoundBlaster Audigy i min stationære computer, og jeg havde brug for en måde til hurtigt at justere bas- og diskantindstillingerne (samt lydstyrken), når jeg lytter til lyd- eller videomedier . Jeg har tilpasset koden fra to kilder i
Hurtigt og snavset tastatur (tomt tastatur): 3 trin
Quick and Dirty Das Keyboard (Blank Keyboard): A Das Keyboard is the name of the most popular keyboard with no inscriptions on the keys (blank keyboard). Das tastatur sælges til $ 89,95. Denne instruktive vil guide dig, selvom du selv laver en med et gammelt tastatur, du har liggende