[go: up one dir, main page]

0% ont trouvé ce document utile (0 vote)
56 vues8 pages

Livret Arduino

Le document présente des programmes et des projets utilisant des microcontrôleurs, notamment Arduino, pour des applications variées comme l'allumage de LED, la mesure de luminosité, et la détection d'obstacles. Il inclut des instructions détaillées pour la mise en œuvre de chaque projet, ainsi que des défis pour les élèves. Enfin, il fournit une liste de matériel nécessaire et des exemples d'activités pédagogiques.

Transféré par

gatien assi
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
56 vues8 pages

Livret Arduino

Le document présente des programmes et des projets utilisant des microcontrôleurs, notamment Arduino, pour des applications variées comme l'allumage de LED, la mesure de luminosité, et la détection d'obstacles. Il inclut des instructions détaillées pour la mise en œuvre de chaque projet, ainsi que des défis pour les élèves. Enfin, il fournit une liste de matériel nécessaire et des exemples d'activités pédagogiques.

Transféré par

gatien assi
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 PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 8

Nouveaux programmes de PC

Atelier Microcontrôleurs

1. Le matériel

Entrées (INPUT) : Lues par le μC pour connaître l’état Sorties (OUTPUT) : Déclenchement contrôlé
du système auquel il est relié par le μC => Source de tension
Entrée numérique (DIGITAL) (ports 2 à 13) : lit l’état du Sortie numérique (DIGITAL) (ports 2 à 13) :
port (LOW ou HIGH) génère une tension de 0V (LOW) à 5V (HIGH)
Exemple : interrupteur Exemples : moteur, LED, buzzer
Entrée analogique (ports A0 à A5) => Voltmètre qui
mesure une tension entre 0 et 5V (10 bits donc 1023
valeurs possibles puis CAN)
Exemples : photorésistance, thermistance
2. Quelques programmes d’appropriation
2.1. Allumer une LED
Niveau 1 : Brancher la LED sur la bonne broche, téléverser le programme.

const int LedRouge = 2

void setup() {
pinMode(LedRouge, OUTPUT) ;
Serial.begin(9600);
}

void loop() {
digitalWrite(LedRouge, HIGH);
}

Niveau 2 : Modifier le programme de sorte à changer la sortie de la LED, par exemple sur la broche 5.
Enregistrer et tester.

2.2. Stroboscope

Niveau 1 : Brancher la LED sur la bonne broche, téléverser le programme.

const int LedRouge = 2;

void setup() {
pinMode(LedRouge, OUTPUT);
Serial.begin(9600);
Montage identique au précédent }

void loop() {
digitalWrite(LedRouge, HIGH);
delay(500) ;
digitalWrite(LedRouge, LOW);
delay(500);
}

Niveau 2 : Modifier le programme de sorte à modifier la durée de clignotement par exemple 50 ms.
Niveau 3 : Modifier le programme de sorte à faire clignoter alternativement une LED rouge et une LED
verte.
2.3. Capteur de lumière
Niveau 1 : Brancher la photorésistance sur l'entrée analogique A0, téléverser le programme puis ouvrir
le moniteur série (bouton en haut à droite de la fenêtre)

const int photoresistance = A0;


float valeur = 0 ;

void setup() {
pinMode(photoresistance, INPUT);
Serial.begin(9600);
}

void loop() {
valeur=analogRead(photoresistance);
Serial.print("Valeur mesurée : ");
Serial.println(valeur) ;
delay(1000);
}

Niveau 2 : Modifier le programme de sorte à diminuer le temps entre deux mesures à 100ms au lieu de
1000ms. Téléverser puis dans l'onglet "Outils", cliquer sur "Traceur série" afin d'afficher la
courbe de mesure.
Niveau 3 : La grandeur mesurée par la photorésistance est stockée sur 10 bits ce qui explique qu'elle
prenne des valeurs entre 0 et 1023 (210 possibilités).
En réalité, ces valeurs correspondent à 1024 valeurs de tension aux bornes de la résistance
comprises entre 0 et 5V.
Compléter les lignes du programme de sorte à afficher dans le moniteur série la tension aux
bornes de la photorésistance.

2.4. Allumage automatique


Niveau 1 : Brancher la photorésistance et la LED sur les entrées adéquates, téléverser le programme et
tester la sensibilité de l’allumage de la LED.

const int photoresistance = A0;


const int LEDrouge = 2;
int valeur = 0 ;

void setup() {
pinMode(photoresistance, INPUT);
pinMode(LEDrouge, OUTPUT);
Serial.begin(9600);
}

