ServoMoteur
Contrôlez la position d'un servomoteur avec votre Arduino et un
potentiomètre.
Cet exemple utilise la bibliothèque servo Arduino .
Matériels requis
·
Carte
Arduino
·
Servomoteur
·
Potentiomètre
10k ohm
·
fils
de raccordement
Circuit
Les servomoteurs ont trois fils:
l'alimentation, la masse et le signal. Le fil d'alimentation est
généralement rouge et doit être connecté à la broche 5V de la carte Arduino ou
Genuino. Le fil de terre est généralement noir ou marron et doit être
connecté à une broche de masse sur la carte. La broche de signal est
généralement jaune ou orange et doit être connectée à la broche 9 sur la carte.
Le potentiomètre doit être câblé de
sorte que ses deux broches externes soient connectées à l'alimentation (+ 5V)
et à la masse, et que sa broche centrale soit connectée à l'entrée analogique 0
de la carte.
Schématique
Code
/ *
DIY Electronics par Bessem BELGHITH
DIY Electronics par Bessem BELGHITH
Contrôle d'une position d'asservissement à l'aide d'un potentiomètre
(résistance variable)
* /
#include <Servo.h>
Servo myservo ; // crée un objet servo pour contrôler un servo
int potpin = 0 ; // broche analogique utilisée pour connecter le potentiomètre
int val ; // variable pour lire la valeur de la pin analogique
void setup ( ) {
myservo. attach ( 9 ); // attache le servo sur la broche 9 à l'objet asservi
}
void loop ( ) {
val = analogRead ( potpin ) ; // lit la valeur du potentiomètre (valeur comprise entre 0 et 1023)
val = map ( val , 0 , 1023 , 0 , 180 ) ; // mise à l'échelle pour l'utiliser avec le servo (valeur entre 0 et 180)
myservo. write ( val ) ; // définit la position d'asservissement en fonction du délai de mise à l'échelle
delay( 15 ) ; // attend que le servo arrive
* /
#include <Servo.h>
Servo myservo ; // crée un objet servo pour contrôler un servo
int potpin = 0 ; // broche analogique utilisée pour connecter le potentiomètre
int val ; // variable pour lire la valeur de la pin analogique
void setup ( ) {
myservo. attach ( 9 ); // attache le servo sur la broche 9 à l'objet asservi
}
void loop ( ) {
val = analogRead ( potpin ) ; // lit la valeur du potentiomètre (valeur comprise entre 0 et 1023)
val = map ( val , 0 , 1023 , 0 , 180 ) ; // mise à l'échelle pour l'utiliser avec le servo (valeur entre 0 et 180)
myservo. write ( val ) ; // définit la position d'asservissement en fonction du délai de mise à l'échelle
delay( 15 ) ; // attend que le servo arrive
}
Aucun commentaire:
Enregistrer un commentaire