Indholdsfortegnelse:

Tastatur Servolås: 5 trin
Tastatur Servolås: 5 trin

Video: Tastatur Servolås: 5 trin

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

Hej alle sammen, håber i havde en god dag. Hvis ikke forhåbentlig kan du bare spole tilbage med et åbent sind til denne vejledning og noget terapeutisk musik. Programmering kan være besværligt. Heldigvis er denne vejledning ikke noget besvær, så du kan muligvis udføre en populær ting kaldet (med mægtig stemme): THE ULTIMATE SERVO NØGLEPÅLÅS !!! Det er egentlig bare min introduktion, håber du kunne lide det. Anyway, lad os få vores fingre varm til at skrive. (En sej sang: can-can sang (klassisk musik)).

Tilbehør:

-Dine fingre

-Dine hænder også, det er vigtigt

-USB -kabel til Arduino

-Alle typer arduino til rådighed (jeg har Arduino Mega)

-Matrix -tastatur (tastatur - ebay, tastatur - Amazon)

-Micro eller Standard servo (jeg bruger en micro servo)

-* Valgfrit* Breadboard - enhver type

-* Valgfri* Strømforsyning (5V)

Trin 1: Skematisk tid

Skematisk tid!
Skematisk tid!
Skematisk tid!
Skematisk tid!

Så hvad gør man først? Tilslut Arduino til computeren. Tilslut tastaturet derefter. *Bemærk - du skal tilslutte stifterne fra den sidste pin på tastaturet som den første digitale pin på arduinoen. Og gå fra højre til venstre efter det*. Tastaturet har stifter 2-9 på arduinoen. Servoen har pin 10 som digitale signaler. Bind grunden til arduino, tastatur og servo og 5V også. * Bemærk også - at servoen bedst bruges med en ekstern strømkilde eller en adapter med 5V (plug -in), men det er stadig valgfrit.* Du behøver ikke at binde grunden og 5V fysisk, hvad jeg mener er bare for at fastgøre en ledning fra Arduino til servoen. Denne skema hjælper ikke begyndere, så lad mig forklare i detaljer. Grundlæggende er den sidste pin 2 og den første er 9, to er 8, tre er 7 osv. Gå fra venstre mod højre 2 2.

Trin 2: Kodningstid

Kodningstid!
Kodningstid!
Kodningstid!
Kodningstid!

Ok, så nu går vi videre til kodningsdelen! Det er her den virkelige magi sker! Så der er et testprogram til først at teste tastaturet og servoen. Her:

//www.elegoo.com//2016.12.9

/* @fil CustomKeypad.pde

|| @version 1.0 || @forfatter Alexander Brevig || @kontakt [email protected] || || @beskrivelse || | Demonstrerer ændring af tastaturstørrelse og nøgleværdier. || # */ # inklusiv

const byte Rækker = 4; // fire rækker

const byte COLS = 4; // fire kolonner // definer symbolerne på knapperne på tastaturet 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}; // opret forbindelse til rækkeudklipningerne i tastaturets byte colPins [COLS] = {5, 4, 3, 2}; // opret forbindelse til tastaturets kolonneudtag

// initialiser en forekomst af klassen NewKeypad

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

ugyldig opsætning () {

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

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

Servo myservo; // opret et servoobjekt for at styre en servo

// tolv servoobjekter kan oprettes på de fleste tavler

int pos = 0; // variabel til lagring af servopositionen

ugyldig opsætning () {

myservo.attach (9); // fastgør servoen på pin 9 til servoobjektet}

void loop () {

for (pos = 0; pos = 0; pos -= 1) {// går fra 180 grader til 0 grader myservo.write (pos); // fortæl servo at gå til position i variabel 'pos' forsinkelse (15); // venter 15 ms på, at servoen når positionen}}

Her er projektkoden (jeg skal være ærlig over for dig, jeg gjorde ikke meget, jeg tilføjede bare servodelen, siger tak til de mennesker, der lavede al koden!):

#include Password.h

#include Tastatur

/*

|| Enkel adgangskode ved hjælp af Matrix -tastatur || 4/5/2012 Opdateringer Nathan Sobieck: [email protected] || *

/* er for at validere adgangskoden

//# er at nulstille adgangskodeforsøg

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

#omfatte

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

Password password = Password ("1234");

Servo myservo; // opret et servoobjekt for at styre en servo

#define servoPin 10

const byte Rækker = 4; // Fire rækker

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

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

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

// Opret tastaturet

Tastatur tastatur = Tastatur (makeKeymap (taster), rowPins, colPins, ROWS, COLS);

ugyldig opsætning () {

myservo.attach (servoPin); // fastgør servoen på pin 9 til servoobjektet

Serial.begin (9600);

tastatur.addEventListener (tastaturEvent); // tilføj en begivenhedslytter til dette tastatur

myservo.write (0);

}

void loop () {

tastatur.getKey ();

}

// tage sig af nogle særlige begivenheder

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

void checkPassword () {

hvis (password.evaluate () == true) {Serial.println ("Success"); // Tilføj kode for at køre, hvis det virker

myservo.write (180);

forsinkelse (3000);

myservo.write (0);

Nulstil kodeord();

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

Serial.println ("Forkert");

myservo.write (0);

// tilføj kode for at køre, hvis det ikke virkede

}

}

Trin 3: Hvad betyder alt dette?

Hvad betyder alt dette?
Hvad betyder alt dette?

Koden ovenfor (den første) vil give et signal til Servoen om at "feje" eller bare gå fra 0 til 180 grader. Eller bare fuldende en halv cirkel af rotation fra venstre til højre eller højre til venstre. Hvis du vil have flere detaljer om koden, kan jeg fortælle dig det. Bare spørg. Ingen skade gjort, bare et simpelt lille spørgsmål. Kom nu, du kan gøre det! Anyway, koden i midten tester hver knap på tastaturet. Og den sidste af koden "låser" bare op med servoen, når du indtaster adgangsnøglen "1234" i, du gættede det, tastaturet.

Trin 4: Fejlfinding

Fejlfinding
Fejlfinding

Sp: Mit tastatur fungerer ikke.

A: Husk, at den første pin er 9, så gå ned derfra. Sørg også for at slutte arduino til computerens USB -port og programmere Arduino.

Sp: Servo virker ikke.

A: Husk, at servostiften er pin 10, og at du har brug for en fælles grund, hvis du tilslutter direkte fra Arduino, skal du huske, at den orange pin (på mikroservoen) er pin 10, den røde pin er 5V, og den brun pin er GND pin.

Sp: Arduino virker ikke:

A: Har du overhovedet tilsluttet det? Det lyder som et personligt problem

Trin 5: Hvis du har spørgsmål, er du velkommen til at stille i kommentarfeltet og husk at abonnere

Farvel, tak fordi du så min tutorial. Det har været sjovt.

Anbefalede: