Table des matières:
- Étape 1: câbler le clavier
- Étape 2: ajouter le micro servo
- Étape 3: Modifier le code pour utiliser le clavier sur le servo
Vidéo: Positionnement servo avec un clavier : 3 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Dans ce instructable, nous allons créer un projet qui contrôlera un Micro-Servo avec un clavier l'exécutant avec un Arduino Uno.
Les matériaux utilisés:
Arduino Uno
Planche à pain
Clavier 4x4
Micro-Servo
Étape 1: câbler le clavier
La toute première chose à faire est de câbler le rail d'alimentation et le rail de mise à la terre sur votre maquette à partir de votre Arduino
- Connectez la broche 5V au rail d'alimentation (rouge)
- Connectez une broche de terre (GND) au rail de mise à la terre (bleu)
Maintenant que la maquette est alimentée et mise à la terre, nous pouvons commencer à câbler nos composants.
Le câblage du clavier est facile, mais vous devez prendre note des broches du clavier et de l'arduino. Cela nous sera utile lorsque nous porterons notre attention sur notre code.
N'oubliez pas de commencer par la gauche lorsque vous utilisez vos fils !
- La première broche va à 13
- La deuxième broche va à 12
- La troisième broche va à 11
- La quatrième broche va à 10
- Cinquième broche à 9
- Sixième broche à 8
- Septième broche à 7
- Huitième broche à 6
Lors du câblage du clavier, n'oubliez pas de garder une broche pwm numérique ouverte. Nous en aurons besoin pour le micro-servo
Avant d'aborder le code, assurez-vous d'avoir installé la bibliothèque de claviers. Il peut être trouvé dans votre croquis, puis dans l'onglet croquis, inclure la bibliothèque. Vous ne pourrez pas utiliser le clavier sans lui.
Passons maintenant au code et assurez-vous que le clavier fonctionne et donne les valeurs attendues
Notes rapides: Assurez-vous d'avoir l'instruction if pour vérifier le clavier, sinon cela ne fonctionnera pas. Faites également attention aux retards, ils perturberont les boutons enregistrés à partir du clavier
#comprendre
lignes d'octets const = 4; //quatre lignes car le clavier est plein
colonnes d'octets const = 4; //quatre colonnes, comme ci-dessus
boutons de caractères[lignes][colonnes] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C'}, {'*', '0', '#', 'D'} };
octet ligneP[lignes] = {13, 12, 11, 10}; //ligne des broches du clavier
octet colonnesP[colonnes] = {9, 8, 7, 6}; //colonne des broches du clavier
Pavé numérique = Pavé numérique(makeKeymap(boutons), rowP, columnP, rows, column); //créer un clavier
void setup(){
Serial.begin(9600); }
boucle vide(){
char buttonPressed = pad.getKey(); // obtenir le caractère du clavier if(buttonPressed) //afficher quel bouton a été pressé sur le clavier { Serial.println(buttonPressed); } }
Étape 2: ajouter le micro servo
Ajoutons maintenant le servomoteur. Celui-ci est vraiment facile à ajouter à notre projet actuel puisque le micro serveur n'a que trois fils.
- Le fil marron va au rail de mise à la terre sur la planche à pain
- Le rouge va au rail d'alimentation
- Orange va à la broche 3 sur l'Arduino. N'oubliez pas que le micro serveur doit avoir une broche PWM sur l'Arduino. Ceci est dû au servo utilisant TIMER2
Maintenant, assurons-nous simplement que nous avons bien câblé le micro servo et qu'il bouge
#include #include "Servo.h"
lignes d'octets const = 4; //quatre lignes car le clavier est plein
colonnes d'octets const = 4; //quatre colonnes, comme ci-dessus
char boutons[lignes][colonnes] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C'}, {'*', '0', '#', 'D'} };
octet ligneP[lignes] = {13, 12, 11, 10}; //ligne des broches du clavier
octet colonnesP[colonnes] = {9, 8, 7, 6}; //colonne des broches du clavier
Pavé numérique = Pavé numérique (makeKeymap (boutons), rowP, columnP, rows, column); //créer un clavier
Courant ServoServo; // créer un objet servo pour contrôler un servo
// douze objets servo peuvent être créés sur la plupart des cartes
int pos = 0; // variable pour stocker la position du servo
void setup(){
Serial.begin(9600); currentServo.attach(3); // attache le servo sur la broche 9 à l'objet servo
}
boucle vide(){
char buttonPressed = pad.getKey(); // obtient le caractère du clavier if(buttonPressed) //show quel bouton a été pressé sur le clavier { Serial.println(buttonPressed); }
currentServo.write(95);
}
Étape 3: Modifier le code pour utiliser le clavier sur le servo
Sachez que nous allons modifier notre code pour que lorsque nous appuyons sur un bouton particulier du clavier, le servo se déplace vers une position particulière. Une chose importante d'abord. La position du servo pour 0 était bizarre. Comme j'avais un servo à rotation continue, chaque fois qu'il se rapprochait de 0, le servo commençait à tourner. Le nombre que j'ai mis dans le code était aussi bas que possible sans que cela se produise. Quoi qu'il en soit, voici mon code final:
#include #include
lignes d'octets const = 4; //quatre lignes car le clavier est plein
colonnes d'octets const = 4; //quatre colonnes, comme ci-dessus
boutons de caractères[lignes][colonnes] = {
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', ' C'}, {'*', '0', '#', 'D'} };
octet ligneP[lignes] = {13, 12, 11, 10}; //ligne des broches du clavier
octet colonnesP[colonnes] = {9, 8, 7, 6}; //colonne des broches du clavier
Pavé numérique = Pavé numérique (makeKeymap (boutons), rowP, columnP, rows, column); //créer un clavier
Servo myServo; //
void setup(){
Serial.begin(9600); monServo.attach(5); // attache le servo sur la broche 9 à l'objet servo }
boucle vide(){
clé de caractère = pad.getKey(); // obtient le caractère du clavier if(key == '0') { myServo.write(11); Serial.println("0"); retard(15); } if(clé == '1') { monServo.write(12); Serial.println("1"); retard(15); } if(clé == '2') { monServo.write(24); Serial.println("2"); retard(15); } if(clé == '3') { monServo.write(36); Serial.println("3"); retard(15); }
if(clé == '4')
{ monServo.write(48); Serial.println("4"); retard(15); }
if(clé == '5')
{ monServo.write(60); Serial.println("5"); retard(15); }
if(clé == '6')
{ monServo.write(72); Serial.println("6"); retard(15); }
if(clé == '7')
{ monServo.write(84); Serial.println("7"); retard(15); }
if(clé == '8')
{ monServo.write(96); Serial.println("8"); retard(15); }
if(clé == '9')
{ monServo.write(108); Serial.println("9"); retard(15); }
if(clé == '*')
{ monServo.write(120); Serial.println("*"); retard(15); }
if(clé == '#')
{ monServo.write(132); Serial.println("#"); retard(15); }
if(clé == 'A')
{ monServo.write(146); Serial.println("A"); retard(15); }
if(clé == 'B')
{ monServo.write(158); Serial.println("B"); retard(15); }
if(clé == 'C')
{ monServo.write(170); Serial.println("C"); retard(15); }
if(clé == 'D')
{ monServo.write(180); Serial.println("D"); retard(15); } }
Conseillé:
Clavier analogique DIY vers clavier USB : 4 étapes
DIY Analog Dialer to USB Keyboard: J'ai fait ce projet juste pour le plaisir, mais cette chose fonctionne comme un clavier normal avec tout. Amusez-vous
Système de positionnement basé sur les ultrasons : 4 étapes (avec photos)
Système de positionnement basé sur les ultrasons : Toutes les versions de radars à ultrasons que j'ai trouvées pour les appareils arduino (Arduino - Détecteur Radar/Ultrasonic, Arduino Ultrasonic Radar Project) sont de très bons radars mais tous sont " aveugles ". Je veux dire, le radar détecte quelque chose mais qu'est-ce que je
Utilisation d'Arduino Uno pour le positionnement XYZ du bras robotique 6 DOF : 4 étapes
Utilisation d'Arduino Uno pour le positionnement XYZ du bras robotique 6 DOF : ce projet consiste à mettre en œuvre un croquis Arduino court et relativement simple pour fournir un positionnement cinématique inverse XYZ. J'avais construit un bras robotique à 6 servomoteurs, mais lorsqu'il s'agissait de trouver un logiciel pour l'exécuter, il n'y avait pas grand-chose à part le client
Interface de clavier avec 8051 et affichage des numéros de clavier en 7 segments : 4 étapes (avec images)
Interface du clavier avec 8051 et affichage des numéros du clavier dans 7 segments : dans ce didacticiel, je vais vous expliquer comment nous pouvons interfacer le clavier avec le 8051 et afficher les numéros du clavier dans un affichage à 7 segments
Clavier Das rapide et sale (clavier vierge): 3 étapes
Clavier Das rapide et sale (clavier vierge): Un clavier Das est le nom du clavier le plus populaire sans inscription sur les touches (clavier vierge). Le clavier Das coûte 89,95 $. Cette instructable vous guidera tout en en faisant un vous-même avec n'importe quel vieux clavier que vous avez qui traîne