void loop() {
valeur = analogRead(photoresistance);
if(valeur > 300){
digitalWrite(LEDrouge, LOW);
}
else if(valeur <= 300){
digitalWrite(LEDrouge, HIGH);
}
}
Niveau 2 : Modifier la valeur seuil. Enregistrer et tester.
Niveau 3 : Modifier le programme de sorte à ajouter une condition supplémentaire : si la luminosité est
encore plus faible, deux LED s'allument. Enregistrer, téléverser et tester.

2.5. Radar de recul

const int trig = 2;


const int echo = 3;
const unsigned long timeout = 25000UL;
const float sound_speed = 0.340;
long mesure = 0 ;
float distance = 0 ;

void setup() {
Serial.begin(9600);
pinMode(trig, OUTPUT);
digitalWrite(trig, LOW);
pinMode(echo, INPUT);
}
void loop() {
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
mesure = pulseIn(echo, HIGH, timeout);
distance = mesure / 2 * sound_speed;
Broche VCC => 5 V Broche Echo => pin3 Serial.print("Attention, l'obstacle se
Broche Trig => pin2 Broche GND => GND trouve à ");
Serial.print(distance);
Serial.println(" mm !");
delay(300);
}

Niveau 1 : Réaliser les branchements de l'émetteur-récepteur d'ultrasons, téléverser le programme et


ouvrir le moniteur série.
Niveau 2 : Brancher un buzzer sur la carte, lui assigner une broche dans le programme pour le faire
bipper. Enregistrer et téléverser.
Niveau 3 : Ajouter quelques lignes de code à la fin de la boucle loop() de sorte à ce que le buzzer bippe
lorsque l'obstacle détecté est trop près. Enregistrer et tester.
2.6. Feu piéton
Niveau 1 : Le moniteur série renvoie l'information "Interrupteur fermé" si le bouton poussoir est
enfoncé et renvoie l'information "Interrupteur ouvert" sinon.

const int bouton = 2;


int buttonState = 0;

void setup() {
pinMode(bouton, INPUT);
Serial.begin(9600);
}
void loop(){
buttonState = digitalRead(bouton);
if (buttonState == HIGH) {
Serial.println("interrupteur
fermé");
}
else {
Serial.println("interrupteur
ouvert");}
delay(100);
}

Niveau 2 :
Modifier le programme de sorte qu’une LED
s'allume lorsque l'interrupteur est enfoncé.

Niveau 3 :
Modifier le programme de sorte qu’une LED
verte s'allume si un bouton poussoir est
enfoncé, reste allumée 5 secondes puis
s'éteint une LED rouge s'allume jusqu’à ce
qu’il y ait un nouvel appui sur le bouton.

3. Les défis !
Défi 1 Défi 2 Défi 3
Feu tricolore Feu tricolore et feu piéton Ventilateur
3 LED de couleurs différentes Ajouter au défi précédent un feu Un ventilateur se met en route
s’allument successivement piéton qui passe au vert pendant lorsque la température atteint
(Rouge : 4 s - Vert - 6 s - Orange - 5 secondes si le bouton poussoir une valeur limite définie par
2 s) est enfoncé et qui provoque le l’utilisateur
passage au rouge du feu
tricolore.
4. Quelques exemples d’activités élève
Titre Description Programme de 2nde

Guide d’utilisation
Notice pour Arduino
d’Arduino

Introduction à TP d’introduction pour découvrir le code avec Arduino et un petit montage simple
Arduino (faire clignoter une DEL et application au feu tricolore)

Luminosité de Utilisation d’une Mesurer une grandeur physique à l’aide d’un


l’écran d’un photorésistance pour allumer capteur électrique résistif. Produire et réaliser une
téléphone portable ou éteindre une DEL courbe d'étalonnage reliant la résistance d'un
système avec une grandeur d'intérêt (température,
Refroidir son Utiliser une thermistance pour pression ...). Utiliser un dispositif avec
ordinateur déclencher un ventilateur microcontrôleur et capteur.

Utilisation d’une
photorésistance pour Utiliser un dispositif comportant un microcontrôleur
Thérémine
déclencher un son émis par un pour produire un signal sonore.
buzzer.

Émission et réception d'un


Mesurer la vitesse d'un signal sonore.
Mesure de la signal sonore à l’aide d’un
Utiliser un dispositif comportant un microcontrôleur
vitesse du son microcontrôleur.
pour produire un signal sonore.
Mesure de la vitesse du son.

Titre Description Programme de 1ère (spécialité)

Déterminer, par exemple à l’aide d’un


Utilisation d’un émetteur et d’un
Radar de recul microcontrôleur ou d’un smartphone, une
récepteur
distance ou la célérité d’une onde.

Utilisation d’un capteur de pression


pour vérifier la loi de Mariotte. Les Tester la loi de Mariotte, par exemple en utilisant
Loi de Mariotte
données mesurées avec Arduino un dispositif comportant un microcontrôleur.
sont exploitées avec Python.

Déterminer la quantité de matière de chaque


Déterminer le pourcentage de
espèce dans un mélange (liquide ou solide) à
cuivre dans une pièce de monnaie
Mesure partir de sa composition.
en utilisant un microcontrôleur
automatisée d’une Proposer et mettre en œuvre un protocole pour
Utilisation d’une photorésistance
concentration réaliser une gamme étalon et déterminer la
pour mesurer l’absorbance d’une
concentration d’une espèce colorée en solution
solution
par des mesures d’absorbance.
5. Mise en œuvre pratique : kit de survie

Matériel de base pour les activités expérimentales avec microcontrôleurs (2nde et 1ère spécialité)

1 micro-contrôleur Arduino Uno, Adafruit, Funduino … 20 €


1 plaque de montage Taille moyenne 4,50 €
1 câble ordi  carte long (si ordi fixe) 3€
Nappes de fils (jumpers) x 40 mâle / mâle 6€
5 LED (rouges, vertes, oranges) Rouge, verte, orange 1€
5 Résistances 220 Ohm ou 1kOhm 0,20 €
1 thermistance CTN 4,7 kOhm 0,60 €
1 buzzer Deux broches 1,80 €
1 photorésistance 1 kOhm 0,75 €
1 émetteur récepteur US Ex : HC SR 04 3,90 €
1 bouton poussoir 1,90 €
1 boîte plastique Intercalaires amovibles
1 capteur de pression Ex : MPRLS 13 €
TOTAL : Environ 60 €

Où se procurer le matériel ?
En plus des vitrines classiques de ventes de matériel pédagogique dédié à la physique et à la chimie, comme
Jeulin, Sordalab, etc., il existe d’autres enseignes habituées à travailler avec l’Education Nationale et
spécialisées en matériel électronique :
LEXTRONIC : https://www.lextronic.fr/ CONRAD : https//www.conrad.fr/
GOTRONIC : http://gotronic.fr
Récapitulatif des commandes de base

Structure Variables et constantes Fonctions

FONCTIONS DE BASE Les variables sont des expressions que ENTRÉES/SORTIES NUMÉRIQUES
vous pouvez utiliser dans les
Ces deux fonctions sont obligatoires programmes pour stocker des valeurs, • pinMode(broche, mode)
dans tout programme en langage telles que la tension de sortie d'un • digitalWrite(broche, valeur)
Arduino : capteur présente sur une broche
analogique.
• int digitalRead(broche)
• void setup()
CONSTANTES PRÉDÉFINIES ENTRÉES ANALOGIQUES
• void loop()
Les constantes prédéfinies du langage • int analogRead(broche)
STRUCTURES DE CONTRÔLE
Arduino sont des valeurs particulières
ayant une signification spécifique. SORTIES "ANALOGIQUES"
• if (condition) {commande} ;
(GÉNÉRATION D'IMPULSION)
• if (condition) {commande} ;
• HIGH | LOW
else {commande} • analogWrite(broche, valeur) -
• INPUT | OUTPUT
• for PWM
• true | false
• while
ENTRÉES/SORTIES AVANCÉES
SYNTAXE DE BASE TYPES DES DONNÉES
• tone(broche, fréquence, durée)
• ; (point virgule) Les variables peuvent être de type ou
variés qui sont décrits ci-dessous. tone (broche, fréquence)
• {} (accolades)
• // (commentaire sur une ligne) • boolean
• notone (broche, fréquence,
durée) ou
• /* */ (commentaire sur plusieurs • int notone (broche, fréquence)
lignes) • unsigned int • pulseIn()
OPÉRATEURS ARITHMÉTIQUES • long
• unsigned long TEMPS
• = (égalité) • float (nombres à virgules)
• delay(ms)
• + (addition) • Les chaînes de caractères
• delayMicroseconds(us)
• - (soustraction) • void (fonctions)
• * (multiplication) MATH
• / (division)
• % (modulo) • min(x, y)
• max(x, y)
OPÉRATEURS DE COMPARAISON • abs(x)
• sq(x)
• == (égal à)
• sqrt(x)
• != (différent de)
• < (inférieur à) TRIGONOMÉTRIE
• > (supérieur à)
• <= (inférieur ou égal à) • sin(rad)
• >= (supérieur ou égal à) • cos(rad)
• tan(rad)
• degrees(rad)
• radians(deg)
• PI

COMMUNICATION
• Serial
Source : http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Reference

Vous aimerez peut-être aussi