Sommario:

Blocco servoassistito della tastiera: 5 passaggi
Blocco servoassistito della tastiera: 5 passaggi

Video: Blocco servoassistito della tastiera: 5 passaggi

Video: Blocco servoassistito della tastiera: 5 passaggi
Video: Come regolare la tensione dei chiudiporta | Regolazione chiudiporta | Regola chiudiporta automatico 2024, Luglio
Anonim
Blocco servocomando tastiera
Blocco servocomando tastiera
Servoblocco tastiera
Servoblocco tastiera
Blocco servocomando tastiera
Blocco servocomando tastiera

Ciao a tutti, spero che abbiate passato una buona giornata. In caso contrario, puoi semplicemente riavvolgere con un po' di apertura mentale questo tutorial e un po' di musica terapeutica. La programmazione può essere una seccatura. Per fortuna, questo tutorial non è una seccatura, quindi potresti essere in grado di realizzare una cosa popolare chiamata (con voce potente): IL BLOCCO DELLA TASTIERA DEL SERVO DEFINITIVO!!! Questa è davvero solo la mia introduzione, spero ti sia piaciuto. Ad ogni modo, scaldiamo le dita per la digitazione. (Una bella canzone: can-can song (musica classica)).

Forniture:

-Le tue dita

-Anche le tue mani, questo è importante

-Cavo USB per Arduino

-Qualsiasi tipo di arduino disponibile (ho l'Arduino Mega)

-Matrix Keypad (tastiera - ebay, tastiera - amazon)

-Micro o Standard servo (sto usando un micro servo)

-*Opzionale* Tagliere - qualsiasi tipo

-*Opzionale* Alimentazione (5V)

Passaggio 1: tempo schematico

Tempo schematico!
Tempo schematico!
Tempo schematico!
Tempo schematico!

Allora, cosa fare prima? Collega Arduino al computer. Collegare la tastiera successiva. *Nota: è necessario collegare i pin dell'ultimo pin sulla tastiera come primo pin digitale sull'arduino. E poi vai da destra a sinistra*. La tastiera ha i pin 2-9 sull'arduino. Il servo ha il pin 10 come segnali digitali. Lega i motivi dell'arduino, della tastiera e del servo e anche il 5V. *Nota inoltre che il servo viene utilizzato al meglio con una fonte di alimentazione esterna o un adattatore con 5V (plug-in a muro), ma è ancora opzionale.* Non devi legare fisicamente i motivi e 5V, quello che voglio dire è solo per collegare un filo dall'Arduino al servo. Questo schema non aiuta i principianti, quindi permettimi di spiegare in breve dettaglio. Fondamentalmente, l'ultimo pin è 2 e il primo è 9, due è 8, tre è 7 e così via. Vai da sinistra a destra 2 2.

Passaggio 2: tempo di codifica

Tempo di codifica!
Tempo di codifica!
Tempo di codifica!
Tempo di codifica!

Ok, ora passiamo alla parte di codifica! È qui che avviene la vera magia! Quindi, c'è un programma di test per testare prima la tastiera e il servo. Qui:

//www.elegoo.com//2016.12.9

/* @file CustomKeypad.pde

|| @versione 1.0 || @autore Alexander Brevig || @contact [email protected] || || @descrizione || | Dimostra la modifica delle dimensioni della tastiera e dei valori delle chiavi. || # */ #includere

const byte RIGHE = 4; //quattro righe

const byte COLS = 4; //quattro colonne //definiscono i simboli sui pulsanti delle tastiere char hexaKeys[ROWS][COLS] = { {'1', '2', '3', 'A'}, {'4', '5 ', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; byte rowPins[RIGHE] = {9, 8, 7, 6}; //connettersi ai pinout di riga della tastiera byte colPins[COLS] = {5, 4, 3, 2}; //connettersi ai piedini di colonna della tastiera

//inizializza un'istanza della classe NewKeypad

Tastiera customKeypad = Tastiera(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 mio servo; // crea un oggetto servo per controllare un servo

// dodici servo oggetti possono essere creati sulla maggior parte delle schede

int posizione = 0; // variabile per memorizzare la posizione del servo

void setup() {

mioservo.attach(9); // collega il servo sul pin 9 all'oggetto servo }

ciclo vuoto() {

for (pos = 0; pos = 0; pos -= 1) { // va da 180 gradi a 0 gradi myservo.write(pos); // dice al servo di andare in posizione nella variabile 'pos' delay(15); // aspetta 15ms che il servo raggiunga la posizione } }

Ecco il codice del progetto (sarò onesto con te, non ho fatto molto, ho solo aggiunto la parte servo, ringrazia le persone che hanno creato tutto il codice!):

#include Password.h

#include tastiera

/*

|| Immissione semplice della password utilizzando la tastiera a matrice || Aggiornamenti del 5/4/2012 Nathan Sobieck: [email protected] || *

/* serve per convalidare la password

//# è quello di reimpostare il tentativo di password

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

#includere

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

Password password = Password("1234");

Servo mio servo; // crea un oggetto servo per controllare un servo

#define servoPin 10

const byte RIGHE = 4; // Quattro righe

const byte COLS = 4; // colonne // Definisci la mappa dei caratteri char keys[ROWS][COLS] = { {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} };

byte rowPins[RIGHE] = { 9, 8, 7, 6 }; // Collega la tastiera ROW0, ROW1, ROW2 e ROW3 a questi pin Arduino.

byte colPins[COLS] = { 5, 4, 3, 2, }; // Collega la tastiera COL0, COL1 e COL2 a questi pin Arduino.

// Crea la tastiera

Tastierino tastierino = Tastierino(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

void setup() {

myservo.attach(servoPin); // collega il servo sul pin 9 all'oggetto servo

Serial.begin(9600);

keyboard.addEventListener(keypadEvent); //aggiunge un ascoltatore di eventi per questa tastiera

mioservo.write(0);

}

ciclo vuoto() {

tastiera.getKey();

}

//prendersi cura di alcuni eventi speciali

void keyboardEvent(KeypadEvent eKey) { switch (keypad.getState()) { case PREMUTO: switch (eKey) { case '*': checkPassword(); rottura; predefinito: password.append(eKey); } } }

void checkPassword() {

if (password.evaluate() == true) { Serial.println("Success"); //Aggiungi codice da eseguire se funziona

mioservo.write(180);

ritardo (3000);

mioservo.write(0);

reimpostazione della password();

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

Serial.println("Sbagliato");

mioservo.write(0);

//aggiunge codice da eseguire se non ha funzionato

}

}

Passaggio 3: cosa significa tutto questo?

Cosa significa tutto questo?
Cosa significa tutto questo?

Il codice sopra (il primo) darà un segnale al Servo per "sweep" o semplicemente andare da 0 a 180 gradi. O semplicemente completando mezzo cerchio di rotazione da sinistra a destra o da destra a sinistra. Se vuoi maggiori dettagli sul codice te lo posso dire. Per favore, chiedi. Nessun danno, solo una semplice piccola domanda. Dai che ce la fai! Ad ogni modo, il codice al centro testa ogni pulsante della tastiera. E l'ultimo del codice si "sblocca" con il servo quando digiti la passkey "1234" nella tastiera, hai indovinato.

Passaggio 4: risoluzione dei problemi

Risoluzione dei problemi
Risoluzione dei problemi

D: La mia tastiera non funziona.

A: Ricorda che il primo pin è 9, quindi scendi da lì. Assicurati anche di collegare l'arduino alla porta USB del computer e programma l'Arduino.

D: Il servo non funziona.

A: Ricorda che il pin del servo è il pin 10 e che hai bisogno di una massa comune, se ti colleghi direttamente da Arduino, ricorda che il pin arancione (sul micro servo) è il pin 10, il pin rosso è 5V e il il pin marrone è il pin GND.

D: Arduino non funziona:

A: L'hai anche collegato? Sembra un problema personale

Passaggio 5: se hai domande, non esitare a chiedere nella sezione commenti e ricordati di iscriverti

Ciao, grazie per aver visto il mio tutorial. È stato divertente.

Consigliato: