0% ont trouvé ce document utile (0 vote)
21 vues5 pages

TP Arduino

Ce document présente un TP sur la programmation d'interface avec Arduino, incluant la variation de luminosité d'une LED à l'aide de PWM et le contrôle d'un servomoteur via une résistance variable. Il explique les principes de la modulation de largeur d'impulsion et fournit des exemples de code pour réaliser ces tâches. Enfin, il aborde la programmation d'interface série pour envoyer des données via le port série.

Transféré par

bella.mariach201
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
21 vues5 pages

TP Arduino

Ce document présente un TP sur la programmation d'interface avec Arduino, incluant la variation de luminosité d'une LED à l'aide de PWM et le contrôle d'un servomoteur via une résistance variable. Il explique les principes de la modulation de largeur d'impulsion et fournit des exemples de code pour réaliser ces tâches. Enfin, il aborde la programmation d'interface série pour envoyer des données via le port série.

Transféré par

bella.mariach201
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Objectifs : Les objectifs de ce TP sont les

TP N°3 : suivants :
 Se familiariser avec la programmation
Program d'interface (Luminosité variée d'une LED,
Commande d’un servomoteur à l'aide
mation
d'une résistance variable).
 Mise en œuvre d'une application d'interface série.
A. Programmation d'interface pour une luminosité variée d'une
LED
1. Introduction :
 Dans cette partie, l'objectif est de comprendre COMMENT
programmer une variation de la valeur moyenne de la
tension qui alimente un actionneur, dans notre cas c’est une
diode LED. Ce programme permet de faire varier la
luminosité d'une diode LED sur une broche d'une carte
Arduino. il exploite l'instruction analogWrite(broche, largeur)
qui permet de générer une impulsion PWM (Pulse Width
Modulation en anglais ou Modulation de Largeur d'Impulsion
(MLI) en français). Cette instruction permet de moduler la
largeur d'impulsion, la fréquence restant fixe aux alentours
de 490 hz par défaut.
 Note: L'instruction analogWrite() n'est disponible que sur les
broches 3, 5,6,9,10,11.
 Principe :
 Une impulsion PWM est une impulsion (ou onde) carrée, c'est
à dire que le niveau de l'onde est soit HAUT soit BAS. Cette
impulsion se répète dans le temps de façon continue. Une
telle onde, comme toute onde est caractérisée par sa
période, c'est à dire la durée entre 2 impulsions. La définition
d'une onde PWM (Pulse Width Modulation en anglais ou
Modulation de Largeur d'Impulsion (MLI) en français) se fait
en modifiant la largeur du niveau HAUT par rapport à la
durée de la période : la largeur du niveau HAUT est appelée
« duty cycle ».
 Avec l'instruction analogWrite(broche, largeur), on va pouvoir
générer une impulsion PWM avec une largeur de « duty cycle
» voulue :
• si valeur = 0, le duty cycle sera de 0% de la période
• si valeur = 255, le duty cycle sera de 100% de la période
• si valeur = 127, le duty cycle sera de 50% de la période
• si valeur = n, le duty cycle sera de (n/255)*100% de la
période
2. Réaliser le schéma de montage de la figure 2 suivante :

int led = 3;

void setup() {
pinMode(led, OUTPUT);
}

void loop() {
for (int i = 0; i <= 255; i++) {
analogWrite(led, i);
delay(100);
}
}
B. Commande d’un servomoteur à l'aide d'une résistance
variable :
Le Servomoteur : est un moteur où on peut contrôler l’angle
de rotation avec précision. Le servomoteur contient :
 un moteur DC
 un driver : contrôler le sens de rotation
 un potentiomètre : régulation pour avoir une précision sur
l’angle de rotation

 des engrenages
#include <Servo.h>

Servo myservo;
int potpin = A0;
int val;

void setup() {
myservo.attach(9);
}

void loop() {
val = analogRead(potpin);
val = map(val, 0, 1023, 0, 180);
myservo.write(val);
delay(15);
#include <Servo.h>

Servo myservo;

void setup() {
myservo.attach(9);
}

void loop() {
for (int i = 0; i <= 180; i++) {
myservo.write(i);
delay(60);
}

for (int j = 180; j >= 0; j--) {


myservo.write(j);
delay(60);
}
}

2.Réaliser le schéma de montage de la figure 6 suivante :

C. Programmation d'interface série :


char str[4];

void setup() {
Serial.begin(9600);
}

void loop() {
int value = 1234;
itoa(value, str, 10);
Serial.write(str,4);
}

Vous aimerez peut-être aussi