INHOUDSOPGAWE:
- Stap 1: Bedraad die sleutelbord
- Stap 2: Voeg die Micro Servo by
- Stap 3: Pas die kode aan om die bedieningspaneel op die servo te gebruik
Video: Servopositoning met 'n toetsbord: 3 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
In hierdie instruksies sal ons 'n projek skep wat 'n mikro-servo beheer met 'n bedieningspaneel met 'n Arduino Uno.
Gebruikte materiaal:
Arduino Uno
Broodbord
4x4 klavier
Mikro-servo
Stap 1: Bedraad die sleutelbord
Die heel eerste idee wat u moet doen, is om die kragrail en die grondrail op u broodbord van u Arduino af te dra
- Koppel die 5V -pen aan die kragrail (rooi)
- Koppel 'n grondpen (GND) aan die aardrail (blou)
Noudat die broodbord krag het en gegrond is, kan ons ons komponente begin aansluit.
Dit is maklik om die bedieningspaneel aan te sluit, maar u moet let op die penne op die toetsbord en die arduino. Dit sal handig wees as ons ons aandag vestig op ons kode.
Onthou om aan die linkerkant te begin wanneer u u drade gebruik!
- Die eerste pen gaan na 13
- Die tweede pen gaan na 12
- Die derde pen gaan na 11
- Die vierde pen gaan na 10
- Vyfde pen tot 9
- Sesde pen tot 8
- Sewende pen tot 7
- Agtste pen tot 6
Onthou om 'n digitale pwm -pen oop te hou as u die bedieningspaneel aansluit. Ons benodig dit vir die mikroservo
Maak seker dat u die sleutelbordbiblioteek geïnstalleer het voordat ons by die kode kom. Dit kan gevind word in u skets, en dan die skets -oortjie, insluitend die biblioteek. Daarsonder kan u nie die sleutelbord gebruik nie.
Laat ons nou na die kode gaan en seker maak dat die bedieningspaneel werk en die waardes bygee
Vinnige aantekeninge: maak seker dat u die if -verklaring het om die toetsbord te kontroleer, anders werk dit nie. Wees ook versigtig vir vertragings; dit knoei met knoppies wat vanaf die bedieningspaneel geregistreer word
#insluit
const byte rye = 4; // vier rye aangesien die sleutelbord vol is
const byte kolomme = 4; // vier kolomme, dieselfde as hierbo
char knoppies [rye] [kolomme] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
greep ryP [rye] = {13, 12, 11, 10}; // rypenne van die klavier
greepkolomme P [kolomme] = {9, 8, 7, 6}; // kolompenne van die klavier
Toetsblok = Toetsenbord (makeKeymap (knoppies), rowP, kolommeP, rye, kolomme); // skep sleutelbord
ongeldige opstelling () {
Serial.begin (9600); }
leemte -lus () {
char buttonPressed = pad.getKey (); // haal die char van die bedieningspaneel af as (buttonPressed) // wys watter knoppie op die toetsbord {Serial.println (buttonPressed) gedruk is; }}
Stap 2: Voeg die Micro Servo by
Laat ons nou die servomotor byvoeg. Hierdie een is regtig maklik om by ons huidige projek te voeg, aangesien die mikrobediener slegs drie drade het.
- Bruin draad gaan na die grondrail op die broodbord
- Rooi gaan na die Power rail
- Oranje gaan na pen 3 op die Arduino. Onthou dat die mikrobediener 'n PWM -pen op die Arduino moet hê. Dit is te wyte aan die servo wat TIMER2 gebruik
Laat ons nou net seker maak dat ons die mikroservo reg bedraad het en dat dit beweeg
#include #include "Servo.h"
const byte rye = 4; // vier rye aangesien die sleutelbord vol is
const byte kolomme = 4; // vier kolomme, dieselfde as hierbo
char -knoppies [rye] [kolomme] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
greep ryP [rye] = {13, 12, 11, 10}; // rypenne van die klavier
greepkolomme P [kolomme] = {9, 8, 7, 6}; // kolompenne van die klavier
Toetsblok = Toetsenbord (makeKeymap (knoppies), rowP, kolommeP, rye, kolomme); // skep sleutelbord
Servo currentServo; // skep servo -voorwerp om 'n servo te beheer
// twaalf servo -voorwerpe kan op die meeste borde geskep word
int pos = 0; // veranderlike om die servoposisie op te slaan
ongeldige opstelling () {
Serial.begin (9600); currentServo.attach (3); // plak die servo op pen 9 aan die servo -voorwerp
}
leemte -lus () {
char buttonPressed = pad.getKey (); // haal die char van die bedieningspaneel af as (buttonPressed) // wys watter knoppie op die sleutelbord gedruk is {Serial.println (buttonPressed); }
currentServo.write (95);
}
Stap 3: Pas die kode aan om die bedieningspaneel op die servo te gebruik
Weet dat ons ons kode gaan verander sodat die servo na 'n spesifieke posisie beweeg wanneer ons op 'n spesifieke knoppie op die bedieningspaneel druk. Eerstens iets belangrik. Die servoposisie vir 0 was vreemd. Aangesien ek 'n servo met deurlopende rotasie gehad het, het die servo net begin draai wanneer dit naby 0 gekom het. Die nommer wat ek in die kode geplaas het, was so laag as wat ek kon sonder dat dit gebeur. In elk geval, hier is my laaste kode:
#include #include
const byte rye = 4; // vier rye aangesien die sleutelbord vol is
const byte kolomme = 4; // vier kolomme, dieselfde as hierbo
char -knoppies [rye] [kolomme] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C '}, {'*',' 0 ','#',' D '}};
greep ryP [rye] = {13, 12, 11, 10}; // rypenne van die klavier
greepkolomme P [kolomme] = {9, 8, 7, 6}; // kolompenne van die klavier
Toetsblok = Toetsenbord (makeKeymap (knoppies), rowP, kolommeP, rye, kolomme); // skep sleutelbord
Servo myServo; //
ongeldige opstelling () {
Serial.begin (9600); myServo.attach (5); // plak die servo op pen 9 aan die servo -voorwerp}
leemte -lus () {
char sleutel = pad.getKey (); // kry die char van die bedieningspaneel as (sleutel == '0') {myServo.write (11); Serial.println ("0"); vertraging (15); } if (sleutel == '1') {myServo.write (12); Serial.println ("1"); vertraging (15); } if (sleutel == '2') {myServo.write (24); Serial.println ("2"); vertraging (15); } if (sleutel == '3') {myServo.write (36); Serial.println ("3"); vertraging (15); }
as (sleutel == '4')
{myServo.write (48); Serial.println ("4"); vertraging (15); }
as (sleutel == '5')
{myServo.write (60); Serial.println ("5"); vertraging (15); }
as (sleutel == '6')
{myServo.write (72); Serial.println ("6"); vertraging (15); }
as (sleutel == '7')
{myServo.write (84); Serial.println ("7"); vertraging (15); }
as (sleutel == '8')
{myServo.write (96); Serial.println ("8"); vertraging (15); }
as (sleutel == '9')
{myServo.write (108); Serial.println ("9"); vertraging (15); }
as (sleutel == '*')
{myServo.write (120); Serial.println ("*"); vertraging (15); }
as (sleutel == '#')
{myServo.write (132); Serial.println ("#"); vertraging (15); }
as (sleutel == 'A')
{myServo.write (146); Serial.println ("A"); vertraging (15); }
as (sleutel == 'B')
{myServo.write (158); Serial.println ("B"); vertraging (15); }
as (sleutel == 'C')
{myServo.write (170); Serial.println ("C"); vertraging (15); }
as (sleutel == 'D')
{myServo.write (180); Serial.println ("D"); vertraging (15); }}
Aanbeveel:
Programmeerbare toetsbord: 5 stappe (met foto's)
Programmeerbare toetsbord: In hierdie projek sal ek wys hoe u 'n relatief eenvoudige en goedkoop programmeerbare toetsbord kan maak om u mees gebruikte kortpaaie, toepassings en meer in kaart te bring
Moderne en nuwe en makliker voorbeeld van kluis met Arduino Matrix -toetsbord 4x4: 3 stappe
Modern en nuut en makliker voorbeeld van kluis met Arduino Matrix -toetsbord 4x4: 'n Ander voorbeeld van die gebruik van 'n LCD -matriks met 'n LCD -toetsbord met 'n I2C -kring
4x4 matriksmembraan -toetsbord met Arduino Nano: 4 stappe
4x4 Matrix Membraan Toetsenbord Met Arduino Nano: 4x4 Matrix Membraan Toetsenbord is 'n bedieningspaneelmodule wat gereeld gebruik word om Arduino -projekte te maak, soos sakrekenaars, wagwoordinvoer en ander. Sleutel spesifikasie: maksimum
4x4 -toetsbord met Arduino en verwerking: 4 stappe (met foto's)
4x4 -toetsbord met Arduino en verwerking: hou u nie van LCD -skerms nie? Wil u u projekte aantreklik laat lyk? Wel, hier is die oplossing. In hierdie instruksies kan u uself bevry van die moeite om 'n LCD -skerm te gebruik om inhoud van u Arduino te vertoon en ook u projek te maak
Arduino Digital Code Lock -projek met behulp van Matrix -toetsbord: 9 stappe
Arduino Digital Code Lock Project Using Matrix Keypad: Bou 'n digitale code lock toestel met Arduino en Qwiic stelsel met behulp van Zio M Uno en 'n Hex 4x3 Matrix Keyboard. in. In hierdie tutoriaal sal ons gebruik wys