Innholdsfortegnelse:

Tastatur Servolås: 5 trinn
Tastatur Servolås: 5 trinn

Video: Tastatur Servolås: 5 trinn

Video: Tastatur Servolås: 5 trinn
Video: VW Golf how to authorize keyfob remote control open/close /authorize the VW KEY/ 433MHz 2024, Juli
Anonim
Tastatur Servolås
Tastatur Servolås
Tastatur Servolås
Tastatur Servolås
Tastatur Servolås
Tastatur Servolås

Hei alle sammen, håper dere har hatt en fin dag. Hvis ikke forhåpentligvis kan du bare spole tilbake med et åpent sinn til denne opplæringen og litt terapeutisk musikk. Programmering kan være vanskelig. Heldigvis er denne opplæringen ikke noe problem, så du kan kanskje oppnå en populær ting som kalles (med mektig stemme): THE ULTIMATE SERVO KEYPAD LOCK !!! Det er egentlig bare min introduksjon, håper du likte den. Uansett, la oss få fingrene varme opp for å skrive. (En kul sang: can-can song (klassisk musikk)).

Rekvisita:

-Fingrene dine

-Hendene dine også, det er viktig

-USB -kabel for Arduino

-Alle typer arduino tilgjengelig (jeg har Arduino Mega)

-Matrix -tastatur (tastatur - eBay, tastatur - Amazon)

-Mikro eller standard servo (jeg bruker en mikro servo)

-* Valgfritt* Brødbrett - hvilken som helst type

-* Valgfritt* Strømforsyning (5V)

Trinn 1: Skjematisk tid

Skjematisk tid!
Skjematisk tid!
Skjematisk tid!
Skjematisk tid!

Så, hva gjør du først? Koble Arduino til datamaskinen. Koble til tastaturet neste. *Merk - du må koble pinnene fra den siste pinnen på tastaturet som den første digitale pinnen på arduinoen. Og gå fra høyre til venstre etter det*. Tastaturet har pinne 2-9 på arduinoen. Servoen har pin 10 som digitale signaler. Knytt begrunnelsen for arduino, tastatur og servo og 5V også. * Vær også oppmerksom på - at servoen er best brukt med en ekstern strømkilde eller en adapter med 5V (veggplug -in), men det er fortsatt valgfritt.* Du trenger ikke å knytte grunnen og 5V fysisk, det jeg mener er bare for å feste en ledning fra Arduino til servoen. Denne skjemaet hjelper ikke nybegynnere, så la meg forklare i detalj. I utgangspunktet er den siste pinnen 2 og den første er 9, to er 8, tre er 7, og så videre. Gå fra venstre til høyre 22.

Trinn 2: Kodetid

Kodingstid!
Kodingstid!
Kodingstid!
Kodingstid!

Ok, så nå går vi til kodingsdelen! Det er her den virkelige magien skjer! Så det er et testprogram for først å teste tastaturet og servoen. Her:

//www.elegoo.com//2016.12.9

/* @fil CustomKeypad.pde

|| @versjon 1.0 || @forfatter Alexander Brevig || @kontakt [email protected] || || @beskrivelse || | Demonstrerer endring av tastaturstørrelse og nøkkelverdier. || # */ # inkludere

const byte RADER = 4; // fire rader

const byte COLS = 4; // fire kolonner // definer symbolene på knappene på tastaturene 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}; // koble til radutklippene til tastaturet byte colPins [COLS] = {5, 4, 3, 2}; // koble til kolonneutklippene på tastaturet

// initialiser en forekomst av klassen NewKeypad

Tastatur customKeypad = Tastatur (makeKeymap (hexaKeys), rowPins, colPins, ROWS, COLS);

ugyldig oppsett () {

Serial.begin (9600); } void loop () {char customKey = customKeypad.getKey (); if (customKey) {Serial.println (customKey); }}

//www.elegoo.com//2016.12.08 #include

Servo myservo; // lage servoobjekt for å kontrollere en servo

// tolv servoobjekter kan opprettes på de fleste tavler

int pos = 0; // variabel for å lagre servoposisjonen

