Table des matières:

Micro Servo Lab : 9 étapes
Micro Servo Lab : 9 étapes

Vidéo: Micro Servo Lab : 9 étapes

Vidéo: Micro Servo Lab : 9 étapes
Vidéo: sg90 9g micro servo testing without servo motor driver... 2024, Novembre
Anonim
Micro Servo Lab
Micro Servo Lab

Dans ce labo, nous allons travailler sur le contrôle de la position d'un micro servo avec un potentiomètre. En fonction de la position des "bras" du micro servo, nous allumerons les rangées de LED correspondantes. Pour ce laboratoire, vous aurez besoin de:

  • 1 micro servo (celui fourni est un micro servo de 9 grammes)
  • 1 potentiomètre
  • 10 LEDS (utilisant deux couleurs différentes)
  • 10 résistances de 220 Ohms

Étape 1: connectez un micro servo

Connecter un micro servo
Connecter un micro servo

Le micro servo a trois fils pour l'alimentation, la terre et une impulsion de signal. Le micro servo accepte une impulsion PWM pour déterminer dans quelle position il doit se trouver (0 - 180 degrés). Techniquement, vous pouvez utiliser n'importe laquelle des broches PWM sur l'Arduino Uno, mais nous commençons généralement par la broche 9 ou 10*.

Installer:

  1. Connectez la maquette au rail d'alimentation (+5V) et au rail de terre (GND)
  2. Connectez le servo au rail d'alimentation, au rail de terre et à la broche 9.

** C'est parce que la bibliothèque Servo utilise Timer2 sur l'Arduino qui nous empêchera d'utiliser des signaux PWM, analogWrite(), sur ces deux broches à d'autres fins que le contrôle d'un servo. Bien que nous puissions toujours utiliser ces broches pour les E/S numériques, nous les utiliserons généralement exclusivement pour la servocommande**

Étape 2: Tester le micro servo

Le code ici est l'exemple de code fourni par la bibliothèque Servo. Il aura simplement le servo balayage d'avant en arrière de 0 à 180 degrés

/* Balayer

par BARRAGAN Cet exemple de code est dans le domaine public. modifié le 8 novembre 2013 par Scott Fitzgerald https://www.arduino.cc/en/Tutorial/Sweep */ #include "Servo.h" Servo myservo; // 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() { myservo.attach(9); // attache le servo sur la broche 9 à l'objet servo } void loop() { for (pos = 0; pos = 0; pos -= 1) { // passe de 180 degrés à 0 degrés myservo.write(pos); // dit au servo de se positionner dans la variable 'pos' delay(15); // attend 15ms que le servo atteigne la position } }

Étape 3: Connectez un potentiomètre

Connecter un potentiomètre
Connecter un potentiomètre

Nous allons maintenant travailler sur le contrôle manuel de la position du servo avec un potentiomètre. Connectez le potentiomètre comme suit:

  • Côté gauche - Rail au sol
  • Côté droit - Rail d'alimentation
  • Connexion haut/milieu - Pin A0 (analogique 0 pin)

Étape 4: Code de démarrage du potentiomètre

Vous trouverez ci-dessous un code de démarrage pour contrôler le servo avec un potentiomètre. Terminez le code de sorte que lorsque vous déplacez le potentiomètre, le servo se déplace à l'unisson.

/* Sweep par BARRAGAN Cet exemple de code est dans le domaine public. modifié le 8 novembre 2013 par Scott Fitzgerald https://www.arduino.cc/en/Tutorial/Sweep */ #include "Servo.h" Servo myservo; // 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 int potPin = 0;//Sélectionnez la broche pour connecter le potentiomètre int potVal = 0;//Valeur actuelle du potentiomètre void setup() { myservo.attach(9); // attache le servo sur la broche 9 à l'objet servo pinMode(potPin, INPUT); } boucle vide() { potVal = analogRead(potPin); monservo.write(pos); // dit au servo de se positionner dans la variable 'pos' delay(15); // attend 15ms que le servo atteigne la position }

Étape 5: Connectez la première LED

Connectez la première LED
Connectez la première LED

Après avoir contrôlé le servo via le potentiomètre, nous allons ajouter un retour via des LED. Nous allons créer deux rangées de LED. L'un représentera le bras "gauche" du servo et l'autre représentera le bras "droit" du servo. Au fur et à mesure que le servo change de position, un bras monte et l'autre descend. Les LED s'allumeront pour afficher:

  • plein - le bras est levé
  • demi-bras sont égaux.
  • éteint - le bras est abaissé

Le diagramme affichera les rangées de LED aux extrémités opposées de la planche à pain. Cela a été fait pour faciliter la visibilité, vos LED doivent être alignées/même les unes avec les autres.

Connectez la première LED:

  • Connectez le fil court de la LED au rail de terre
  • Connectez le fil le plus long de la LED à une résistance de 220 Ohm. Connectez la résistance à la broche 13 de l'Arduino.

Étape 6: connectez la rangée restante de LED

Connectez la rangée restante de LED
Connectez la rangée restante de LED

Une fois la première LED ajoutée, connectez les LED restantes:

  • Fil plus court - se connecter au rail au sol
  • Fil plus long - connectez une résistance de 220 Ohm aux LED et aux broches Arduino suivantes: 12, 11, 10, 9, 8

Étape 7: Ajoutez la première LED, la deuxième rangée

Ajouter la première LED, la deuxième rangée
Ajouter la première LED, la deuxième rangée

La deuxième rangée de LED sera ajoutée de la même manière que la première:

  • Connectez le fil court de la LED au rail de terre
  • Connectez le fil le plus long de la LED à une résistance de 220 Ohm. Connectez la résistance à la broche 7 de l'Arduino.

Étape 8: Connectez les LED finales

Connectez les LED finales
Connectez les LED finales

Connectez les LED restantes:

Fil plus court - connectez-vous au rail de terre Fil plus long - connectez une résistance de 220 ohms aux LED et aux broches Arduino suivantes: 6, 5, 4, 3

Étape 9: Contrôlez l'affichage LED

Votre dernière étape consiste à mettre à jour votre code pour contrôler vos LED. Il devra gérer les éléments suivants:

  • La rangée du haut correspondra au "bras droit" du servo. Lorsque le bras balaie vers le haut/bas, les LED doivent s'allumer/s'éteindre.
  • La rangée du bas correspondra au "bras gauche" du servo. Lorsque le bras balaie vers le haut/bas, les LED doivent s'allumer/s'éteindre.

Conseillé: