Sadržaj:
- Korak 1: Povežite tipkovnicu
- Korak 2: Dodajte mikro servo
- Korak 3: Izmijenite kôd za korištenje tipkovnice na servo servisu
Video: Servo pozicioniranje s tipkovnicom: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
U ovom uputstvu stvarat ćemo projekt koji će kontrolirati Micro-Servo s tipkovnicom koja radi s Arduino Uno.
Korišteni materijali:
Arduino Uno
Oglasna ploča
4x4 tipkovnica
Mikro-servo
Korak 1: Povežite tipkovnicu
Prva pomisao koju trebate učiniti je ožičenje razvodnika i uzemljenja na vašoj ploči s vašeg Arduina
- Spojite 5V pin na električni vod (crveno)
- Spojite pin za uzemljenje (GND) na uzemljenje (plavo)
Sada kada ploča ima snagu i je uzemljena, možemo početi ožičavati naše komponente.
Ožičenje tipkovnice je jednostavno, ali morate uzeti u obzir iglice na tipkovnici i arduinu. Dobro će nam doći kada svoju pozornost usmjerimo na svoj kôd.
Ne zaboravite početi s lijeve strane kada koristite svoje žice!
- Prvi pin ide na 13
- Drugi pin ide na 12
- Treći pin ide na 11
- Četvrti pin ide na 10
- Peti pin na 9
- Šesti pin na 8
- Sedmi pin na 7
- Osmi pin na 6
Prilikom povezivanja tipkovnice ne zaboravite držati digitalni pwm pin otvoren. Trebat će nam za mikro-servo
Prije nego što dođemo do koda, provjerite jeste li instalirali knjižnicu tipkovnice. Može se pronaći na skici, zatim na kartici skice, uključi biblioteku. Bez nje nećete moći koristiti tipkovnicu.
Sada se okrenimo kodu i provjerite radi li tipkovnica i daje prisutne vrijednosti
Brze napomene: Provjerite imate li if naredbu za provjeru tipkovnice, inače neće raditi. Također budite oprezni s kašnjenjima, zabrljat će s gumbima koji se registriraju s tipkovnice
#uključi
redovi const bajtova = 4; // četiri reda jer je tipkovnica puna
stupci const byte = 4; // četiri stupca, isto kao gore
gumbi char [retci] [stupci] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
bajtni redP [retci] = {13, 12, 11, 10}; // redne pinove tipkovnice
bajtni stupciP [stupci] = {9, 8, 7, 6}; // pinovi stupaca tipkovnice
Tipkovnica = Tipkovnica (makeKeymap (gumbi), rowP, columnsP, retci, stupci); // izrada tipkovnice
void setup () {
Serial.begin (9600); }
void loop () {{100} {101}
char buttonPressed = pad.getKey (); // dobivamo char s tipkovnice if (buttonPressed) // prikazuje koja je tipka pritisnuta na tipkovnici {Serial.println (buttonPressed); }}
Korak 2: Dodajte mikro servo
Sada dodajmo servo motor. Ovaj je zaista lako dodati našem trenutnom projektu jer mikro poslužitelj ima samo tri žice.
- Smeđa žica ide do uzemljenja na ploči
- Crvena prelazi na Power rail
- Narančasta ide na Pin 3 na Arduinu. Zapamtite da mikro poslužitelj mora imati PWM pin na Arduinu. To je zbog servo korištenja TIMER2
Sada samo provjerimo je li mikro servo ožičen ispravno i da li se pomiče
#include #include "Servo.h"
redovi const bajtova = 4; // četiri reda jer je tipkovnica puna
stupci const byte = 4; // četiri stupca, isto kao gore
gumbi char [retci] [stupci] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
bajtni redP [retci] = {13, 12, 11, 10}; // redne pinove tipkovnice
bajtni stupciP [stupci] = {9, 8, 7, 6}; // pinovi stupaca tipkovnice
Tipkovnica = Tipkovnica (makeKeymap (gumbi), rowP, columnsP, retci, stupci); // izrada tipkovnice
Servo strujaServo; // izrada servo objekta za upravljanje servo pogonom
// na većini ploča može se stvoriti dvanaest servo objekata
int pos = 0; // varijabla za spremanje položaja serva
void setup () {
Serial.begin (9600); currentServo.attach (3); // priključuje servo na pin 9 na servo objekt
}
void loop () {{100} {101}
char buttonPressed = pad.getKey (); // dobivamo char s tipkovnice if (buttonPressed) // prikazuje koja je tipka pritisnuta na tipkovnici {Serial.println (buttonPressed); }
currentServo.write (95);
}
Korak 3: Izmijenite kôd za korištenje tipkovnice na servo servisu
Znajte da ćemo promijeniti kôd tako da se, kada pritisnemo određeni gumb na tipkovnici, servo pomakne na određeni položaj. Prva stvar od važnosti. Položaj serva za 0 bio je čudan. Budući da sam imao servo s kontinuiranom rotacijom, kad god bi se približio 0, servo se samo počeo vrtjeti. Broj koji sam stavio u kôd bio je najniži što sam mogao, a da se to ne dogodi. U svakom slučaju, evo mog konačnog koda:
#include #include
redovi const bajtova = 4; // četiri reda jer je tipkovnica puna
stupci const byte = 4; // četiri stupca, isto kao gore
gumbi char [retci] [stupci] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
bajtni redP [retci] = {13, 12, 11, 10}; // redne pinove tipkovnice
bajtni stupciP [stupci] = {9, 8, 7, 6}; // pinovi stupaca tipkovnice
Tipkovnica = Tipkovnica (makeKeymap (gumbi), rowP, columnsP, retci, stupci); // izrada tipkovnice
Servo myServo; //
void setup () {
Serial.begin (9600); myServo.attach (5); // priključuje servo na pin 9 na servo objekt}
void loop () {{100} {101}
char ključ = pad.getKey (); // dobivamo char s tipkovnice if (key == '0') {myServo.write (11); Serial.println ("0"); kašnjenje (15); } if (key == '1') {myServo.write (12); Serial.println ("1"); kašnjenje (15); } if (key == '2') {myServo.write (24); Serial.println ("2"); kašnjenje (15); } if (key == '3') {myServo.write (36); Serial.println ("3"); kašnjenje (15); }
if (ključ == '4')
{myServo.write (48); Serial.println ("4"); kašnjenje (15); }
if (ključ == '5')
{myServo.write (60); Serial.println ("5"); kašnjenje (15); }
if (ključ == '6')
{myServo.write (72); Serial.println ("6"); kašnjenje (15); }
if (ključ == '7')
{myServo.write (84); Serial.println ("7"); kašnjenje (15); }
if (ključ == '8')
{myServo.write (96); Serial.println ("8"); kašnjenje (15); }
if (ključ == '9')
{myServo.write (108); Serial.println ("9"); kašnjenje (15); }
if (ključ == '*')
{myServo.write (120); Serial.println ("*"); kašnjenje (15); }
if (ključ == '#')
{myServo.write (132); Serial.println ("#"); kašnjenje (15); }
if (ključ == 'A')
{myServo.write (146); Serial.println ("A"); kašnjenje (15); }
if (ključ == 'B')
{myServo.write (158); Serial.println ("B"); kašnjenje (15); }
if (ključ == 'C')
{myServo.write (170); Serial.println ("C"); kašnjenje (15); }
if (ključ == 'D')
{myServo.write (180); Serial.println ("D"); kašnjenje (15); }}
Preporučeni:
Izgled željezničke pruge kontroliranom tipkovnicom V2.5 - PS/2 sučelje: 12 koraka
Izgled željezničke pruge kontroliranom tipkovnicom V2.5 | PS/2 sučelje: Koristeći Arduino mikrokontrolere, postoji mnogo načina za kontrolu rasporeda željezničkih modela. Tipkovnica ima veliku prednost jer ima puno tipki za dodavanje mnogo funkcija. Evo da vidimo kako možemo početi s jednostavnim rasporedom s lokomotivom i
Upravljač tipkovnicom za MAME i virtualni fliper: 4 koraka (sa slikama)
Uredi sam tipkovnički kontroler za MAME i virtualni fliper: Ovaj skup uputa omogućuje vam da sami izradite svoj kontroler tipkovnice koristeći stare tipkovnice po cijeni neke žice, lemljenja i komada drva. Ovi kontroleri su korišteni u mojim projektima MAME i virtualni fliper .Vidite Virtualni Pinball Inst
Korištenje Arduino Uno za XYZ pozicioniranje 6 DOF robotske ruke: 4 koraka
Korištenje Arduino Uno za XYZ pozicioniranje 6 DOF robotske ruke: Ovaj projekt govori o implementaciji kratke i relativno jednostavne Arduino skice za pružanje XYZ inverznog kinematičkog pozicioniranja. Napravio sam robotsku ruku sa 6 servo -a, ali što se tiče pronalaženja softvera za njeno pokretanje, nije bilo puno toga osim custa
Upravljanje tipkovnicom servo motora: 7 koraka
Upravljanje tipkovnicom servo motora: Prvo je postavljanje servo motora. Srednja žica ide na priključak 5V Lijevo ide na priključak GND Spojite posljednju (upravljačku žicu) na priključak 9
Apple stalak za miš sa tipkovnicom/tipkovnicom: 4 koraka
Stalak za ogrtač od Apple-miša/tipkovnice: Imate li u ormaru nekoliko onih groznih Appleovih miševa? Vrijeme je za izradu stalka za kapute. Vrijeme izgradnje je ~ 2 sata, plus vrijeme sušenja ljepila. Trebat će vam: dva paška miša dva komada klinova (1 do 1,5 inča, po vašem izboru) četiri vijka za drvo dva nosača