ugyldig oppsett () {

myservo.attach (9); // fester servoen på pinne 9 til servoobjektet}

void loop () {

for (pos = 0; pos = 0; pos -= 1) {// går fra 180 grader til 0 grader myservo.write (pos); // be servoen om å gå til posisjon i variabelen 'pos' forsinkelse (15); // venter 15 ms på at servoen når posisjonen}}

Her er prosjektkoden (jeg skal være ærlig med deg, jeg gjorde ikke mye, jeg la bare til servodelen, si takk til menneskene som lagde all koden!):

#include Password.h

#include Tastatur

/*

|| Enkel passordoppføring ved hjelp av matrisetastatur || 05.04.2012 Oppdateringer Nathan Sobieck: [email protected] || *

/* er å validere passordet

//# er å tilbakestille passordforsøk

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

#inkludere

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

Passord passord = Passord ("1234");

Servo myservo; // lage servoobjekt for å kontrollere en servo

#define servoPin 10

const byte RADER = 4; // Fire rader

const byte COLS = 4; // kolonner // Definer Keymap -tastene [RADER] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}};

byte rowPins [ROWS] = {9, 8, 7, 6}; // Koble tastaturet ROW0, ROW1, ROW2 og ROW3 til disse Arduino -pinnene.

byte colPins [COLS] = {5, 4, 3, 2,}; // Koble tastaturet COL0, COL1 og COL2 til disse Arduino -pinnene.

// Lag tastaturet

Tastatur tastatur = Tastatur (makeKeymap (nøkler), rowPins, colPins, ROWS, COLS);

ugyldig oppsett () {

myservo.attach (servoPin); // fester servoen på pinne 9 til servoobjektet

Serial.begin (9600);

tastatur.addEventListener (tastaturEvent); // legg til en hendelseslytter for dette tastaturet

myservo.write (0);

}

void loop () {

tastatur.getKey ();

}

// ta vare på noen spesielle arrangementer

void keypadEvent (KeypadEvent eKey) {switch (keypad.getState ()) {case PRESSED: switch (eKey) {case '*': checkPassword (); gå i stykker; standard: password.append (eKey); }}}

void checkPassword () {

if (password.evaluate () == true) {Serial.println ("Suksess"); // Legg til kode for å kjøre hvis den fungerer

myservo.write (180);

forsinkelse (3000);

myservo.write (0);

reset passord();

} annet hvis (password.evaluate () == false) {

Serial.println ("Feil");

myservo.write (0);

// legg til kode for å kjøre hvis det ikke fungerte

}

}

Trinn 3: Hva betyr alt dette?

Hva betyr alt dette?
Hva betyr alt dette?

Koden ovenfor (den første) vil gi et signal til Servoen om å "feie" eller bare gå fra 0 til 180 grader. Eller bare fullføre en halv rotasjonssirkel fra venstre til høyre eller høyre til venstre. Hvis du vil ha mer informasjon om koden, kan jeg fortelle deg. Bare spør. Ingen skade gjort, bare et enkelt lite spørsmål. Kom igjen, du klarer det! Uansett, koden i midten tester hver knapp på tastaturet. Og den siste av koden bare "låser opp" med servoen når du skriver inn nøkkelen "1234" i, du gjettet det, tastaturet.

Trinn 4: Feilsøking

Feilsøking
Feilsøking

Spørsmål: Tastaturet mitt fungerer ikke.

A: Husk at den første pinnen er 9, så gå ned derfra. Sørg også for å koble arduinoen til USB -porten på datamaskinen og programmere Arduino.

Spørsmål: Servo fungerer ikke.

A: Husk at servostiften er pin 10 og at du trenger en felles grunn, hvis du kobler rett fra Arduino, husk at den oransje pinnen (på mikroservoen) er pin 10, den røde pinnen er 5V, og den brun pinne er GND -pinnen.

Spørsmål: Arduino fungerer ikke:

A: Har du til og med koblet den? Det høres ut som et personlig problem

Trinn 5: Hvis du har spørsmål, er du velkommen til å spørre i kommentarfeltet og husk å abonnere

Hei, takk for at du så på opplæringen min. Det har vært morsomt.

Anbefalt: