Taula de continguts:

Bloqueig servo del teclat: 5 passos
Bloqueig servo del teclat: 5 passos

Vídeo: Bloqueig servo del teclat: 5 passos

Vídeo: Bloqueig servo del teclat: 5 passos
Vídeo: КАК НАСТРОИТЬ L4D2 2024, Desembre
Anonim
Bloqueig de servo teclat
Bloqueig de servo teclat
Bloqueig de servo teclat
Bloqueig de servo teclat
Bloqueig de servo teclat
Bloqueig de servo teclat

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

Temps esquemàtic!
Temps esquemàtic!
Temps esquemàtic!
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ó

Temps de codificació!
Temps de codificació!
Temps de codificació!
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ò?

Què significa tot això?
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

Resolució de problemes
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: