Πίνακας περιεχομένων:

Κλείδωμα Servo Keypad: 5 Βήματα
Κλείδωμα Servo Keypad: 5 Βήματα

Βίντεο: Κλείδωμα Servo Keypad: 5 Βήματα

Βίντεο: Κλείδωμα Servo Keypad: 5 Βήματα
Βίντεο: Προγραμματισμός BAOFENG UV-5R σε 11 βήματα 2024, Ιούλιος
Anonim
Κλείδωμα Servo Keypad
Κλείδωμα Servo Keypad
Κλείδωμα Servo Keypad
Κλείδωμα Servo Keypad
Κλείδωμα Servo Keypad
Κλείδωμα Servo Keypad

Γεια σε όλους, ελπίζω να περάσατε καλά. Αν όχι, ελπίζουμε ότι μπορείτε απλά να γυρίσετε προς τα πίσω με κάποια ανοιχτή σκέψη σε αυτό το σεμινάριο και κάποια θεραπευτική μουσική. Ο προγραμματισμός μπορεί να είναι ταλαιπωρία. Ευτυχώς, αυτό το σεμινάριο δεν είναι ταλαιπωρία, οπότε ίσως μπορείτε να ολοκληρώσετε ένα δημοφιλές πράγμα που ονομάζεται (με δυνατή φωνή): THE ULTIMATE SERVO KEYPAD LOCK !!! Αυτή είναι πραγματικά η εισαγωγή μου, ελπίζω να σας άρεσε. Τέλος πάντων, ας ζεστάνουμε τα δάχτυλά μας για την πληκτρολόγηση. (Ένα δροσερό τραγούδι: τραγούδι can-can (κλασική μουσική)).

Προμήθειες:

-Τα δάχτυλά σου

-Και τα χέρια σας, αυτό είναι σημαντικό

-Καλώδιο USB για Arduino

-Όποιος τύπος arduino είναι διαθέσιμος (έχω το Arduino Mega)

-Matrix Keypad (πληκτρολόγιο - ebay, πληκτρολόγιο - amazon)

-Micro ή Standard servo (χρησιμοποιώ micro servo)

-* Προαιρετικό* Breadboard - οποιουδήποτε τύπου

-* Προαιρετικό* Τροφοδοτικό (5V)

Βήμα 1: Σχηματικός χρόνος

Σχηματική ώρα!
Σχηματική ώρα!
Σχηματική ώρα!
Σχηματική ώρα!

Λοιπόν, τι κάνουμε πρώτα; Συνδέστε το Arduino στον υπολογιστή. Συνδέστε το πληκτρολόγιο στη συνέχεια. *Σημείωση - πρέπει να συνδέσετε τους ακροδέκτες από την τελευταία καρφίτσα στο πληκτρολόγιο ως τον πρώτο ψηφιακό ακροδέκτη στο arduino. Και πηγαίνετε από δεξιά προς αριστερά μετά από αυτό*. Το πληκτρολόγιο έχει καρφίτσες 2-9 στο arduino. Το σερβο έχει το pin 10 ως ψηφιακά σήματα. Συνδέστε τους χώρους του arduino, του πληκτρολογίου και του σερβο και το 5V επίσης. * Σημειώστε επίσης - ότι το σερβο χρησιμοποιείται καλύτερα με εξωτερική πηγή τροφοδοσίας ή προσαρμογέα με 5V (plug -in τοίχου), αλλά εξακολουθεί να είναι προαιρετικό.* Δεν χρειάζεται να συνδέσετε τη βάση και τα 5V φυσικά, αυτό που εννοώ είναι απλά για να συνδέσετε ένα καλώδιο από το Arduino στο σερβο. Αυτό το σχηματικό δεν βοηθά τους αρχάριους, οπότε επιτρέψτε μου να εξηγήσω με λίγα λόγια. Βασικά, ο τελευταίος πείρος είναι 2 και ο πρώτος είναι 9, δύο είναι 8, τρεις είναι 7 και ούτω καθεξής. Μετάβαση από αριστερά προς τα δεξιά 2 2.

Βήμα 2: Χρόνος κωδικοποίησης

Χρόνος κωδικοποίησης!
Χρόνος κωδικοποίησης!
Χρόνος κωδικοποίησης!
Χρόνος κωδικοποίησης!

Εντάξει, τώρα περνάμε στο κομμάτι της κωδικοποίησης! Εδώ συμβαίνει η πραγματική μαγεία! Έτσι, υπάρχει ένα δοκιμαστικό πρόγραμμα για να δοκιμάσετε πρώτα το πληκτρολόγιο και το σερβο. Εδώ:

//www.elegoo.com//2016.12.9

/* @file CustomKeypad.pde

|| @version 1.0 || @author Alexander Brevig || @contact [email protected] || || @description || | Δείχνει την αλλαγή του μεγέθους του πληκτρολογίου και των τιμών κλειδιού. || # */ #περιλαμβάνω

const byte ROWS = 4; // τέσσερις σειρές

const byte COLS = 4; // τέσσερις στήλες // καθορίζουν τα σύμβολα στα κουμπιά των πληκτρολογίων 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}; // σύνδεση με τα pinouts των γραμμών των byte πληκτρολογίου colPins [COLS] = {5, 4, 3, 2}; // σύνδεση με τα pinouts στηλών του πληκτρολογίου

// προετοιμάστε μια παρουσία της κλάσης NewKeypad

Πληκτρολόγιο customKeypad = Πληκτρολόγιο (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; // δημιουργία αντικειμένου σερβο για τον έλεγχο ενός σερβο

// Δώδεκα servo αντικείμενα μπορούν να δημιουργηθούν στους περισσότερους πίνακες

int pos = 0; // μεταβλητή για αποθήκευση της θέσης σερβο

void setup () {

myservo.attach (9); // συνδέει το σερβο στο pin 9 στο σερβο αντικείμενο}

void loop () {

για (pos = 0; pos = 0; pos -= 1) {// πηγαίνει από 180 μοίρες σε 0 μοίρες myservo.write (pos); // πείτε στο servo να μεταβεί στη θέση στη μεταβλητή "pos" καθυστέρηση (15). // περιμένει 15ms για να φτάσει το σερβο στη θέση}}

Εδώ είναι ο κώδικας του έργου (θα είμαι ειλικρινής μαζί σας, δεν έκανα πολλά, απλά πρόσθεσα το σερβο μέρος, ευχαριστώ τους ανθρώπους που έκαναν όλο τον κώδικα!):

#include Password.h

#συμπεριλάβετε το πληκτρολόγιο

/*

|| Απλή καταχώριση κωδικού πρόσβασης χρησιμοποιώντας πληκτρολόγιο μήτρας || 4/5/2012 Ενημερώσεις Nathan Sobieck: [email protected] || *

/* είναι η επικύρωση του κωδικού πρόσβασης

//# είναι η επαναφορά της προσπάθειας κωδικού πρόσβασης

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

#περιλαμβάνω

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

Κωδικός πρόσβασης = Κωδικός πρόσβασης ("1234");

Servo myservo; // δημιουργία αντικειμένου σερβο για τον έλεγχο ενός σερβο

#define servoPin 10

const byte ROWS = 4; // Τέσσερις σειρές

const byte COLS = 4; // στήλες // Ορίστε τα πλήκτρα φόρτωσης Keymap [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {'*',' 0 ','#',' D '}};

byte rowPins [ROWS] = {9, 8, 7, 6}; // Συνδέστε το πληκτρολόγιο ROW0, ROW1, ROW2 και ROW3 σε αυτές τις ακίδες Arduino.

byte colPins [COLS] = {5, 4, 3, 2,}; // Συνδέστε το πληκτρολόγιο COL0, COL1 και COL2 σε αυτές τις ακίδες Arduino.

// Δημιουργήστε το πληκτρολόγιο

Πληκτρολόγιο πληκτρολόγιο = Πληκτρολόγιο (makeKeymap (κλειδιά), rowPins, colPins, ROWS, COLS);

void setup () {

myservo.attach (servoPin); // συνδέει το σερβο στο pin 9 στο σερβο αντικείμενο

Serial.begin (9600);

keypad.addEventListener (keypadEvent); // προσθέστε έναν ακροατή συμβάντων για αυτό το πληκτρολόγιο

myservo.write (0);

}

void loop () {

keypad.getKey ();

}

// φροντίστε για μερικές ειδικές εκδηλώσεις

void keypadEvent (KeypadEvent eKey) {switch (keypad.getState ()) {case PRESSED: switch (eKey) {case '*': checkPassword (); Διακοπή; προεπιλογή: password.append (eKey); }}}

void checkPassword () {

if (password.evaluate () == true) {Serial.println ("Επιτυχία"); // Προσθήκη κώδικα για εκτέλεση εάν λειτουργεί

myservo.write (180);

καθυστέρηση (3000)?

myservo.write (0);

ΕΠΑΝΑΦΟΡΑ ΚΩΔΙΚΟΥ();

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

Serial.println ("Λάθος");

myservo.write (0);

// προσθήκη κώδικα για εκτέλεση εάν δεν λειτούργησε

}

}

Βήμα 3: Τι σημαίνουν όλα αυτά;

Τι σημαίνουν όλα αυτά?
Τι σημαίνουν όλα αυτά?

Ο παραπάνω κωδικός (ο πρώτος) θα δώσει ένα σήμα στο Servo να "σκουπίσει" ή απλά να πάει από 0 έως 180 μοίρες. Or απλά συμπληρώνοντας μισό κύκλο περιστροφής από αριστερά προς τα δεξιά ή από δεξιά προς τα αριστερά. Αν θέλετε περισσότερες λεπτομέρειες σχετικά με τον κωδικό, μπορώ να σας πω. Απλά ρωτήστε. Δεν έγινε κακό, απλώς μια απλή μικρή ερώτηση. Έλα, μπορείς να το κάνεις! Τέλος πάντων, ο κώδικας στη μέση δοκιμάζει κάθε κουμπί του πληκτρολογίου. Και το τελευταίο του κώδικα "ξεκλειδώνει" με το σερβο όταν πληκτρολογείτε το κλειδί "1234" στο, όπως μαντέψατε, στο πληκτρολόγιο.

Βήμα 4: Αντιμετώπιση προβλημάτων

Αντιμετώπιση προβλημάτων
Αντιμετώπιση προβλημάτων

Ε: Το πληκτρολόγιό μου δεν λειτουργεί.

Α: Θυμηθείτε ότι η πρώτη καρφίτσα είναι 9, οπότε κατεβείτε από εκεί. Επίσης, βεβαιωθείτε ότι έχετε συνδέσει το arduino στη θύρα USB του υπολογιστή και προγραμματίστε το Arduino.

Ε: Το Servo δεν λειτουργεί.

Α: Να θυμάστε ότι ο πείρος servo είναι ο πείρος 10 και ότι χρειάζεστε ένα κοινό έδαφος, εάν συνδέεστε απευθείας από το Arduino, θυμηθείτε ότι ο πορτοκαλί πείρος (στο σερβο μικροϋπολογιστή) είναι ο πείρος 10, ο κόκκινος πείρος είναι 5V και η καφέ καρφίτσα είναι η καρφίτσα GND.

Ε: Το Arduino δεν λειτουργεί:

Α: Το συνδέσατε καν; Ακούγεται σαν προσωπικό πρόβλημα

Βήμα 5: Εάν έχετε οποιεσδήποτε ερωτήσεις, μη διστάσετε να το ρωτήσετε στην ενότητα σχολίων και θυμηθείτε να εγγραφείτε

Αντίο, ευχαριστώ που είδα το σεμινάριο μου. Beenταν διασκεδαστικό.

Συνιστάται: