5187 186 p84
5187 186 p84
5187 186 p84
mots-cls
automatismes,
partie commande,
programmation, projet
Le projet
Une quipe dlves de terminale S option sciences de
lingnieur du lyce Jacquard, dans le 19e arrondissement
de Paris, sest lance dans un projet cratif et original:
une bote aux lettres qui communique avec le facteur par
RFID. Cette activit de conception sinscrit dans le cadre
institutionnel du projet interdisciplinaire de terminale.
La technologie mettre en uvre devant tre peu
coteuse, le choix matriel sest rapidement port sur
une carte de contrle de type Arduino pour assurer
lautomatisation du produit.
Lors de la constitution du cahier des charges, les
lves ont propos que la bote aux lettres:
renseigne, de la faon le plus simple possible, lutilisateur sur la quantit de courrier reu. La solution retenue a
t de placer une balance lectronique au fond de la bote;
interdise toute personne non autorise la possibilit
dy mettre quelque chose (par exemple de la publicit),
tout en laissant la possibilit au facteur dy accder. La
solution retenue a t de dverrouiller laccs la bote
pour le facteur grce une carte RFID La Poste. Le cas
exceptionnel o une personne autre que le facteur aurait
dposer quelque chose dans la bote a t envisag. La
solution retenue consiste utiliser la fonction communication en champ proche (NFC, pour near field communication) du lecteur de cartes RFID pour reconnatre
le tlphone mobile de cette personne.
[1] Professeur dlectrotechnique au lyce Jacquard de Paris (75019).
84
TECHNOLOGIE 186
M A I -J U I N 2 013
Lquipe pdagogique encadrant le projet, compose de professeurs en sciences industrielles de lingnieur et dun professeur de physique, y a ajout une
dimension: une recherche sur la manire dalimenter
tous les quipements de la bote aux lettres en nergie lectrique et ventuellement, pour une habitation
individuelle, de la rendre indpendante de ce point de
vue; elle a propos au groupe dlves que la fonction
traiter de la chane dinformation (qui reoit des
informations des capteurs et qui pilote les practionneurs de la bote aux lettres) soit assure par un type
de microcontrleurs prsent sur les cartes Arduino.
Pourquoi les cartes Arduino?
Les aspects matriels
Ds son origine, ce projet se devait dtre conomique,
car les clients potentiels ne vont pas dpenser beaucoup
dargent pour ajouter des fonctions leur bote aux lettres.
Par consquent, il tait ncessaire de trouver un dispositif capable de piloter le systme et de communiquer avec
lutilisateur un prix raisonnable (environ 20). De plus,
il fallait trouver le moyen de le programmer simplement
sans tre un expert en langage informatique. Les cartes
Arduino rpondent ces deux attentes nous verrons
comment. Et, petit plus, elles sont fabriques dans un
pays de la Communaut europenne: lItalie.
Signalons que, si les cartes Arduino possdent leur
propre interface de programmation, la version 5 du
logiciel FlowCode possde en option le compilateur
pour cartes Arduino, de mme que Matlab et LabView.
Nous allons ici nous intresser la carte Arduino
Uno, mais il en existe dautres avec des caractristiques diffrentes: ATmega2560, Leonardo, Micro et
la dernire en date, DUE.
Les aspects pdagogiques
La programmation des cartes Arduino est aise, et
lensemble des outils ncessaires au dveloppement
des applications est open source, cest--dire que tous
les schmas, programmes, bibliothques de priphriques, etc., sont 100 % accessibles en consultation
et/ou en tlchargement sur internet. La communaut des personnes utilisant ces cartes est trs
nombreuse, et une recherche internet aboutit gnralement des bauches de solutions mises en ligne.
On trouve aussi de plus en plus douvrages traitant de
ce type de cartes (voir le S-SI le mag p. 14). Par
consquent, en prrequis, un apprentissage minimal
des fonctions algorithmiques de base et une initiation
aux microcontrleurs sont suffisants pour lexploiter.
Comme nous allons le voir, lutilisation de macrofonctions permet la concrtisation aise dune ide sans que
lon soit informaticien. Ces cartes sont donc un outil
parfaitement adapt pour le prototypage.
Les retours dexprience dquipes pdagogiques
dautres tablissements ayant dj utilis des cartes
Arduino en enseignement technologique prbac ont
confort notre choix: les cartes Arduino sont fiables,
robustes et faciles programmer.
La carte Arduino Uno
Quand on regarde une carte Arduino Uno, on est
drout par sa sobrit! On y retrouve le microcontrleur entour du minimum de composants ncessaires son fonctionnement et sa programmation 1 .
La carte, de conception trs robuste, tient dans la main
(75 54 15 mm). Autre avantage, une connectique trs
astucieuse permet aux cartes priphriques baptises
shields 2 en langage Arduino de venir se raccorder sur
la carte principale en formant une sorte de mille-feuille.
Quelques prcisions techniques:
La gestion du port USB se fait grce un microcontrleur indpendant qui tablit une liaison srie RS232
entre la carte et le PC, ce qui diminue la capacit des
transferts. Si cet aspect constitue un inconvnient, il
faudra utiliser la carte Arduino Leonardo qui permet
une gestion native du port USB, tant vue par le PC
comme un priphrique HID (human interface device).
Gestion du port USB
Bouton Reset
Port dentres/
sorties numriques
Led L
Quartz 16 MHz
Leds RX et TX indicatrices
dune transmission srie
Port USB
Led On
Fusible lectronique
Rgulateur de tension
C Atmel 328P
Alimentation externe
1 La carte Arduino
TECHNOLOGIE 186
85
TECHNOLOGIE 186
Remarque: On vrifiera avant de lancer un tlversement du programme vers le microcontrleur que la carte
Arduino et le port COM utiliss sont correctement slectionns dans le menu Outils. Ces renseignements sont rappels en bas droite de linterface de programmation 4 .
Le programme 4 et le cblage 5 permettent de
piloter un servomoteur en fonction de la position dun
potentiomtre. Le convertisseur analogique-numrique
convertit la tension prsente lentre AO allant de 0
3 Le mille-feuille de cartes
86
M A I -J U I N 2 013
TECHNOLOGIE 186
87
www.arduino.cc/fr
www.adafruit.com
https://github.com/adafruit/Adafruit-PN532
https://github.com/adafruit/AdafruitRGB-LCD-Shield-Library
www.fritzing.org
Remerciements
Bruno Guilbert (professeur en STS IRIS au lyce Jacquard)
pour son assistance technique sur les cartes Arduino et la
programmation en C++, et galement aux lves du groupe
bote aux lettres intelligente: Gustave Corpet, Samy Kettani,
Bilel Souabni et Ugo Vidberg.
// Identification de la carte
// Tableau pour retourner l'adresse UID
// Taille de l'UID (4 ou 7 octets)
// Effacer lcran LCD
// Affichage de l'adresse sur l'cran LCD
// de la boite aux lettres
// Voir fig. 6
88
TECHNOLOGIE 186
else {
else {
}
// En attente de la carte
acquisition = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength);
if (acquisition) {
Serial .println (" Carte ISO14443A identifie ");
// Info sur la carte dtecte
Serial .print (" Taille UID : "); Serial .print (uidLength, DEC); Serial .println (" Octets");
M A I -J U I N 2 013
IDcarte =uid[3 ];
// Gnration du code d'identification
Serial .println (" Mifare Classic (4 Octets UID) ");
// Carte Mifare Classic
uint8_t keya[6] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
acquisition = nfc.mifareclassic_AuthenticateBlock(uid,uidLength, 4, 0, keya);
if (acquisition) {
Serial .println (" Lecture du bloc 4 ");
uint8_t data[16];
// Vrification du bloc 4 et du code
nfc.Print HexChar (data, 16);
Serial .println (" Code ID : "); Serial .print (IDcarte, HEX ); Serial .println ("");
if (IDcarte ==0x95 ) {
lcd.clear ();
lcd.setCursor (0, 0);
lcd.print (" Badge facteur");
lcd.setCursor (0, 1);
lcd.print (" Autoriser acc s");
lcd.setBacklight (VERT);
delay(6000);
}
else {
lcd.clear ();
lcd.setCursor (0, 0);
lcd.print (" Badge inconnu");
lcd.setCursor (0, 1);
lcd.print (" Accs interdit ");
lcd.setBacklight (ROUGE);
delay(6000);}
}
Serial .println (" Secteur illisible ") ;
}
if (uidLength == 7) {
Serial .println (" Mifare Ultralight (7 Octets UID) non utilise ");
}
}