Taula de continguts:
- Pas 1: temps esquemàtic
- Pas 2: temps de codificació
- Pas 3: què significa tot això?
- Pas 4: resolució de problemes
- Pas 5: si teniu cap pregunta, no dubteu a fer-ho a la secció de comentaris i recordeu-vos de subscriure-us
Vídeo: Bloqueig servo del teclat: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:10
Hola a tothom, espero que tingueu un bon dia. Si no, espero que pugueu rebobinar amb una ment oberta aquest tutorial i una mica de música terapèutica. La programació pot ser una molèstia. Afortunadament, aquest tutorial no és cap molèstia, de manera que és possible que pugueu dur a terme una cosa popular anomenada (amb veu poderosa): EL BLOC TECLAT DE SERVO ÚLTIM !!! Aquesta és realment la meva introducció, espero que us hagi agradat. De totes maneres, escalfem els dits per escriure. (Una cançó genial: can can can (música clàssica)).
Subministraments:
-Els teus dits
-També les mans, això és important
-Cable USB per Arduino
-Tot el tipus d’arduino disponible (tinc l’Arduino Mega)
-Matrix Keypad (teclat - ebay, teclat - amazon)
-Servo micro o estàndard (estic fent servir un servo micro)
- * Opcional * Tauler de pa: qualsevol tipus
- * Opcional * Font d'alimentació (5V)
Pas 1: temps esquemàtic
Llavors, què fer primer? Connecteu l’Arduino a l’ordinador. Connecteu el teclat a continuació. * Nota: heu de connectar els pins de l’últim pin del teclat com a primer pin digital de l’arduino. I aneu de dreta a esquerra després *. El teclat té els pins 2-9 a l’arduino. El servo té el pin 10 com a senyals digitals. Lligueu els terrenys de l'arduino, el teclat i el servo i el 5V també. * També tingueu en compte que el servo s’utilitza millor amb una font d’alimentació externa o un adaptador de 5 V (endoll de paret), però encara és opcional. * No heu de lligar físicament el terreny i el 5 V, només per connectar un cable de l'Arduino al servo. Aquest esquema no ajuda els principiants, així que permeteu-me explicar-los amb breus detalls. Bàsicament, l’últim passador és 2 i el primer és 9, dos són 8, tres són 7, etc. Aneu d’esquerra a dreta 2 2.
Pas 2: temps de codificació
D’acord, ara passem a la part de codificació. Aquí és on passa la veritable màgia! Per tant, hi ha un programa de prova per provar primer el teclat i el servo. Aquí:
//www.elegoo.com//2016.12.9
/ * @file CustomKeypad.pde
|| @versió 1.0 || @autor Alexander Brevig || @contact [email protected] || || @ descripció || | Demostra canviar la mida del teclat i els valors de les tecles. || # */ #incloure
byte const ROWS = 4; // quatre files
byte const COLS = 4; // quatre columnes // defineixen els plats dels botons dels teclats 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}; // connecteu-vos als pinouts de la fila del byte del teclat colPins [COLS] = {5, 4, 3, 2}; // connecteu-vos als pinouts de la columna del teclat
// inicialitzar una instància de la classe NewKeypad
Teclat customKeypad = Teclat (makeKeymap (hexaKeys), rowPins, colPins, ROWS, COLS);
configuració nul·la () {
Serial.begin (9600); } void loop () {char customKey = customKeypad.getKey (); if (customKey) {Serial.println (customKey); }}
//www.elegoo.com//2016.12.08 #include
Servo miservo; // crear un objecte servo per controlar un servo
// es poden crear dotze servobjets a la majoria de taulers
int pos = 0; // variable per emmagatzemar la posició del servo
configuració nul·la () {
myservo.attach (9); // fixa el servo al pin 9 a l'objecte servo}
bucle buit () {
for (pos = 0; pos = 0; pos - = 1) {// va de 180 graus a 0 graus myservo.write (pos); // digueu al servo que vagi a la posició amb un retard variable de "pos" (15); // espera 15 ms perquè el servo assoleixi la posició}}
Aquí teniu el codi del projecte (seré sincer amb vosaltres, no he fet gaire, només he afegit la part servo, digueu gràcies a la gent que ha creat tot el codi!):
#include Password.h
#include Keypad
/*
|| Entrada senzilla de contrasenya mitjançant el teclat Matrix || 5/5/2012 Actualitzacions Nathan Sobieck: [email protected] || *
/ * és validar la contrasenya
// # és restablir l'intent de contrasenya
/////////////////////////////////////////////////////////////////
#incloure
//https://www.arduino.cc/playground/uploads/Code/Password.zip #include //https://www.arduino.cc/playground/uploads/Code/Keypad.zip
Password password = Contrasenya ("1234");
Servo miservo; // crear un objecte servo per controlar un servo
#define servoPin 10
byte const ROWS = 4; // Quatre files
byte const COLS = 4; // columnes // Definiu les tecles de caràcters del mapa de tecles [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {' * ',' 0 ',' # ',' D '}};
byte rowPins [ROWS] = {9, 8, 7, 6}; // Connecteu el teclat ROW0, ROW1, ROW2 i ROW3 a aquests pins Arduino.
byte colPins [COLS] = {5, 4, 3, 2,}; // Connecteu el teclat COL0, COL1 i COL2 a aquests pins Arduino.
// Creeu el teclat
Teclat teclat = Teclat (makeKeymap (tecles), rowPins, colPins, ROWS, COLS);
configuració nul·la () {
myservo.attach (servoPin); // fixa el servo al pin 9 a l'objecte servo
Serial.begin (9600);
keypad.addEventListener (keypadEvent); // afegiu un oient d'esdeveniments per a aquest teclat
myservo.write (0);
}
bucle buit () {
keypad.getKey ();
}
// tenir cura d’alguns esdeveniments especials
void keypadEvent (KeypadEvent eKey) {switch (keypad.getState ()) {case PRESSED: switch (eKey) {case '*': checkPassword (); trencar; per defecte: password.append (eKey); }}}
void checkPassword () {
if (password.evaluate () == true) {Serial.println ("Èxit"); // Afegiu codi per executar-lo si funciona
myservo.write (180);
retard (3000);
myservo.write (0);
password.reset ();
} else if (password.evaluate () == false) {
Serial.println ("incorrecta");
myservo.write (0);
// afegiu codi per executar-lo si no funcionava
}
}
Pas 3: què significa tot això?
El codi superior (el primer) donarà un senyal al Servo per "escombrar" o simplement passar de 0 a 180 graus. O simplement completant mig cercle de rotació d’esquerra a dreta o de dreta a esquerra. Si voleu més detalls sobre el codi, us ho puc dir. Si us plau, pregunteu. No s’ha fet cap mal, només una simple petita pregunta. Vinga, ja ho pots fer! De totes maneres, el codi del mig prova tots els botons del teclat. I l'últim del codi només es "desbloqueja" amb el servo quan escriviu la clau de pas "1234" al teclat.
Pas 4: resolució de problemes
P: El meu teclat no funciona.
R: Recordeu que el primer pin és 9, així que baixeu d'allà. Assegureu-vos també de connectar l’arduino al port USB de l’ordinador i programar-lo.
P: El Servo no funciona.
R: Recordeu que el pin del servo és el pin 10 i que necessiteu una terra comuna, si us connecteu directament des de l'Arduino, recordeu que el pin taronja (al micro servo) és el pin 10, el pin vermell és de 5 V i el pin marró és el pin GND.
P: Arduino no funciona:
R: Fins i tot l'heu connectat? Sona com un problema personal
Pas 5: si teniu cap pregunta, no dubteu a fer-ho a la secció de comentaris i recordeu-vos de subscriure-us
Adéu, gràcies per veure el meu tutorial. Ha estat divertit.
Recomanat:
Projecte de bloqueig de codi digital Arduino mitjançant el teclat Matrix: 9 passos
Projecte de bloqueig de codi digital Arduino mitjançant el teclat Matrix: creeu un dispositiu de bloqueig de codi digital amb el sistema Arduino i Qwiic mitjançant Zio M Uno i un teclat matricial Hex 4x3. Visió general del projecte in. En aquest tutorial, mostrarem l'ús
Posicionador servo del botó del teclat: 3 passos
Posicionador servo del botó del teclat: en aquesta instrucció, es podrà prémer un botó del teclat i, segons el caràcter que s'hagi premut, el servomotor girarà un cert grau. El programa continuarà en bucle cada vegada que es prem un botó
Control del teclat del motor servo: 7 passos
Control del teclat del servomotor: primer és configurar el servomotor. El cable intermedi va al port de 5 V L’esquerra va al port GND Connecteu l’últim (el cable de control) al port 9
Bloqueig de la porta del teclat: 7 passos (amb imatges)
Bloqueig de la porta del teclat: mòdul Arduino UNOBreadLCD 1602 Mòdul Potenciòmetre 10K i Omega; Servo Motor Mòdul de commutació de membrana 4X4 Buzzer LED verd LED vermell Cables de pont
Neteja del teclat d'alumini Apple o qualsevol altre teclat suau: 5 passos
Neteja del teclat d'alumini Apple … o qualsevol altre teclat suau: tan net com tu o jo intentem mantenir els nostres teclats d'alumini Apple, es tornen bruts al cap d'un any més o menys. Aquesta instrucció us ajudarà a netejar-la. Vés amb compte, perquè no sóc responsable si el teu teclat es trenca mentre fas això … SUCKS F