Des sketchs à ajouter à ArdPyLog (suite)


12. Servo-moteur
(faire tourner un servo-moteur de 0 à 180 °  – Catégorie: Moteurs)

 

L’objectif de cette activité est de faire tourner un servo-moteur de 0 à 180 ° à l’aide d’un potentiomètre.
Le servo-moteur a 3 fils de connexion :


– fil rouge : alimentation +5 V
– fil noir : la masse
– fil blanc : fil de contrôle du servo-moteur par l’arduino


Pour éviter les chutes de tension, quand le servomoteur est en fonctionnement, on utilise deux condensateurs de 100 μF placés en parallèle avec le servo-moteur et le potentiomètre :

 

Le programme

Voici le code de l’activité :

#include <Servo.h>

Servo myServo;

int const PotPin= A0;
int PotVal;
int angle;


void setup() {
myServo.attach(9);
Serial.begin(9600);

}

void loop() {

PotVal = analogRead(PotPin);
Serial.print(« Valeur du potentiometre: « );
Serial.print(PotVal);
angle = map(PotVal,0,1023,0,179);
Serial.print( » , Angle: »);
Serial.println(angle);

myServo.write(angle);
delay(15);
}

 

Déroulement du programme :

– 1. Insertion des bibliothèques :

. Insertion de la librairie « Servo »

. Initialisation du servo-moteur (« Servo myServo »)

 

– 2. Déclaration des constantes et variables :

. int const PotPin= A0 (constante nombre entier correspondant à la broche d’entrée analogique de l’Arduino reliée au potentiomètre)

. int PotVal (Variable nombre entier pour stocker la valeur de la broche du potentiomètre)

. int angle (Variable nombre entier pour stocker la valeur de l’angle de rotation du servo-moteur)

 

– 3. Initialisation des entrées et sorties :

. Initialisation de la liaison série à un débit de 9600 bauds

. Initialisation de la broche de contrôle du servo-moteur

 

– 4. Fonction principale en boucle :

–> Lecture de la valeur de la broche d’entrée analogique de l’Arduino reliée au potentiomètre,

–> Conversion de cette valeur en angle de rotation (0 – 180 °),

–> Affichage des valeurs dans le moniteur série,

–> Rotation du servomoteur de l’angle défini par le potentiomètre.