Innehållsförteckning:

Knappsats Servolås: 5 steg
Knappsats Servolås: 5 steg

Video: Knappsats Servolås: 5 steg

Video: Knappsats Servolås: 5 steg
Video: Gratis kartuppdatering ifrån Volvo till Sensus Navigation 2014. Så här gör du! 2024, Juli
Anonim
Knappsats Servolås
Knappsats Servolås
Knappsats Servolås
Knappsats Servolås
Knappsats Servolås
Knappsats Servolås

Hej alla, hoppas ni haft en bra dag. Om inte förhoppningsvis kan du bara spola tillbaka med lite öppet sinne för denna handledning och lite terapeutisk musik. Programmering kan vara ett krångel. Tack och lov är denna handledning inte ett krångel, så du kanske kan åstadkomma en populär sak som kallas (med mäktig röst): THE ULTIMATE SERVO KEYPAD LOCK !!! Det är egentligen bara min introduktion, hoppas du gillade det. Hur som helst, låt oss värma upp fingrarna för att skriva. (En cool låt: can-can song (klassisk musik)).

Tillbehör:

-Dina fingrar

-Dina händer också, det är viktigt

-USB -kabel för Arduino

-Varje typ av arduino som finns (jag har Arduino Mega)

-Matrix -knappsats (knappsats - ebay, knappsats - amazon)

-Micro eller Standard servo (jag använder en micro servo)

-* Valfritt* Brödbräda - vilken typ som helst

-* Valfritt* Strömförsörjning (5V)

Steg 1: Schematisk tid

Schematisk tid!
Schematisk tid!
Schematisk tid!
Schematisk tid!

Så, vad gör man först? Anslut Arduino till datorn. Anslut knappsatsen därefter. *Obs - du måste ansluta stiften från den sista stiftet på knappsatsen som den första digitala stiftet på arduino. Och gå från höger till vänster efter det*. Knappsatsen har stiften 2-9 på arduino. Servon har stift 10 som digitala signaler. Knyt fast arduino, knappsats och servo och 5V också. * Observera också - att servon bäst används med en extern strömkälla eller en adapter med 5V (väggplugg), men det är fortfarande valfritt.* Du behöver inte binda grunden och 5V fysiskt, vad jag menar är att bara fästa en tråd från Arduino till servon. Denna schemat hjälper inte nybörjare, så låt mig förklara i detalj. I grund och botten är den sista stiftet 2 och den första är 9, två är 8, tre är 7 och så vidare. Gå från vänster till höger 22.

Steg 2: Kodningstid

Kodningstid!
Kodningstid!
Kodningstid!
Kodningstid!

Ok, så nu är vi på kodningsdelen! Det är här den verkliga magin händer! Så det finns ett testprogram för att först testa knappsatsen och servon. Här:

//www.elegoo.com//2016.12.9

/* @fil CustomKeypad.pde

|| @version 1.0 || @författare Alexander Brevig || @kontakt [email protected] || || @beskrivning || | Visar att knappsatsens storlek och nyckelvärden ändras. || # */ # inkludera

const byte RADER = 4; // fyra rader

const byte COLS = 4; // fyra kolumner // definiera cymbolerna på knapparna på knappsatserna char hexaKeys [RADER] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5 ',' 6 ',' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}}; byte rowPins [ROWS] = {9, 8, 7, 6}; // ansluta till radnålarna i knappsatsens byte colPins [COLS] = {5, 4, 3, 2}; // Anslut till knapparna på knappsatsen

// initiera en instans av klassen NewKeypad

Tangentbord customKeypad = Tangentbord (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 #inkludera

Servo myservo; // skapa servoobjekt för att styra ett servo

// tolv servoobjekt kan skapas på de flesta brädor

int pos = 0; // variabel för att lagra servopositionen

void setup () {

myservo.attach (9); // fäster servon på stift 9 på servoobjektet}

void loop () {

för (pos = 0; pos = 0; pos -= 1) {// går från 180 grader till 0 grader myservo.write (pos); // berätta för servon att gå till position i variabeln 'pos' fördröjning (15); // väntar 15 ms på att servon når positionen}}

Här är projektkoden (jag ska vara ärlig mot dig, jag gjorde inte så mycket, jag lade bara till servodelen, tack till de som gjorde all koden!):

#inkludera lösenord. h

#inkludera knappsats

/*

|| Enkelt lösenordsinmatning med Matrix -knappsats || 2012-05-05 Uppdateringar Nathan Sobieck: [email protected] || *

/* är att validera lösenordet

//# är att återställa lösenordsförsök

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

#omfatta

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

Lösenordslösenord = Lösenord ("1234");

Servo myservo; // skapa servoobjekt för att styra ett servo

#define servoPin 10

const byte RADER = 4; // Fyra rader

const byte COLS = 4; // kolumner // Definiera nyckelknappens tangenter [RADER] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}};

byte rowPins [ROWS] = {9, 8, 7, 6}; // Anslut knappsatsen ROW0, ROW1, ROW2 och ROW3 till dessa Arduino -stift.

byte colPins [COLS] = {5, 4, 3, 2,}; // Anslut knappsatsen COL0, COL1 och COL2 till dessa Arduino -stift.

// Skapa knappsatsen

Knappsats knappsats = Knappsats (makeKeymap (nycklar), rowPins, colPins, ROWS, COLS);

void setup () {

myservo.attach (servoPin); // fäster servon på stift 9 på servoobjektet

Serial.begin (9600);

knappsats.addEventListener (knappsatsEvent); // lägg till en eventlyssnare för den här knappsatsen

myservo.write (0);

}

void loop () {

knappsats.getKey ();

}

// ta hand om några speciella evenemang

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

void checkPassword () {

if (password.evaluate () == true) {Serial.println ("Framgång"); // Lägg till kod för att köra om det fungerar

myservo.write (180);

fördröjning (3000);

myservo.write (0);

lösenordsåterställning();

} annars om (password.evaluate () == false) {

Serial.println ("Fel");

myservo.write (0);

// lägg till kod för att köra om det inte fungerade

}

}

Steg 3: Vad betyder allt detta?

Vad betyder allt detta?
Vad betyder allt detta?

Koden ovan (den första) kommer att ge en signal till servon att "sopa" eller bara gå från 0 till 180 grader. Eller bara slutföra en halv rotationscirkel från vänster till höger eller höger till vänster. Om du vill ha mer information om koden kan jag berätta för dig. Fråga bara. Ingen skada, bara en enkel liten fråga. Kom igen, du kan göra det! Hur som helst, koden i mitten testar varje knapp på knappsatsen. Och den sista av koden "låser upp" bara med servon när du skriver in lösenordet "1234" i, du gissade det, knappsatsen.

Steg 4: Felsökning

Felsökning
Felsökning

F: Min knappsats fungerar inte.

A: Kom ihåg att den första nålen är 9 så gå ner därifrån. Se också till att ansluta arduino till datorns USB -port och programmera Arduino.

F: Servo fungerar inte.

A: Kom ihåg att servostiftet är stift 10 och att du behöver en gemensam grund, om du ansluter direkt från Arduino, kom ihåg att den orange stiftet (på mikroservon) är stift 10, den röda stiftet är 5V och brun stift är GND -stiftet.

F: Arduino fungerar inte:

A: Anslutte du det ens? Det låter som ett personligt problem

Steg 5: Om du har några frågor, ställ gärna i kommentarsfältet och kom ihåg att prenumerera

Hej, tack för att du tittade på min handledning. Det har varit roligt.

Rekommenderad: