Projet feu stop vélo

publicité
Projet 2° SSI 2013-2014
Feu stop pour vélo.
Pour ce projet vous devez :
Découvrir la carte Arduino
Initiation à la mise en œuvre matérielle et logicielle
de l’Arduino
Les bases de l’électronique
Utiliser un accéléromètre MMA7361
Réalisation de la carte.
Réalisation du programme complet.
Conception d’un boitier pour le système.
Réalisation d’un mode d’emploi.
Réalisation d’une publicité.
Réaliser un dossier complet du projet.
Feu stop pour vélo.
.
1
1. Feu stop pour vélo ,cahier des charges.
Très pratique pour signaler aux autres usagers de la route que vous
ralentissez, vous réaliserez un feu stop pour vélo qui doit s'installer
très simplement sur la tige de selle.
Un feu qui sera est équipé de 5 LEDs brillantes alimentées par des
piles.
Un capteur de mouvement permet de déceler si le vélo ralentit.
Si on ne bouge pas de 30 secondes les leds s’éteignent.
Ce feu dispose de trois modes :
le premier mode clignote lorsque vous pédalez et devient un
feu fixe lorsque vous freinez.
le second mode produit un éclairage fixe lorsque vous circulez
normalement, et brille encore plus fortement lorsque vous
freinez.
le troisième mode laisse les LEDs éteintes lorsque vous
roulez et les éclaire lorsque vous freinez
Pour plus de sécurité, votre feu devra être équipé de la technologie
PWM qui permet de maintenir la luminosité des LEDs constantes,
même en fin de vie des batteries ou des piles.
feu s'allume automatiquement après 30 s d'utilisation de votre vélo. Il
se coupe aussi automatiquement après 4 min d'inactivité.
Ce feu stop est étanche et peut être utilisé par tous les temps. Son
Un indicateur de charge vous indiquera quand les piles sont bientôt
vides.
Un voyant s'éclaire quand la tension d'alimentation passe en dessous
des 2,3 V.
Feu stop pour vélo.
.
2
2. Consignes de sécurité
L’électricité peut être mortelle!
Pour éviter tout risque, en particulier avec des élèves, ne travailler qu’avec de la très basse tension (TBT).
La tension de fonctionnement de l’Arduino se situe autour de 5 Volts.
Avec les élèves, je me suis volontairement limité à travailler en courant continu avec une différence de
potentiel maximum de 24 Volts.
Ne jamais interfacer directement l’Arduino avec le secteur (230 Volts alternatif).
Pour l’alimentation des projets, utiliser des transformateurs répondants aux normes de
sécurité en vigueur.
Avec des élèves, ne pas utiliser de transformateurs ou appareils sur le secteur fait
maison.
Ne pas démonter d’appareils électroniques, sans supervision.
Certains composants, comme les condensateurs, peuvent délivrer des décharges électriques mortelles,
même lorsqu’ils ne sont pas connectés au secteur.
Feu stop pour vélo.
.
3
Pour ce projet, le matériel minimum nécessaire par élève est le suivant:
• Un léonardo
• 2 LEDs rouges
• Un accéléromètre
3. Découverte de la plateforme Arduino
Qu’est-ce qu’un ordinateur? La réponse la plus évidente est sans doute de dire qu’un
ordinateur, c’est ceci:
Mais est-ce aussi simple? Car un ordinateur, c’est aussi, cela:
Écris ta définition du mot ordinateur:
……………………………………………………………………………………..
Cite des objets qui contiennent des ordinateurs:
………………………………………………………………………………….
Feu stop pour vélo.
.
4
4. Arduino , Léodarno?
Arduino est un projet open source. Cela signifie que tout le monde a accès librement aux plans,
au logiciel (et à son code source), ainsi qu’au langage de programmation. Tout le monde peut
donc modifier l’Arduino, créer des accessoires ou même faire des copies de l’Arduino et les
vendre.
Les cartes originelles sont vendues par Arduino. Mais de nombreux autres fabricants en
commercialisent, plus ou moins proches des originaux.
Cherche et note les définitions suivantes:
Open-source
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
Code source
.................................................................................................................................
.................................................................................................................................
Constitution de la carte
Feu stop pour vélo.
.
5
5. Initiation à la mise en œuvre matérielle et logicielle de
l’Arduino
Le projet Arduino est issu d'une équipe d'enseignants et d'étudiants . Ils rencontraient un problème majeur à cette période (avant
2003 - 2004) : les outils nécessaires à la création de projets d'interactivité étaient complexes et onéreux (entre 80 et 100 euros).
ARDUINO = 1 carte à microcontrôleur + 1 outil de développement + 1 communauté active . Le logiciel et le matériel sont opensource.
En quelques chiffres :
•Prix d'une carte Arduino uno = 25 euros
+
+
•Logiciel = 0 euros
•Support et assistance = 0 euros (forums)
La « philosophie »
L'idée est d'utiliser la carte Arduino comme un macro-composant dans des applications de prototypage électronique. Le
concepteur n'a plus qu'à développer des interfaces et programmer le macro-composant pour réaliser son application !
Les avantages
Pas cher !
Environnement de programmation clair et simple.
Multiplateforme : tourne sous Windows, Macintosh et Linux.
Nombreuses librairies disponibles avec diverses fonctions implémentées.
Logiciel et matériel open source et extensible.
Nombreux conseils, tutoriaux et exemples en ligne (forums, site perso etc...)
Existence de « shield » (boucliers en français) : ce sont des cartes supplémentaires qui se connectent sur le module
Arduino pour augmenter les possibilités comme par exemple : afficheur graphique couleur, interface ethernet, GPS, etc...
Par sa simplicité d'utilisation, Arduino est utilisé dans beaucoup d'applications comme l'électronique industrielle et embarquée, le
modélisme, la domotique mais aussi dans des domaines différents comme l'art contemporain ou le spectacle !
Caractéristiques de la carte Arduino uno :
Micro contrôleur : ATmega328
Tension d'alimentation interne = 5V
tension d'alimentation (recommandée)= 7 à 12V, limites =6 à 20 V
Entrées/sorties numériques : 14 dont 6 sorties PWM
Entrées analogiques = 6
Courant max par broches E/S = 40 mA
Courant max sur sortie 3,3V = 50mA
Mémoire Flash 32 KB dont 0.5 KB utilisée par le bootloader
Mémoire SRAM 2 KB
mémoire EEPROM 1 KB
Fréquence horloge = 16 MHz
Dimensions = 68.6mm x 53.3mm
La carte s'interface au PC par l'intermédiaire de sa prise USB. La carte s'alimente par le jack d'alimentation (utilisation autonome)
mais peut être alimentée par l'USB (en phase de développement
par exemple).
Feu stop pour vélo.
.
6
Le développement sur Arduino est très simple :
on code l'application : Le langage Arduino est basé sur les langages C/C++, avec des fonctions et des librairies spécifiques à Arduino
(gestions des e/s).
on relie la carte Arduino au PC et on transfert le programme sur la carte,
on peut utiliser le circuit !
Le logiciel Arduino
C’est un logiciel de programmation par code, code qui contient une cinquantaine de commandes différentes
Feu stop pour vélo.
.
7
6. Le microcontrôleur
Voilà le cerveau de notre carte. C’est lui qui va recevoir le programme que nous allons créer et
qui va le stocker dans sa mémoire puis l’exécuter. Grâce à ce programme, il va savoir faire des
choses, qui peuvent être :
faire clignoter une LED, afficher des caractères sur un écran, envoyer des données à un
ordinateur.
Donner une définition d’un microcontrôleur.
Quelle est la différence entre un microcontrôleur et un microprocesseur ?
Rechercher une photo de la carte Léodarno est entourer en rouge le microcontrôleur.
7. Alimentation
Pour fonctionner, une carte Léonardo a besoin d'une alimentation.
Le microcontrôleur fonctionnant sous 5V, la carte peut être alimentée en 5V par le port USB ou
bien par une alimentation externe qui est comprise entre 7V et 12V. Un régulateur se charge
ensuite de réduire la tension à 5V pour le bon fonctionnement de la carte.
Donner une solution pour notre projet pour pouvoir alimenter correctement la carte léonardo.
8. Connecteurs Léonardo
+5V: tension +5V
Gnd: masse (tension 0V)
D0-D13: Connexions aux pattes du micro-contrôleur
A0-A5: Entrées analogiques pour capteurs
Rechercher sur une photo, les différents connecteur de la carte Léonardo .
Feu stop pour vélo.
.
8
9. Les bases de l’électronique
8.1 L’électricité
L’électricité est un déplacement d’électrons dans un milieu conducteur.
Pour que ces électrons se déplacent tous dans un même sens, il faut qu'il y ait une différence du
nombre d'électrons entre les deux extrémités du circuit électrique.
Pour maintenir cette différence du nombre d'électrons, on utilise un générateur (pile,
accumulateur, alternateur...)
La différence de quantité d’électrons entre deux parties d’un circuit s’appelle la différence de
potentiel et elle se mesure en Volts (V).
On peut comparer le fonctionnement d’un circuit électrique à celui d’un barrage hydroélectrique:
• Les électrons seraient l’eau
• Le générateur serait le réservoir d’eau
• Les conducteurs sont naturellement les conduites forcées
• Le consommateur (une ampoule ou une diode, par exemple) est la turbine, qui exploite l’énergie
du déplacement des électrons.
Sur un barrage, plus la différence entre l’altitude du niveau du réservoir et celui de la turbine est
importante, plus la pression de l’eau sera importante. Pour un barrage on appelle cette différence
d’altitude hauteur de chute. Cela équivaut sur un circuit électrique à la différence de potentiel, qui
se mesure en Volts (V) et se note U.
Le débit de l’eau (=la quantité d’eau qui s’écoule par unité de temps) correspond à l’intensité,
aussi appelée courant, qui est donc le débit d’électrons. Elle se mesure en Ampères (A) et se note
I.
Feu stop pour vélo.
.
9
La puissance électrique se note P et se mesure en Watts (W). Elle exprime la quantité de courant
(I), transformée en chaleur ou en mouvement. Sur un barrage, elle correspond à l’énergie produite
par la turbine.
8.2 Le circuit électrique
Ainsi, une pile est constituée d’un milieu contenant de nombreux électrons en trop, et d’un second
milieu en manque d’électrons. Quand on relie les deux pôles de la pile (le + et le -) avec un fil
électrique (le conducteur), les électrons vont alors se déplacer du milieu riche vers le milieu
pauvre. Si on intercale une lampe électrique, le passage des électrons va générer de la lumière.
Voici le schéma électrique du circuit ci-dessus:
Feu stop pour vélo.
.
10
10. Les diodes
Il est possible de remplacer l’ampoule par une diode électroluminescente, aussi appelée LED14.
Elle a la particularité de ne laisser passer le courant électrique que dans un sens.
Le courant électrique ne peut traverser la diode que dans le sens de l’anode vers la cathode.
On reconnait l’anode, car il s’agit de la patte la plus longue.
Lorsque les deux pattes sont de même longueur, on peut distinguer l’anode de la cathode, par un
méplat du côté de cette dernière.
Le symbole de la LED est le suivant:
Feu stop pour vélo.
.
11
11. Les résistances
Une résistance est un composant électronique ou électrique dont la principale caractéristique est
d'opposer une plus ou moins grande résistance (mesurée en ohms: Ω) à la circulation du courant
électrique.
On peut alors comparer, le débit d’eau au courant électrique I (qui est d’ailleurs le débit
d’électrons), la différence de pression à la différence de potentiel électrique (qui est la tension U)
et, enfin, le rétrécissement à la résistance R.
Feu stop pour vélo.
.
12
Ainsi, pour une tension fixe, plus la résistance est faible, plus le courant la traversant est fort.
Cette proportion est vérifiée par la loi d’Ohm:
U= R *I
Compléter les égalités suivantes :
R=
,
I=
Une résistance est un milieu peu conducteur; les électrons peinent à s’y déplacer. Leur énergie se
dissipe alors en général sous forme de chaleur. C’est ce principe utilisé pour les bouilloires
électriques ou les ampoules à filaments.
La valeur de la résistance se mesure en Ohms (Ω).
La valeur d’une résistance est déterminée par ses bandes de couleurs.
Rechercher un tableau avec le code des couleurs des résistances.
Feu stop pour vélo.
.
13
Feu stop pour vélo.
.
14
12.
faire clignoter la LED
Comme premier programme, nous allons la faire clignoter. La programmation se fait dans
le logiciel Arduino.
Commençons tout de suite par un petit code. Nous l’analyserons ensuite:
Code 1
/*
Objectif: faire clignoter la LED montée sur le port 13
*/
//***** FONCTION SETUP = Code d'initialisation *****
// La fonction setup() est exécutée en premier et une seule fois, au démarrage du programme
void setup() // début de la fonction setup()
{
pinMode(13, OUTPUT); // Initialise la patte 13 comme sortie
Serial.begin(9600); // Ouvre le port série à 9600 bauds
} // fin de la fonction setup()
//***** FONCTION LOOP = Boucle sans fin = coeur du programme *****
// la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension
void loop() // début de la fonction loop()
{
digitalWrite(13, HIGH); // Met la patte 13 au niveau haut = allume la LED
delay(500); // Pause de 500ms
digitalWrite(13, LOW); // Met la patte 13 au niveau bas = éteint la LED
delay(500); // Pause 500ms
} // fin de la fonction setup()
Feu stop pour vélo.
.
15
Une fois le code écrit (ou collé) dans la fenêtre de programmation, il faut l’envoyer sur le
Léonardo. Pour cela, il faut cliquer sur le bouton upload (téléverser), naturellement après avoir
connecté le Léonardo à l’ordinateur!
Le code minimal
Avec Arduino, nous devons utiliser un code minimal lorsque l'on crée un programme. Ce code
permet de diviser le programme que nous allons créer en deux grosses parties.
void setup() //fonction d'initialisation de la carte
{
//contenu de l'initialisation
}
void loop() //fonction principale, elle se répète (s’exécute) à l'infini
{
//contenu du programme
}
Nous avons donc devant nous le code minimal qu'il faut insérer dans notre programme.
Mais que peut-il bien signifier pour quelqu'un qui n'a jamais programmé ?
La fonction
Dans ce code se trouvent deux fonctions. Les fonctions sont en fait des portions de code.
void setup() //fonction d'initialisation de la carte
{
//contenu de l'initialisation
//on écrit le code à l'intérieur
}
Cette fonction setup() est appelée une seule fois lorsque le programme commence. C'est pourquoi
c'est dans cette fonction que l'on va écrire le code qui n'a besoin d'être exécuté qu’une seule fois.
On appelle cette fonction : "fonction d'initialisation". On y retrouvera la mise en place des
différentes sorties et quelques autres réglages. C'est un peu le checkup de démarrage.
Imaginons un pilote d'avion dans sa cabine qui fait l'inventaire :
- patte 2 en sortie, état haut ?
- OK
- timer 3 à 15 millisecondes ?
- OK
Une fois que l'on a initialisé le programme, il faut ensuite créer son "cœur", autrement dit le
programme en lui même.
void loop() //fonction principale, elle se répète (s’exécute) à l'infini
{
//contenu du programme
}
C'est donc dans cette fonction loop() que l’on va écrire le contenu du programme. Il faut savoir
que cette fonction est appelée en permanence, c'est-à-dire qu'elle est exécutée une fois, puis
lorsque son exécution est terminée, on la ré-exécute et encore et encore. On parle de boucle
infinie.
Feu stop pour vélo.
.
16
Les instructions
Maintenant que nous avons vu la structure des fonctions, regardons ce qu’elles peuvent contenir.
Les instructions sont des lignes de code qui disent au programme : "fait ceci, fait cela..."
C'est tout bête, mais très puissant, car c'est ce qui va orchestrer notre programme.
Les points virgules ;
Les points virgules terminent les instructions. Si par exemple je dis dans mon programme :
"appelle la fonction couperDuSaucisson" je dois mettre un point virgule après
l'appel de cette fonction.
Les points virgules ( ; ) sont synonymes d'erreurs, car il arrive très souvent de les oublier à
la fin des instructions. Par conséquent le code ne fonctionne pas. Il faut donc être très
attentif à ne pas oublier de point virgule!
Les accolades { }
Les accolades sont les "conteneurs" du code du programme. Elles sont propres aux
fonctions, aux conditions et aux boucles. Les instructions du programme sont écrites à
l'intérieur de ces accolades.
Les commentaires
Les commentaires sont des lignes de codes qui seront ignorées par le programme. Elles
ne servent en rien lors de l'exécution du programme.
Mais alors c'est inutile ?
Non, car cela va nous permettre à nous et aux programmeurs qui lirons notre code (s'il y
en a) de savoir ce que signifie la ligne de code que nous avons écrite. C'est très important
de mettre des commentaires et cela permet aussi de reprendre un programme laissé dans
l'oubli plus facilement !
Ligne unique de commentaire :
//cette ligne est un commentaire sur UNE SEULE ligne
Ligne ou paragraphe sur plusieurs lignes :
/*cette ligne est un commentaire, sur PLUSIEURS lignes
qui sera ignoré par le programme, mais pas par celui qui lit le code ;) */
Les accents
Il est formellement interdit de mettre des accents en programmation! Sauf dans les commentaires.
Feu stop pour vélo.
.
17
Revenons maintenant à notre code.
• La ligne pinMode(13, OUTPUT); initialise la patte 13 du microcontrôleur comme sortie,
c'est-à-dire que des données seront envoyées depuis le microcontrôleur vers cette patte.
• La ligne Serial.begin(9600); initialise le port série qui permet au robot d'envoyer et de
recevoir des informations à l'ordinateur.
• Avec l'instruction digitalWrite(13, HIGH);, le microcontrôleur connecte la patte D13 au
+5V ce qui a pour effet d'allumer la LED.
• L'instruction delay(500); indique au microcontrôleur de ne rien faire pendant 500
millisecondes, soit ½ seconde.
• Avec l'instruction digitalWrite(13, LOW);, le microcontrôleur connecte la patte D13 à la
masse (Gnd) ce qui a pour effet d'éteindre la LED.
• L'instruction delay(500); indique au microcontrôleur à nouveau de ne rien faire pendant
500ms soit ½ seconde.
• Le résultat est donc que la LED s'allume pendant ½ seconde, puis s'éteint pendant une
½ seconde puis s'allume pendant ½ seconde... elle clignote donc.
Le circuit à réaliser


prendre une LED et connecter sa patte longue (patte positive appelée anode) à la broche 13 de la carte
Arduino,
connecter la patte courte (patte négative, appelée cathode) à la broche de masse de la carte Arduino (notée
GND pour GROUND en anglais, cette broche correspond au 0V).
Feu stop pour vélo.
.
18
À toi de jouer!
Fais varier les valeurs de l’instruction delay. Indique ci-dessous la valeur choisie et le
résultat obtenu: ( Faire plusieurs essais).
Modifie le code ci-dessous, afin de faire clignoter la LED sur la patte 12.
Réalise un programme pour faire clignoter 2 Leds sur les pattes 12 et 13 en même temps.
Modifie ton code pour faire clignoter les LEDs en alternance.
Feu stop pour vélo.
.
19
13. Comment çà marche ?
Dans ce programme, à l'aide d'une impulsion rapide, on va faire varier la proportion de temps où la LED est
allumée, ce qui donnera un effet d'allure analogique de variation de la luminosité de la LED.
Mise en œuvre du programme
Programmation de la carte Arduino


Lancer le logiciel Arduino,
copier/coller le code ci-dessous
Résultat obtenu
La luminosité de la LED varie crescendo puis decrescendo et ainsi de suite.
Schéma théorique du montage
Voici le schéma théorique du montage :
Explications du programme
Au niveau de la fonction setup ()
Feu stop pour vélo.
.
20
A part la déclaration de la broche 13 utilisée en sortie, il n'y a rien à faire de spécial dans la fonction setup().
pinMode(13, OUTPUT);
Au niveau de la fonction loop()
L'instruction analogWrite() utilisée dans la fonction princpale loop() requiert deux arguments :


le premier indiquant la broche utilisée pour générer l'impulsion,
le second indiquant la valeur PWM à utiliser pour générer l'impulsion (0 pour état HAUT pendant 0% du temps
et 255 pour état HAUT pendant 100% du temps).
Pour obtenir la variation de la luminosité de la LED, il est nécessaire d'augmenter progressivement la valeur
PWM utilisée avec l'instruction analogWrite, de 0 (0% du temps au niveau HAUT) à 255 (100% du temps
au niveau HAUT), puis de revenir à la valeur 0 et de recommencer le cycle. Dans le programme ci-dessous,
la valeur PWM est fixée en utilisant une variable appelée luminosite. A chaque passage de la boucle loop(),
cette variable est augmentée (ou incrémentée) par la valeur de la variable variation (qui fixe le "cran" de
variation de la valeur PWM).
Lorsque la variable luminosite arrive à sa valeur extrême (soit 0 ou 255), la variable variation est changée
dans sa valeur opposée (négative ou positive). En d'autres termes, si la variable variation vaut 5, elle est
fixée à -5. Si elle vaut -5, elle est fixée à +5. Ainsi, au passage suivant de la boucle loop(), cela inverse le
sens de variation de la variable luminosite.
L'instruction analogWrite() va changer la valeur PWM très rapidement : on utilisera donc une instruction
delay() à la fin du programme pour fixer la vitesse de variation de la luminosité. Essayer de changer la
valeur utilisée pour l'instruction delay() et observer ce qui se passe.
Le code du programme
/*
Variation de luminosité d'une LED
Cet exemple montre comment faire varier la luminosité sur la broche 9 en utilisant l'instruction analogWrite()
*/
int luminosite = 0;
int variation = 5;
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
analogWrite(13, luminosite);
luminosite = luminosite + variation;
if (luminosite == 0 || luminosite == 255) {
variation = -variation ;
}
Feu stop pour vélo.
.
21
delay(30);
}
Changer la variable variation et expliquer les résultats obtenus.
Faire clignoter une LED 10 fois
Code 3
L’objectif est de faire clignoter une LED 10 fois. Le
montage est toujours le même.
/*
Objectif: faire clignoter 10 fois la LED montée
sur le port 10
*/
//***** EN-TETE DECLARATIVE *****
// On déclare les variables, les constantes,...
byte compteur; //On définit la variable "compteur"
//***** FONCTION SETUP = Code d'initialisation *****
// La fonction setup() est exécutée en premier et une seule fois, au démarrage
du programme
void setup()
{
pinMode(10, OUTPUT); // Initialise la patte 10 comme sortie
Serial.begin(9600); // Ouvre le port série à 9600 bauds
// Exécute le programme entre accolades en partant de zéro et en incrémentant à
chaque fois la valeur de +1: 0+1/2+1/3+1... jusqu’à ce que la variable
“compteur“ soit égale à 10.
for(compteur=0 ; compteur<10 ; compteur++)
{ // début du programme exécuté 10 fois
digitalWrite(10, HIGH); // allume la LED
delay(500); // attend 500ms
digitalWrite(10, LOW); // éteint la LED
delay(500); // attend 500ms
}
} // fin du programme exécuté 10 fois
void loop() { // vide, car programme déjà exécuté dans setup
}
Changer le code pour faire clignoter votre Led 20 fois, expliquer votre démarche.
Que se passe-t-il si tu remplaces la ligne for(compteur=0 ; compteur<10 ; compteur++)
en for(compteur=15 ; compteur<20 ; compteur++) ?
Faire clignoter deux LED 20 fois.
Feu stop pour vélo.
.
22
14.
Utiliser un accéléromètre MMA7361
Le but de ce montage est de lire la valeur mesurée par l’accéléromètre au travers de l’interface série.
Composants nécessaires :

Un Arduino

1 Accéléromètre MMA7361

Des fils de connexion
Qu’est-ce qu’un accéléromètre.
Citer des objets ou l’on trouve des accéléromètres
Feu stop pour vélo.
.
23
13.1 Principe du montage :
Le câblage de l’accéléromètre demande peu de temps, on connecte les 8 sorties du module vers le
Arduino selon le tableau ci-contre :
Module MMA7361
Arduino
Sleep (SL)
13
Feu stop pour vélo.
.
24
Self test (ST)
12
Zero G (0G)
11
G Select (GS)
10
X
A0
Y
A1
Z
A2
3V3
3,3V
GND
GND
5V
5V
Feu stop pour vélo.
.
25
13.2 Schéma de câblage :
13.3 Réalisation de la carte.
Vous allez réaliser une carte d’adaptation accéléromètre avec votre carte Léonardo.
1. Découper une carte perforer a la bonne dimension, 5.50cm / 6cm.
2. Souder les 3 broches picots ( attention, il faut que cela soit compatible au broches du
Léonardo).
3. Réaliser le wrapping des 9 connections entre le Leonardo et l’accéléromètre.
Feu stop pour vélo.
.
26
13.4 Programmation du montage :
Ouvrir le programme Arduino 1.5.
Puis onglet fichier exemple accelerometreMMA7361 fichier G_Force.
#include // Inclure la librairie de l'accéléromètre
AcceleroMMA7361 accelero; // Création du composant
int x; // Création des variables pour les 3 accélérations
int y;
int z;
void setup()
{
Serial.begin(9600); // Démarrer la liaison série
accelero.begin(13, 12, 11, 10, A0, A1, A2); // Démarrer le composant
accelero.setARefVoltage(5); // Régler la tension de référence
accelero.setSensitivity(LOW); // Régler la sensibilité du composant +/-6G
accelero.calibrate(); // Calibrer le composant
}
void loop()
{
x = accelero.getXAccel(); // Lecture de l'axe X
y = accelero.getYAccel(); // Lecture de l'axe Y
z = accelero.getZAccel(); // Lecture de l'axe Z
Serial.print("\nx: "); // Afficher la valeur de l'axe X
Serial.print(x);
Serial.print(" \ty: "); // Afficher la valeur de l'axe Y
Serial.print(y);
Serial.print(" \tz: "); // Afficher la valeur de l'axe Z
Feu stop pour vélo.
.
27
Serial.print(z);
Serial.print("\tG*10^-2");
delay(500); // Délais pour rendre ça lisible
}
Il reste à brancher le Arduino pour compiler le programme et le téléverser. Une fois terminé, vous
n’avez plus qu’à démarrer le terminal
Vous pouvez lancer les 2 autres exemples et voir le programme qui convient le mieux à votre
application.
Feu stop pour vélo.
.
28
Il est possible de rendre autonome le montage en lui ajoutant un coupleur de pile et ainsi de se lancer
dans des applications embarquées
14.5 Réalisation du programme complet.
Ecrire un programme qui valide le cahier de charge du système.
Voici les principales de structure du Léonardo.
Feu stop pour vélo.
.
29
15. Conception d’un boitier pour le système.
A l’aide du logiciel solidwork, vous devez concevoir un boitier, pour intégrer le système complet, carte léonardo, porte
pile, pile et led.
Le dessin sera à l’échelle 1/1.
Prévoir une attache pour l’intégré facilement sur n’importe quelle vélo.
16. Réalisation d’un mode d’emploi.
Réaliser un mode d’emploi en français du système.
Donner un nom au système.
Ce mode d’emploi devra être facilement compréhensible (possibilité de rajouter des photos ou schéma…).
17. Réalisation d’une publicité .
Réalisation d’une publicité pour un journal local et magazine spécialisé de cyclotourisme.
18. Réaliser un dossier complet du projet.
Réaliser un dossier qui fera une synthèse globale de tout votre projet :
Documents réalisés, un planning, qui a fait quoi dans l’équipe, les différents plans, les programmes etc. etc. …
Feu stop pour vélo.
.
30
Téléchargement