Sadržaj:
Video: Servo zaključavanje tipkovnice: 5 koraka
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Pozdrav svima, nadam se da ste imali dobar dan. Ako ne, nadamo se da se možete jednostavno vratiti s nekim otvorenim mišljenjem do ovog vodiča i neke terapeutske glazbe. Programiranje može biti gnjavaža. Srećom, ovaj vodič nije gnjavaža pa ćete možda uspjeti postići popularnu stvar koja se zove (moćnim glasom): ULTIMATIVNA SERVO ZAKLJUČAVANJE TASTATURA !!! To je zapravo samo moj uvod, nadam se da vam se svidio. U svakom slučaju, zagrijmo prste za tipkanje. (Kul pjesma: pjesma can-can (klasična glazba)).
Pribor:
-Tvoji prsti
-I tvoje ruke, to je važno
-USB kabel za Arduino
-Dostupna je svaka vrsta arduina (imam Arduino Mega)
-Matrix tipkovnica (tipkovnica - ebay, tipkovnica - amazon)
-Mikro ili standardni servo (koristim mikro servo)
-* Opcionalno* Oglasna ploča - bilo koje vrste
-* Dodatno* Napajanje (5V)
Korak 1: Shematski prikaz vremena
Dakle, što prvo učiniti? Priključite Arduino na računalo. Zatim spojite tipkovnicu. *Napomena - morate spojiti pinove s posljednjeg pina na tipkovnici kao prvog digitalnog pina na arduinu. I idite zdesna nalijevo nakon toga*. Tipkovnica ima pinove 2-9 na arduinu. Servo ima pin 10 kao digitalni signal. Priključite i temelje arduina, tipkovnice i serva te 5V. * Također imajte na umu - da se servo najbolje koristi s vanjskim izvorom napajanja ili adapterom s 5 V (zidni utikač), ali je još uvijek izborno.* Ne morate fizički vezati uzemljenje i 5 V, mislim na to samo za pričvršćivanje žice s Arduina na servo. Ova shema ne pomaže početnicima, pa mi dopustite da ukratko objasnim. U osnovi, zadnji pin je 2, a prvi 9, dva je 8, tri je 7 itd. Idite s lijeva na desno 2 2.
Korak 2: Vrijeme kodiranja
U redu, sada prelazimo na dio kodiranja! Ovdje se događa prava čarolija! Dakle, postoji testni program za prvo testiranje tipkovnice i serva. Ovdje:
//www.elegoo.com//2016.12.9
/* @datoteka CustomKeypad.pde
|| @verzija 1.0 || @autor Alexander Brevig || @kontakt [email protected] || || @opis || | Pokazuje promjenu veličine tipkovnice i vrijednosti tipki. || # */ #uključuje
const byte ROWS = 4; // četiri reda
const bajt COLS = 4; // četiri stupca // definiraju činele na gumbima tipkovnice char hexaKeys [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5 ',' 6 ',' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}}; byte rowPins [ROWS] = {9, 8, 7, 6}; // povezivanje s pinout -ovima reda bajta tipkovnice colPins [COLS] = {5, 4, 3, 2}; // povezivanje s ispisima stupaca tipkovnice
// inicijalizira instancu klase NewKeypad
Tipkovnica customKeypad = Tipkovnica (makeKeymap (hexaKeys), rowPins, colPins, ROWS, COLS);
void setup () {
Serial.begin (9600); } void loop () {char customKey = customKeypad.getKey (); if (customKey) {Serial.println (customKey); }}
//www.elegoo.com//2016.12.08 #include
Servo myservo; // 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 () {
myservo.attach (9); // priključuje servo na pin 9 na servo objekt}
void loop () {{100} {101}
for (pos = 0; pos = 0; pos -= 1) {// ide od 180 stupnjeva do 0 stupnjeva myservo.write (pos); // reći servo da ide na položaj u varijabli 'poz' kašnjenje (15); // čeka 15ms da servo dođe do položaja}}
Evo šifre projekta (bit ću iskren s vama, nisam puno učinio, samo sam dodao servo dio, zahvali se ljudima koji su napravili sav kôd!):
#uključi lozinku.h
#uključi tipkovnicu
/*
|| Jednostavan unos lozinke pomoću matrične tipkovnice || 5.4.2012. Ažuriranja Nathan Sobieck: [email protected] || *
/* služi za potvrdu lozinke
//# je pokušaj poništavanja lozinke
/////////////////////////////////////////////////////////////////
#uključi
//https://www.arduino.cc/playground/uploads/Code/Password.zip #include //https://www.arduino.cc/playground/uploads/Code/Keypad.zip
Lozinka lozinke = Lozinka ("1234");
Servo myservo; // izrada servo objekta za upravljanje servo pogonom
#define servoPin 10
const byte ROWS = 4; // Četiri reda
const bajt COLS = 4; // stupci // Definirajte ključeve znakova karte karte [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}};
byte rowPins [ROWS] = {9, 8, 7, 6}; // Spojite tipkovnicu ROW0, ROW1, ROW2 i ROW3 na ove Arduino pinove.
bajt colPins [COLS] = {5, 4, 3, 2,}; // Spojite tipkovnicu COL0, COL1 i COL2 na ove Arduino pinove.
// Stvaranje tipkovnice
Tipkovnica tipkovnice = Tipkovnica (makeKeymap (tipke), rowPins, colPins, ROWS, COLS);
void setup () {
myservo.attach (servoPin); // priključuje servo na pin 9 na servo objekt
Serial.begin (9600);
keypad.addEventListener (keypadEvent); // dodamo slušatelja događaja za ovu tipkovnicu
myservo.write (0);
}
void loop () {{100} {101}
tipkovnica.getKey ();
}
// pobrinuti se za neke posebne događaje
void keypadEvent (KeypadEvent eKey) {switch (keypad.getState ()) {case PRESSED: switch (eKey) {case '*': checkPassword (); pauza; zadano: password.append (eKey); }}}
void checkPassword () {
if (password.evaluate () == true) {Serial.println ("Uspjeh"); // Dodajte kôd za pokretanje ako radi
myservo.write (180);
kašnjenje (3000);
myservo.write (0);
lozinka.reset ();
} else if (password.evaluate () == false) {
Serial.println ("Pogrešno");
myservo.write (0);
// dodavanje koda za pokretanje ako nije radio
}
}
Korak 3: Što sve ovo znači?
Gornji kôd (prvi) dat će signal Servo -u da "pomesti" ili samo ide od 0 do 180 stupnjeva. Ili samo dovršite pola kruga rotacije slijeva nadesno ili zdesna nalijevo. Ako želite više detalja o kodu, mogu vam reći. Samo pitajte. Nema štete, samo jednostavno pitanje. Hajde, možeš ti to! U svakom slučaju, kôd u sredini testira svaki gumb na tipkovnici. I posljednji kod se samo "otključava" sa servo pogonom kada upišete zaporku "1234" u, pogađate, tipkovnicu.
Korak 4: Rješavanje problema
P: Moja tipkovnica ne radi.
O: Zapamtite da je prvi pin 9 pa siđite dolje odatle. Također svakako spojite arduino na USB priključak računala i programirajte Arduino.
P: Servo ne radi.
O: Upamtite da je servo pin 10 i da vam je potrebno zajedničko uzemljenje. Ako se povezujete izravno s Arduina, imajte na umu da je narančasti pin (na mikro servu) pin 10, crveni pin 5V, a smeđi pin je GND pin.
P: Arduino ne radi:
O: Jeste li ga uopće povezali? To zvuči kao osobni problem
Korak 5: Ako imate bilo kakvih pitanja, slobodno pitajte u odjeljku za komentare i ne zaboravite se pretplatiti
Ćao, hvala što ste pogledali moj vodič. Bilo je zabavno.