TP Présentation Arduino

publicité
STI2D SIN
TP - Cours : Mes premiers pas en langage C avec Arduino Uno
Pourquoi Arduino?
C'est une plateforme pilotée par un logiciel « open-source », véritable environnement de développement
intégré, pour écrire, compiler et transférer le programme vers une carte à microcontrôleur.
Le langage utilisé est proche du code C.
Objectifs
→Etre capable d’identifier la nature d’un signal (logique, analogique).
→Etre capable d’identifier une entrée et une sortie sur un microcontrôleur.
→Etre capable d’appréhender les bases d’un langage de programmation.
Matériels à disposition
Le sujet « Tp-cours »
Le sujet « Fiches exercices »
Le site http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php
L’environnement de programmation « ARDUINO UNO »
Répartition du travail
PARTIE N°1 « Découverte matérielle et logicielle »
PARTIE N°2 « Découverte du langage basique de l’Arduino »
PARTIE N°3 « Synthèse »
PARTIE N°4 « Fiches exercices »
Enseignement de spécialité
Lycée Gustave Eiffel BORDEAUX
Page 1 sur 8
STI2D SIN
TP - Cours : Mes premiers pas en langage C avec Arduino Uno
I . PARTIE N°1 « DECOUVERTE MATERIELLE ET LOGICIELLE»
I.1 Présentation de la carte « Arduino »
C'est d’une part une plateforme qui est basée sur une carte à microcontrôleur (de la famille AVR), et
d’autre part un logiciel « open-source », véritable environnement de développement intégré, pour
écrire, compiler et transférer le programme vers la carte à microcontrôleur.
Le langage utilisé est proche du code C.
Signal logique :
Signal analogique
5V
5V
0
0
Signal PWM
5V
0
T1
Rapport cyclique
T
I.2 Rôle et caractéristiques des entrées-sorties numériques
Utilisation
Une entrée numérique permet de recevoir une information logique (0 ou 1).
Ce type d’entrée permet de recevoir l’état d’un capteur, d’un bouton.
Une sortie numérique peut piloter de façon logique un actionneur ou un pré actionneur.
Ce type de sortie permet de piloter un relais, un voyant.
Caractéristiques électriques
Une sortie peut fournir 40 mA. Le courant sur l’ensemble des sorties est au max de 200mA. Tension 5V
I.3 Rôle et caractéristiques des sorties PWM
Utilisation
Ces types de sorties vont permettre de générer une impulsion dont le rapport cyclique est variable.
PWM - Pulse Width Modulation. MLI - Modulation de Largeur d'Impulsion.
Ceci peut-être utilisé pour faire briller une LED avec une luminosité variable ou pour faire varier la
vitesse d’un moteur.
Caractéristiques électriques
Signal 0 – 5 V, rapport cyclique réglable de 0% à 100%. La fréquence du signal PWM est
approximativement de 490Hz.
I.4 Rôle et caractéristiques des entrées analogiques
Utilisation
La carte dispose de 6 entrées analogiques chacune pouvant effectuer une mesure de tension.
Permet de connecter des capteurs analogique (exemple : mesure de température).
Caractéristiques électriques
Tension d’entrée [0 à +5V]
Enseignement de spécialité
Lycée Gustave Eiffel BORDEAUX
Page 2 sur 8
STI2D SIN
TP - Cours : Mes premiers pas en langage C avec Arduino Uno
I.5 Présentation de l’interface logicielle
Interface de programmation
Barre à boutons
Vérifie et compile le
programme
Transfère vers la
carte Arduino
Création d’un
nouveau programme
Ouvrir un programme
existant
Enregistrer un
programme
Moniteur série
Le logiciel Arduino intègre également un TERMINAL SERIE (fenêtre séparée) qui permet d'afficher des
messages, textes reçus sur carte Arduino et d'envoyer des caractères vers la carte Arduino. Cette
fonctionnalité permet une mise au point facilitée des programmes, permettant d'afficher sur l'ordinateur
l'état de variables, de résultats de calculs ou de conversions analogique-numérique : un élément
essentiel pour améliorer, tester et corriger ses programmes.
Enseignement de spécialité
Lycée Gustave Eiffel BORDEAUX
Page 3 sur 8
STI2D SIN
TP - Cours : Mes premiers pas en langage C avec Arduino Uno
Exercice N°1 « Analyse du schéma électrique »
Q1 : Repérer sur la carte Arduino et sur le schéma électrique le connecteur USB
Q2 : Repérer sur la carte Arduino et sur le schéma électrique le microcontrôleur (ATEMEGA 328P).
Q3 : Repérer sur la carte Arduino et sur le schéma électrique le bornier d’alimentation.
Q4 : Repérer sur la carte Arduino et sur le schéma électrique le bornier des entrées analogiques.
Q5 : Repérer sur la carte Arduino et sur le schéma électrique le bornier des E/S numériques.
Q6 : Repérer sur la carte Arduino et sur le schéma électrique les sorties PWM.
Enseignement de spécialité
Lycée Gustave Eiffel BORDEAUX
Page 4 sur 8
STI2D SIN
TP - Cours : Mes premiers pas en langage C avec Arduino Uno
I I . PARTIE N°2 « DECOUVERTE DU LANGUAGE BASIQUE DE L’ARDUINO »
II.1 Les instructions « void setup » et « void loop »
Q1 : A l’aide du paragraphe « Référence Etendue » du site internet proposé, et à partir des documents
des fonctions Arduino fournis au format pdf, indiquer la fonction de chacune des lignes suivantes.
void setup()
{
pinMode(8, OUTPUT);
}
void loop()
{
digitalWrite(8, HIGH);
delay(1000);
digitalWrite(8, LOW);
delay(1000);
}
………………………………………………………………………………………………………….
………………………………………………………………………………………………………….
………………………………………………………………………………………………………….
………………………………………………………………………………………………………….
………………………………………………………………………………………………………….
………………………………………………………………………………………………………….
………………………………………………………………………………………………………….
………………………………………………………………………………………………………….
Q2 : Quelle est alors la fonction de ce programme.
………………………………………………………………………………………………………….………………………………………………………
Q3 : Compléter le schéma de raccordement ci-dessous pour tester le programme précédent.
Q4 : Calculer la valeur de la résistance pour garantir I=20mA.
Q5 : Réaliser le schéma de raccordement.
Q6 : Recopier le programme.
Q7 : Lancer le programme et vérifier le bon fonctionnement. (faire valider par le professeur)
Schéma de raccordement
Calcul de la résistance
Schéma de principe
R1
D1
Sortie logique
ATMEGA 328
n°8
gnd
Calcul de la résistance
(Tension VD1=2V)
……………………………………………………………………………..
……………………………………………………………………………..
……………………………………………………………………………..
……………………………………………………………………………..
……………………………………………………………………………..
Enseignement de spécialité
Lycée Gustave Eiffel BORDEAUX
Page 5 sur 8
STI2D SIN
TP - Cours : Mes premiers pas en langage C avec Arduino Uno
II.2 Les instructions « pinMode » « digitalWrite » « digitalRead »
Q1 : à partir des documents de Référence du langage Arduino, indiquer la fonction de chacune des
lignes suivantes.
void setup()
{
pinMode (3, OUTPUT);
pinMode (2, INPUT);
}
void loop ()
{
boolean valeurPin;
valeurPin = digitalRead (2);
digitalWrite (3, valeurPin);
}
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
………………………………………………………………………………………………………
Q2 : Quelle est alors la fonction de ce programme
………………………………………………………………………………………………………….………………………………………………………
………………………………………………………………………………………………………….………………………………………………………
Q3 : Compléter le schéma de raccordement (1) permettant de visualiser un état logique haut sur la del.
Q4 : Compléter le schéma de raccordement (2) permettant de visualiser un état logique bas sur la del.
Q5 : Réaliser le schéma de raccordement.
Q6 : Recopier le programme.
Q7 : Lancer le programme et vérifier le bon fonctionnement. (faire valider par le professeur)
Schéma de raccordement (1)
Enseignement de spécialité
Lycée Gustave Eiffel BORDEAUX
Schéma de raccordement (2)
Page 6 sur 8
STI2D SIN
TP - Cours : Mes premiers pas en langage C avec Arduino Uno
II.3
L’instruction « if »
Q1 : à partir des documents de Référence du langage Arduino, indiquer la fonction de l’instruction if.
………………………………………………………………………………………………………….………………………………………………………
………………………………………………………………………………………………………….………………………………………………………
………………………………………………………………………………………………………….………………………………………………………
Q2 : Compléter le programme permettant d’allumer la DEL sur la sortie n°2 en fonction de l’état du
bouton sur l’entrée n°3 (utiliser la structure if).
Q3 : Réaliser le schéma de raccordement.
Q4 : Recopier le programme.
Q5 : Lancer le programme et vérifier le bon fonctionnement. (faire valider par le professeur)
Programme à compléter
Schéma de raccordement
void setup()
{
pinMode (2, OUTPUT);
pinMode (3, INPUT);
}
void loop ()
{
boolean valeurPin;
valeurPin = digitalRead (3);
……………………………………………………………
{
……………………………………………………………
}
……………………………………………………………
{
……………………………………………………………
}
}
II.4
L’instruction « while »
Q1 : à partir des documents de Référence du langage Arduino, indiquer la fonction de l’instruction
while.
………………………………………………………………………………………………………….………………………………………………………
………………………………………………………………………………………………………….………………………………………………………
………………………………………………………………………………………………………….………………………………………………………
Q2 : Sans modifier votre câblage, proposer un programme pour allumer la LED tant que le bouton n’est
pas actionné (utiliser la structure while).
Q3 : Lancer le programme et vérifier le bon fonctionnement. (faire valider par le professeur)
Enseignement de spécialité
Lycée Gustave Eiffel BORDEAUX
Page 7 sur 8
STI2D SIN
TP - Cours : Mes premiers pas en langage C avec Arduino Uno
II.5
Les différents type de variables
A partir des documents de Référence du langage Arduino
Q1 : Indiquer le type d’une variable binaire ou logique :
(Préciser les valeurs possibles)
…………………………………………………
…………………………………………………
Q2 : Indiquer le type d’une variable entière :
(Préciser les valeurs possibles)
…………………………………………………
…………………………………………………
Q3 : Que représente la variable de type « char »
…………….………………………………………………………………………………………………………………………………………………
I I I . PARTIE N°3 « Synthèse »
1- La fonction void setup est obligatoire en début de programme ?
2- La fonction void setup permet d’initialiser le programme ?
3- La fonction void setup s'exécute plusieurs fois ?
4- La fonction void setup s'exécute une fois en début de programme ?
5- La fonction void loop est obligatoire ?
6- La fonction void loop s'exécute une seule fois ?
7- La fonction void loop s'exécute en permanence ?
8- La fonction pinMode permet d’affecter une broche en entrée ou en sortie ?
9- La fonction pinMode s’exécute toujours dans la fonction void setup ?
10- La fonction pinMode s’exécute toujours dans la fonction void loop ?
11- La fonction digitalRead permet ……………. un l’état logique sur une entrée.
12- La fonction digitalWrite permet ……………. un l’état logique sur une sortie.
13- Les variables [0 et 1] sont des variables de types :
14- Les variables [0, 1, 20, 30, 32, 55……] sont des variables de types :
15- Les variables [A, B, C, D, ……] sont des variables de types :
16- Quel est l’unité de la fonction delay
17- Donner la signification des termes HIGH et LOW.
18- Donner la signification des termes INPUT et OUTPUT
Enseignement de spécialité
Lycée Gustave Eiffel BORDEAUX
□Vrai
□Faux
□Vrai
□Faux
□Vrai
□Faux
□Vrai
□Faux
□Vrai
□Faux
□Vrai
□Faux
□Vrai
□Faux
□Vrai
□Faux
□Vrai
□Faux
□Vrai
□Faux
□d’écrire □de lire
□d’écrire □de lire
……………………………
……………………………
……………………………
……………………………
……………………………
……………………………
Page 8 sur 8
Téléchargement