Sadržaj:

Servo zaključavanje tastature: 5 koraka
Servo zaključavanje tastature: 5 koraka

Video: Servo zaključavanje tastature: 5 koraka

Video: Servo zaključavanje tastature: 5 koraka
Video: Как на самом деле работает Spring AOP [Путешествие с Spring AOP — Часть 2] 2024, Novembar
Anonim
Servo zaključavanje tastature
Servo zaključavanje tastature
Servo zaključavanje tastature
Servo zaključavanje tastature
Servo zaključavanje tastature
Servo zaključavanje tastature

Pozdrav svima, nadam se da ste imali dobar dan. Ako ne, nadamo se da se možete vratiti s malo otvorenog uma prema ovom vodiču i malo 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 zaista samo moj uvod, nadam se da vam se dopao. U svakom slučaju, zagrijajmo prste za tipkanje. (Odlična pjesma: pjesma can-can (klasična muzika)).

Potrošni materijal:

-Tvoji prsti

-I tvoje ruke, to je važno

-USB kabel za Arduino

-Svaka vrsta arduina na raspolaganju (imam Arduino Mega)

-Matrix tastatura (tastatura - ebay, tastatura - amazon)

-Mikro ili standardni servo (koristim mikro servo)

-* Opcionalno* Oglasna ploča - bilo koje vrste

-* Opcionalno* Napajanje (5V)

Korak 1: Šematski prikaz vremena

Shematic Time!
Shematic Time!
Shematic Time!
Shematic Time!

Dakle, šta prvo učiniti? Priključite Arduino na računar. Zatim povežite tastaturu. *Napomena - morate povezati pinove s posljednjeg pina na tipkovnici kao prvog digitalnog pina na arduinu. I idite zdesna nalijevo nakon toga*. Tastatura ima pinove 2-9 na arduinu. Servo ima pin 10 kao digitalni signal. Priključite uzemljenje arduina, tastature i serva, kao i 5V. * Također imajte na umu - da se servo najbolje koristi s vanjskim izvorom napajanja ili adapterom sa 5V (zidni utikač), ali je još uvijek opcionalno.* Ne morate fizički vezati uzemljenje i 5V, na to mislim 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, posljednji pin je 2, a prvi 9, dva je 8, tri je 7 itd. Idite s lijeva na desno 2 2.

Korak 2: Vrijeme kodiranja

Coding Time!
Coding Time!
Coding Time!
Coding Time!

U redu, sada prelazimo na dio kodiranja! Tu se događa prava čarolija! Dakle, postoji testni program za prvo testiranje tastature i serva. Ovdje:

//www.elegoo.com//2016.12.9

/* @datoteka CustomKeypad.pde

|| @verzija 1.0 || @autor Alexander Brevig || @kontakt [email protected] || || @description || | Pokazuje promjenu veličine tastature i vrijednosti tipki. || # */ #include

const bajt ROWS = 4; // četiri reda

const bajt COLS = 4; // četiri kolone // definišu činele na tasterima tastature char hexaKeys [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5 ',' 6 ',' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}}; bajtovi rowPins [ROWS] = {9, 8, 7, 6}; // povezivanje sa pinout -ovima reda bajta tastature colPins [COLS] = {5, 4, 3, 2}; // povezivanje sa pinout -ovima kolone tastature

// inicijalizira instancu klase NewKeypad

Tastatura customKeypad = Tastatura (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; // kreiranje servo objekta za upravljanje servo pogonom

// na većini ploča može se stvoriti dvanaest servo objekata

int pos = 0; // varijabla za spremanje servo pozicije

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 stepeni do 0 stepeni myservo.write (poz); // kaže servo da ide na poziciju u varijabli 'poz' delay (15); // čeka 15ms da servo dođe do pozicije}}

Evo šifre projekta (bit ću iskren s vama, nisam učinio mnogo, samo sam dodao servo dio, zahvali se ljudima koji su napravili sav kôd!):

#include Password.h

#include Tastatura

/*

|| Jednostavan unos lozinke pomoću matrične tastature || 4.5.2012. Ažuriranja Nathan Sobieck: [email protected] || *

/* služi za potvrdu lozinke

//# je za pokušaj poništavanja lozinke

/////////////////////////////////////////////////////////////////

#include

//https://www.arduino.cc/playground/uploads/Code/Password.zip #include //https://www.arduino.cc/playground/uploads/Code/Keypad.zip

Lozinka lozinka = Lozinka ("1234");

Servo myservo; // kreiranje servo objekta za upravljanje servo pogonom

#define servoPin 10

const bajt ROWS = 4; // Četiri reda

const bajt COLS = 4; // stupci // Definiranje ključeva char karte karte [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}};

bajtovi rowPins [ROWS] = {9, 8, 7, 6}; // Spojite tipkovnicu ROW0, ROW1, ROW2 i ROW3 na ove Arduino pinove.

bajtovi colPins [COLS] = {5, 4, 3, 2,}; // Spojite tipkovnicu COL0, COL1 i COL2 na ove Arduino pinove.

// Kreiranje tastature

Tastatura tastature = Tastatura (makeKeymap (tasteri), rowPins, colPins, ROWS, COLS);

void setup () {

myservo.attach (servoPin); // priključuje servo na pin 9 na servo objekt

Serial.begin (9600);

keypad.addEventListener (keypadEvent); // dodavanje slušača događaja za ovu tastaturu

myservo.write (0);

}

void loop () {{100} {101}

keypad.getKey ();

}

// voditi računa o nekim posebnim događajima

void keypadEvent (KeypadEvent eKey) {switch (keypad.getState ()) {case PRESSED: switch (eKey) {case '*': checkPassword (); break; default: password.append (eKey); }}}

void checkPassword () {

if (password.evaluate () == true) {Serial.println ("Uspjeh"); // Dodavanje koda za pokretanje ako radi

myservo.write (180);

kašnjenje (3000);

myservo.write (0);

password.reset ();

} else if (password.evaluate () == false) {

Serial.println ("Pogrešno");

myservo.write (0);

// dodavanje koda za pokretanje ako nije radio

}

}

Korak 3: Šta sve ovo znači?

Šta sve ovo znači?
Šta sve ovo znači?

Gornji kôd (prvi) će dati signal Servo -u da "pomeri" ili samo pređe od 0 do 180 stepeni. 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, kod u sredini testira svako dugme na tastaturi. I posljednji kod se samo "otključava" sa servo upravljačem kada unesete pristupni ključ "1234" u, pogađate, tastaturu.

Korak 4: Rješavanje problema

Rješavanje problema
Rješavanje problema

P: Moja tastatura ne radi.

O: Zapamtite da je prvi pin 9 pa siđite odatle. Također svakako spojite arduino na USB priključak računala i programirajte Arduino.

P: Servo ne radi.

O: Zapamtite da je servo pin pin 10 i da vam je potrebno zajedničko uzemljenje. Ako se povezujete ravno 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 lični 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.

Preporučuje se: