Documente Academic
Documente Profesional
Documente Cultură
Mmoire
MASTER ACADEMIQUE
Domaine : Sciences et technologies
Filire : Gnie lectrique
Spcialit : Electrotechnique Industrielle
Prsent par :
KRAMA Abdelbasset
GOUGUI Abdelmoumen
Thme:
Prsident
UKM Ouargla
MA (A)
Encadreur/rapporteur
UKM Ouargla
Mr BOUAKAZ Ouahid
MA (A)
Examinateur
UKM Ouargla
Mlle ZIDANI
Ghania
A mes surs
A mes frre
ABDELBASSET
ABDELMOUMEN
En prambule ce mmoire
Nous remerciant ALLAH qui nous aide et nous donne la patience et le courage
durant
Figure
Nom de figure
Figure (I.1)
Figure (I.2)
Microcontrleur ATMega328
Figure (I.3)
10
Figure (I.4)
11
Figure (I.5)
Paramtrage de la carte
12
Figure (I.6)
13
Figure (I.7)
15
Figure (I.8)
16
Figure (I.9)
Module XBee
16
Figure (I.10)
Capteur Arduino
16
Figure (I.11)
Moteurs lectriques
17
Figure (I.12)
Afficheurs LCD
17
Figure (I.13)
Relais
18
Figure( II.1)
20
Figure (II.2)
21
Figure (II.3)
22
Figure (II.4)
23
Figure (II.5)
26
Figure (II.6)
28
Figure (II.7)
Schma de principe
28
Figure (II.8)
29
Figure (II.9)
30
Figure (II.10)
31
Figure (II.11)
32
Figure (III.1)
Organigramme Screene 1
36
Figure (III.2)
Organigramme Screene 2
36
Figure (III.3)
37
Figure (III.4)
43
Figure (III.5)
44
Figure (III.6)
44
Figure (III.7)
45
Figure (III. 8)
46
Figure (III. 9)
46
47
48
49
50
51
Figure (III.15)
51
52
II
Sommaire
Experimental
Sommaire
III
Introduction gnrale
1 Gnralits
01
2 Position du problme
01
3Objectif du projet
01
4 Prsentation du mmoire
02
CHAPITRE I
03
03
03
05
06
07
I.5.1.1 Le MicrocontrleurATMega328
07
08
08
10
11
11
11
12
12
14
15
I.6.1 Communication
15
15
15
16
16
17
III
Sommaire
Experimental
I.7 Conclusion
18
CHAITRE II
Ralisation dun dispositif exprimental
II.1 Introduction
19
19
20
20
22
22
25
II.3.4.1 Etage 1
26
II.3.4.2 Etage 2
26
28
30
32
II.7 Conclusion
33
CHAPITRE III
Dveloppement dune application Androde
III.1 Introduction
34
35
III.2.1Prsentationdelorganigramme IDE
35
35
38
40
40
41
41
41
41
42
51
III.4 Conclusion
51
IV
Sommaire
Experimental
Conclusion gnrale
1 Gnralits
52
2 Problmes rencontrs
52
3 Perspectives du projet
52
Annexes
Annexe A
53
Annexe B
55
Annexe C
56
Annexe D
60
Annexe E
61
Bibliographie
Introduction Gnrale
Introduction Gnrale
Experimental
1 Gnralits
La forte augmentation des ventes de smart phone et de tablettes lectronique se fait en
mme temps quune adoption rapide par le grand public des technologies de la domotique ainsi
que lautopilotage. Au fond, le smart phone, avec sa connectivit Bluetooth intgre, devient une
tlcommande universelle pour toute la maison et les quipements lectriques. Les utilisateurs
pourront terme contrler distance un trs grand nombre de fonctions sans avoir tenir compte
de la marque ou de l'origine du produit quils pilotent. Pour rpondre cette volution majeure,
nous avons cr une carte qui permet de contrler nimporte quel appareil, vhicule, machine
travers un smart phone ou une tablette. Cette carte lectronique ralise rend la commande et le
contrle facile et souple lors du pilotage distance.[06]
2 Position du problme
Dans la vie moderne, on utilise pas mal doutils et daccessoires de commande distance
afin de simplifier notre contrle, donc nous chercherons toujours se concentrer sur la souplesse
de la commande et de contrler sur une zone bien dfinie (notre contour) le plus grand nombre
possible daccessoires.
Le smart phone occupe la premier place dobjets qui ne nous quittent pas donc notre travail
se concentre sur lutilisation de ce dernier avec bien sur sa liaison avec un systme ou une carte
de commande (carte dinterface ) tell que lArduino.
3 Objectif du projet
Dans ce projet trois objectifs ont t viss :
Le deuxime consiste raliser une carte lectrique capable dexcuter une action entre
un smarte phone et une carte dinterfaage (Arduino) en expliquant les diffrents bloques
de sa construction.
Le troisime est de raliser une application sous smart phone et de le programmer sous
lenvironnement JAVA afin de simplifier la commande et de montrer lintrt de la
programmation oriente objet.
-1-
Introduction Gnrale
Experimental
4 Prsentation du mmoire
Le premier chapitre sera consacr une tude approfondie sur les carte dinterface tel que
lArduino, puis, on mettra la lumire sur un modle de base qui est (Arduino UNO) sa
construction son environnement de programmation et son principe de fonctionnement afin de
simplifier son utilisation.
Le deuxime chapitre sera consacr ltude et la ralisation du dispositif exprimental
ainsi que la description de chaque bloc du circuit.
Dans le troisime chapitre, on prsentera un algorithme; on expliquera le fonctionnement
de notre programme, son dclenchement laction distance et cela sur deux modes de
commande (domotique et lautoguidage) aprs le chargement du code simul dans la carte
Arduino et de raliser une application capable de grer une telle commande sous smarte phone.
Enfin, on terminera avec une conclusion gnrale qui rsumera lintrt de notre tude : les
diffrents rsultats obtenus exprimentalement seront donns sur annexe (A) et (B) sous forme de
photos, donnant ainsi un aperu sur les performances des carte dinterfaage, et une ide sur les
problmes rsoudre ultrieurement.
-2-
Chapitre I
Le dispositif programmable
Arduino
Chapitre I
I.1 Introduction
Aujourdhui, l'lectronique est de plus en plus remplace par de l'lectronique
programme. On parle aussi de systme embarque ou d'informatique embarque. Son but est
de simplifier les schmas lectroniques et par consquent rduire lutilisation de composants
lectroniques, rduisant ainsi le cot de fabrication dun produit. Il en rsulte des systmes
plus complexes et performants pour un espace rduit.
Depuis que llectronique existe, sa croissance est fulgurante et continue encore
aujourdhui. Llectronique est devenue accessible toutes personnes en ayant lenvie : ce
que nous allons apprendre dans ce travail est un mlange d'lectronique et de programmation.
On va en effet parler d'lectronique embarque qui est un sous-domaine de l'lectronique et
qui a l'habilet d'unir la puissance de la programmation la puissance de l'lectronique.
I.2 Dfinition du module Arduino
Le module Arduino est un circuit imprim en matriel libre (plateforme de contrle)
dont les plans de la carte elle-mme sont publis en licence libre dont certains composants de
la carte : comme le microcontrleur et les composants complmentaires qui ne sont pas en
licence libre. Un microcontrleur programm peut analyser et produire des signaux
lectriques de manire effectuer des tches trs diverses. Arduino est utilis dans beaucoup
d'applications comme l'lectrotechnique industrielle et embarque ; le modlisme, la
domotique mais aussi dans des domaines diffrents comme l'art contemporain et le pilotage
d'un robot, commande des moteurs et faire des jeux de lumires, communiquer avec
l'ordinateur, commander
L'extrmit d'Arduino, avec une interface d'USB pour programmer et usage d'un
Microcontrleur ATmega8.
-3-
Chapitre I
L'Arduino Nano, une petite carte programme laide porte USB cette
utilisant un
microcontrleur ATmega168
version
version).
Le NG d'Arduino plus, avec une interface d' USB pour programmer et usage d'un
ATmega168.
principal de cette carte est de faciliter la mise en uvre dune telle commande qui sera
dtaille par la suite.
LArduino fournit un environnement de dveloppement s'appuyant sur des outils open
source comme interface de programmation. Linjection du programme dj converti par
lenvironnement sous forme dun code HEX dans la mmoire du microcontrleur se fait
-4-
Chapitre I
d'une faon trs simple par la liaison USB. En outre, des bibliothques de fonctions "cl en
main" sont galement fournies pour l'exploitation d'entres-sorties. Cette carte est base sur
un microcontrleur ATmega 328 et des composants complmentaires. La carte Arduino
contient une mmoire morte de 1 kilo. Elle est dote de 14 entres/sorties digitales (dont 6
peuvent tre utilises en tant que sortie PWM), 6 entres analogiques et un cristal a 16 MHz,
une connexion USB et Possde un bouton de remise zro et une prise jack d'alimentation.
La carte est illustre dans la figure si dessous. [1]
-5-
Chapitre I
Multi plateforme : le logiciel Arduino, crit en JAVA, tourne sous les systmes
d'exploitation Windows, Macintosh et Linux. La plupart des systmes
microcontrleurs sont limits Windows.
application
JAVA
multi
plateformes
(fonctionnant
sur
tout
systme
Matriel Open source et extensible : les cartes Arduino sont bases sur les
Microcontrleurs Atmel ATMEGA8, ATMEGA168, ATMEGA 328, les schmas des
modules sont publis sous une licence crative Commons, et les concepteurs des
circuits expriments peuvent raliser leur propre version des cartes Arduino, en les
compltant et en les amliorant. Mme les utilisateurs relativement inexpriments
peuvent fabriquer la version sur plaque d'essai de la carte Arduino, dont le but est de
comprendre comment elle fonctionne pour conomiser le cot.[20]
-6-
Chapitre I
Le composant CMS
Le composant classique
RAM : c'est la mmoire dite "vive", elle va contenir les variables du programme. Elle
est dite "volatile" car elle s'efface si on coupe l'alimentation du microcontrleur. Sa
capacit est 2 ko.
EEPROM : C'est le disque dur du microcontrleur. On y enregistre des infos qui ont
besoin de survivre dans le temps, mme si la carte doit tre arrte. Cette mmoire ne
s'efface pas lorsque l'on teint le microcontrleur ou lorsqu'on le reprogramme. [2]
-7-
Chapitre I
VIN. La tension d'entre positive lorsque la carte Arduino est utilise avec une source
de tension externe ( distinguer du 5V de la connexion USB ou autre source 5V
rgule). On peut alimenter la carte l'aide de cette broche, ou, si l'alimentation est
fournie par le jack d'alimentation, accder la tension d'alimentation sur cette broche.
5V. La tension rgule utilise pour faire fonctionner le microcontrleur et les autres
composants de la carte (pour info : les circuits lectroniques numriques ncessitent
une tension d'alimentation parfaitement stable dite "tension rgule" obtenue l'aide
d'un composant appel un rgulateur et qui est intgr la carte Arduino). Le 5V
rgul fourni par cette broche peut donc provenir soit de la tension d'alimentation VIN
via le rgulateur de la carte, ou bien de la connexion USB (qui fournit du 5V rgul)
ou de tout autre source d'alimentation rgule.
3V3. Une alimentation de 3.3V fournie par le circuit intgr FTDI (circuit intgr
faisant l'adaptation du signal entre le port USB de votre ordinateur et le port srie de
l'ATmega) de la carte est disponible : ceci est intressant pour certains circuits
externes ncessitant cette tension au lieu du 5V. L'intensit maximale disponible sur
cette broche est de 50mA. [4]
I.5.1.3 Les entres & sorties
Cette carte possde 14 broches numriques (numrote de 0 13) peut tre utilise soit
comme une entre numrique, soit comme une sortie numrique, en utilisant les instructions
pinMode( ), digitalWrite( ) et digitalRead( ) du langage Arduino. Ces broches fonctionnent
en 5V. Chaque broche peut fournir ou recevoir un maximum de 40mA d'intensit et dispose
d'une rsistance interne de "rappel au plus" (pull-up) (dconnecte par dfaut) de 20-50
KOhms. Cette rsistance interne s'active sur une broche en entre l'aide de l'instruction
digital Write (broche, HIGH).
En plus, certaines broches ont des fonctions spcialises :
-8-
Chapitre I
LED: Broche 13. Il y a une LED incluse dans la carte connecte la broche 13.
Lorsque la broche est au niveau HAUT, la LED est allume, lorsque la broche est au
niveau BAS, la LED est teinte.
La carte UNO dispose 6 entres analogiques (numrotes de 0 5), chacune pouvant
fournir une mesure d'une rsolution de 10 bits (cd sur 1024 niveaux soit de 0 1023) l'aide
de la trs utile fonction analogRead( ) du langage Arduino. Par dfaut, ces broches mesurent
entre le 0V (valeur 0) et le 5V (valeur 1023), mais il est possible de modifier la rfrence
suprieure de la plage de mesure en utilisant la broche AREF et l'instruction analog
Reference( ) du langage Arduino.
La carte Arduino UNO intgre un fusible qui protge le port USB de lordinateur
contre les surcharges en intensit (le port USB est gnralement limit 500mA en intensit).
Bien que la plupart des ordinateurs aient leur propre protection interne, le fusible de la carte
fournit une couche supplmentaire de protection. Si plus de 500mA sont appliqus au port
USB, le fusible de la carte coupera automatiquement la connexion jusqu' ce que le courtcircuit ou la surcharge soit stopp. [3]
I.5.1.4 Les ports de communications
La carte Arduino UNO a de nombreuses possibilits de communications avec
lextrieur. LAtmega328 possde une communication srie UART TTL (5V), grce aux
broches numriques 0 (RX) et 1 (TX).
On utilise (RX) pour recevoir et (TX) transmettre (les donnes sries de niveau TTL).
Ces broches sont connectes aux broches correspondantes du circuit intgr ATmega328
-9-
Chapitre I
programm en convertisseur USB vers srie de la carte, composant qui assure l'interface
entre les niveaux TTL et le port USB de l'ordinateur.
Comme un port de communication virtuel pour le logiciel sur lordinateur, La
connexion srie de l'Arduino est trs pratique pour communiquer avec un PC, mais son
inconvnient est le cble USB, pour viter cela, il existe diffrentes mthodes pour utiliser ce
dernier sans fil:
Microcontrleur
Figure I.3 Constitution de la carte Arduino UNO
- 10 -
Chapitre I
Barre de menu
Fentre d'dition de
programme
- 11 -
Chapitre I
Phase 2
2
Phase 1
- 12 -
Chapitre I
4 int moteur 1 = 3; // mettre le moteur au pin 3----------------------------------------------------Configuration des entres et des sorties void setup ()
les broches numeriques de larduino peuvent aussi bien tre configures en entres
numeriques ou en sorties numeriques; ici on va configurer moteur pin en sortie ; pin mode
(nom,tat ) est une des quatre fonctions relatives aux entres sorties numriques.
5 void setup() {--------------------------------------------------------------------------------------------6 // mettre le moteur 1 comme sortie:------------------------------------------------------------------7 pinMode(motor 1, OUTPUT); // lorsque le pin 3 est activ le moteur tourne-----------------8 }----------------------------------------------------------------------------------------------------------Programmation des interactions void loop :
Dans cette boucle ,on dfinit les oprations effectuer dans lordre digital write (nom,
tat) est une autre des quatre fonctions relatives aux entres sorties numeriques.
9 void loop() {---------------------------------------------------------------------------------------------10 digital write ( moteur 1,HIGH); ---------------------------------------------------------------------11 delay (3000)---------------------------------------------------------------------------------------------12 digital Write(moteur 1, LOW);-----------------------------------------------------------------------13 delay (1000)---------------------------------------------------------------------------------------------14 }----------------------------------------------------------------------------------------------------------I.5.2.5 Les tapes de tlchargement du programme
Une simple manipulation enchane doit tre suivie afin dinjecter un code vers la carte
Arduino via le port USB.
1. On conoit ou on ouvre un programme existant avec le logiciel IDE Arduino.
2. On vrifie ce programme avec le logiciel Arduino (compilation).
3. Si des erreurs sont signales, on modifie le programme.
- 13 -
Chapitre I
- 14 -
Chapitre I
I.6.1 Communication
Le constructeur a suggr quune telle carte doit tre dote de plusieurs ports de
communications ; on peut claircir actuellement quelques types.
I.6.1.1 Le module Arduino Bluetooth
Le Module Microcontrleur Arduino Bluetooth est la plateforme populaire Arduino
avec une connexion srielle Bluetooth la place d'une connexion USB, trs faible
consommation d'nergie, trs faible porte (sur un rayon de l'ordre d'une dizaine de mtres),
faible dbit, trs bon march et peu encombrant.
- 15 -
Chapitre I
- 16 -
Chapitre I
- 17 -
Chapitre I
- 18 -
Chapitre II
Ralisation dun dispositif
Exprimental
Chapitre II
II.1 Introduction
Dans ce chapitre, on prsentera de manire sommaire une vue d'ensemble du dispositif
exprimental ralisation d'un carte lectronique commande par Arduino et contrle par un
Smart phone.
Ce travail d'initiation base dune carte Arduino UNO permet de commander une maison
intelligente (la domotique) et autoguidage dun vhicule distance (contrle deux moteurs dans
les deux sens de rotation) via systme Bluetooth.
Aprs avoir donn dans le chapitre prcdent une description thorique sur le module
Arduino et son environnement de dveloppement, on va procder lapplication exprimentale ;
pour cette raison, plusieurs blocs ont t ncessaires afin de raliser une telle combinaison.
II.2 Les diffrentes tapes de la ralisation
Notre ralisation pratique a t faite en trois parties:
La troisime partie est la cration dune application androde. (voir chapitre III)
La premire partie de notre projet est trs importante, on est pass par plusieurs tapes:
1. Chercher les diffrentes structures des blocs constituants notre maquette et qui
vont avec les objectifs fixs et les moyens disponibles.
2. Prsenter les diffrents lments ou composants constituants chacun des blocs en
choisissant des composants aux caractristiques voulus, dfaut, on choisira ceux
disponibles sur le march.
Dans la deuxime partie ralisation pratique , on passe par les deux tapes suivantes :
1. Prsenter les diffrentes tapes de la ralisation pratique de la carte.
2. On assemble ensuite les composants suivants notre montage sur le circuit
imprim, commenant par lalimentation gnrale de notre dispositif.
Dans la troisime partie la cration dune application androde , on passe par les deux tapes
suivantes :
1. Cration de linterface de notre application androde.
2. Programmation oriente objet de notre application (programmation par bloc).
- 19 -
Chapitre II
Bloc d'alimentation;
Bloc de commande ;
Bloc de puissance;
En ce qui concerne l'lment principal de ce dispositif, notre choix tait le dispositif
Arduino UNO.
Carte Arduino
UNO
Pile de +9V
Bloc
dalimentation
Commande domotique
Bloc de
commande
Bloc de
puissance
base de relais
Bluetooth BT
Bloc de
puissance de
L298
Source +12V
Application Androde
Bloc de
contrle
Le Smart phone
- 20 -
Chapitre II
simple partir dune alimentation externe de (<+12V) avec une rgulation et filtrage comme il
est indiqu sur la figure (II.2).
Nous avons ralis une alimentation continue de +5 volts Pour lalimentation de lArduino,
et une autre alimentation de +12 volts pour lalimentation de ltage de puissance.
Filtrage
Rgulation
Charge 1
Rgulation
Filtrage
Charge 2
Source
Externe de >+12V
Source
Externe de +9V
Figure II.2 Schma synoptique de l'alimentation
Pour la ralisation lectrique de ce schma synoptique lalimentation du bloc de
commande, figure (II.3), on a utilis:
Des condensateurs pour filtrage . condensateur de 15F, tous deux placs avant le
rgulateur;
Un rgulateur baisse la source dentre de +12V +5V ; nous avons utilis le LM7805.
LM7812
LM7805
Interrupteur
>+12V
R1
+12V
C1
GND
Figure II.3 Schma lectrique de l'alimentation
- 21 -
C2
+5V
R1
Chapitre II
la terminale srie aux commandes. (On peut utiliser IDE Arduino moniteur de srie, sous menu "
Tool / Serial Monitor", ou juste, cliquer sur CTRL+M du clavier du PC).
- 22 -
Chapitre II
Partie IDE
Partie matrielle
Fonction
Ne fait rien mais la rponse OK signifie bon essai pour connatre le
mode de CMD.
AT+VERSION?
AT+ORGL
1.type
de module : 0
AT+NAME?
HC-2010-06-01.
Donner le rle.
- 23 -
Chapitre II
AT+ROLE=rle-
numro
0---- le rle esclave
1---- le rle mtre
2---- le rle esclave-boucle
Dfaut: 0
AT+PSWD?
AT+UART=
(Dcimal)
4800
9600
19200
38400
57600
115200
23400
460800
921600
1382400
Paramtre de stop bit:
0----1 bit
1----2 bits
Param3: bit de parit
AT+UART?
+UART=vitesse,stop-bit,parit-bit
0---- Aucun
1---- Imparit
2---- parit gale
Dfaut: 9600, 0, 0
Chapitre II
NB : Rglez la vitesse 38400 de transfert des donnes cest le paramtre le plus essentiel
dans la configuration du BT.
II.3.4 Bloc de puissance
Notre bloc de puissance se compose de deux sous blocs :
-
II.3.4.1 Etage 1
Ce dernier se compose de six relais lectromcaniques donc cest un organe lectrique
permettant de dissocier la partie puissance de la partie commande. Chaque relais est excit dans
sa bobine par un signal gnr par larduino travers un composant disolation (un optocoupleur) afin dassurer une protection de la carde Arduino.
Ce bloc contient six LED qui sallume et steint savoir le signal mis par le smart phone.
II.3.4.2 Etage 2
Dans cet tage nous avons utilis un modle de pont-H vraiment robuste, il existe le L298N
(ou L298HN horizontal) qui peut tout fait convenable, leur fiche technique est reprsente dans
lannexe (C).
- 25 -
Chapitre II
Un courant de service de 2A. supporte les pics occasionnels 3A et pics rptitifs a 2.5A ;
Chute de tension Vce_sat totale de 1.8 volts (typique), 3.2v IL=1A, 4.9v IL=2A. Si
cela semble beaucoup, c'est aussi un avantage car cela permet d'utiliser un accu de 7.2v
directement avec un moteur +5V. La chute de tension Vce_Sat du Pont-H sera suffisante
pour adapter la tension au moteur (gnralement +/- 5V).
Ce composant dispose de 15 broches ; on peut claircir son brochage sous forme de tirets
comme suit :
OUTPUT1, OUTPUT2 - Broches raccorder la charge (le moteur). Via ces broches
que le L298 commande le sens de rotation du moteur.
ENABLE A - (Chip Activer) permet d'envoyer (ou pas) la tension sur les sorties du
moteur via OUTPUT1 & OUTPUT2. ENABLE. A commande l'activation du premier
Pont-H. Si ENABLE A = GND, le pont-H est dconnect et le moteur ne fonctionne pas.
Si ENABLE A = VSS, le pont-H est connect aux sorties et le moteur fonctionne dans un
sens ou l'autre ou pas en fonction des tensions appliques sur INPUT1 & INPUT2.
- 26 -
Chapitre II
- 27 -
Chapitre II
R10
b
U9
U10
BC547
3
K
PC817
20
Q5
R9
2
R12
10k
RL5
D9
12V
BC547
3
K
PC817
LED8-RED
20
Q6
R11
D10
DIODE
10k
D11
RL6
12V
D12
DIODE
R6
a
LED7-RED
R1410k
1
15
10k
VCC
VS
U5
OUT1
OUT2
OUT3
SENSA
SENSB
OUT4
D15
D16
1N4007
1N4007
1N4007
U3
A
D14
1N4007
4
BC547
3
K
PC817
20
Q3
R5
2
10k
D5
RL3
12V
DIODE
13
LED6-RED
L298
D17
D18
D19
D20
1N4007
1N4007
1N4007
1N4007
(COM)
R4
U6
7812
10uF
C2
R16
1k
10uF
VI
VO
10
BC547
3
K
PC817
GND
10k
RL2
D2
12V
DIODE
D4
LED5-RED
R17
VO
GND
VI
Q2
R3
7805
1
U2
U11
C1
D6
14
GND
8
D13
+88.8
IN1
IN2
IN3
IN4
ENA
ENB
+88.8
5
7
10
12
6
11
9
10
11
12
R13
20
D21
R2
D22
LED2-RED
U1
A
LED1-RED
4
BC547
3
K
PC817
20
Q1
R1
2
ARD1
10k
D3
RL1
12V
DIODE
D1
LED4-RED
AREF
RXD
TXD
1121
ATMEGA328P-PU
PC0/ADC0
PC1/ADC1
PC2/ADC2
PC3/ADC3
PC4/ADC4/SDA
PC5/ADC5/SCL
PB0/ICP1/CLKO
DIGITAL (~PWM)
ANALOG IN
A0
A1
A2
A3
A4
A5
~PB3/MOSI/OC2A
~ PB2/SS/OC1B
~ PB1/OC1A
PD7/AIN1
~ PD6/AIN0
PD5/T1
~
PD4/T0/XCK
~ PD3/INT1
PD2/INT0
TX PD1/TXD
RX PD0/RXD
7
6
5
4
3
2
1
0
R8
b
13
12
11
10
9
8
PB5/SCK
PB4/MISO
RESET
12
11
10
9
RTS
U4
Xmodem, Ymodem, Zmodem
CTS
BC547
3
K
PC817
20
Q4
R7
2
8
7
6
5
4
3
2
1
10k
D7
DIODE
RL4
12V
D8
LED3-RED
ARDUINO UNO R3
- 28 -
Chapitre II
Paramtrage de la
carte Arduino sous
ISIS
- 29 -
Chapitre II
Cette photo nous montre le circuit imprim et le schma lectrique imprims sur une feuille
glace.
Typon ngatif
Typon avec
composant
Typon positif
Dcouper la plaque Epoxy /cuivre aux dimensions du futur circuit imprim 10*23.4 cm ;
Pour que l'insolation puisse s'effectuer, il faut retirer l'adhsif opaque qui protge la
couche photosensible des rayons ultra-violets de la lumire ambiante ;
placer la plaque pr sensibilise dans l'insoleuse, avec le typon ct cuivre une fois
l'adhsif retir ;
Ltape qui suit prsente Une gravure chimique dans laquelle est utilis le produit
attaquant le cuivre le perchlorure de fer ;
- 30 -
Chapitre II
Enfin, on finalise notre ralisation par une opration la soudure est cela aprs le
perforage des vias o on implante les diffrents composants sur leurs emplacements.
8 LEDs ;
6 photo-coupleurs ;
1 L298 ;
Rgulateur LM 7805 ;
Rgulateur LM 7812 ;
Une pille 9V ;
Fiche jack.
- 31 -
Chapitre II
II.7 Conclusion
Cette partie a donn lieu la ralisation pratique dune carte lectronique pour commander
une maison intelligente et une voiture qui possde deux moteurs. Ces commandes sont gres
partir dun smart phone (application Androde) et une carte Arduino UNO. Lensemble des
travaux dcrits dans ce chapitre est :
Cette carte lectronique est destine directement aux fabricants de produits lectriques et/ou
lectroniques afin quils rendent de manire trs simple leur produit pilotage distance.
Lorganigramme, le droulement des diffrentes tapes du programme et la ralisation de
lapplication androde seront prsents dans le chapitre suivant.
- 32 -
Chapitre III
Dveloppement dune
Application androde
Chapitre III
III.1 Introduction
LAndrode est parmi les derniers systmes dexploitation qui dveloppent les exigences
des tlphones intelligents. La plateforme androde de smart phone devient de plus en plus
importante pour les ralisateurs de logiciel, en raison de ses puissantes possibilits et open
source.
Lors des annes prcdentes, le traitement des donnes informatiques se fait par des
ordinateurs ; en revanche le smart phone a des avantages qui ont les mmes fonctions que loutil
informatique ; ce dernier porte lintrt de lordinateur grce landrode.
La tlphonie mobile a connu une explosion dans les annes 2000 mais aucune rvolution
na sembl arriver depuis que les appareils se ressemblent. Les innovations navaient plus
vraiment de saveur ; les applications taient difficiles daccs de par leur mode de distribution et
souvent peu performantes cause des faibles capacits des appareils.
Depuis quelques mois, les smart phones sont dots dune puissance plus importante et
despaces de stockages consquents. Les tlphones tendent devenir des objets artistiques,
presque de reconnaissance sociale, et possdent des fonctionnalits quaucun tlphone ne
pouvait esprer auparavant: connexion haut dbit, localisation GPS, boussole, acclromtre,
cran tactile souvent multipoint, march dapplications en ligne. Autant de qualits permettant de
crer des applications innovantes et de les distribuer en toute simplicit.
La plate-forme Androde apporte tout cela au consommateur, mais surtout, elle affranchit le
dveloppeur de nombreuses contraintes. Par son ouverture; elle permet nimporte quel
dveloppeur de crer ses applications avec un ticket dentre quasi nul. Le framework et le
systme dexploitation et outils associs ont un code source ouvert, leur accs est gratuit et
illimit. Plus besoin de ngocier avec le constructeur du tlphone pour quil vous laisse
dvelopper sur sa plate-forme. Tous les dveloppeurs sont ainsi sur un mme pied dgalit, tous
peuvent ajouter de la mobilit des applications existantes.
Cette partie de notre tude ne nous donnera pas de bons rsultats si on nglige certains
paramtres ; donc le bon fonctionnement de notre systme se base essentiellement sur une bonne
dmarche et une bonne rflexion de notre programme.
- 33 -
Chapitre III
- 34 -
Chapitre III
Le programme principal
Start
Screene 1
Initialisation sortie
Incrment du timer
Dfinition des :
Caractre : [A Z]
Nombre : [0 9]
Non
Le bouton ON
Est appuy?
Oui
Excitation du la bobine du
relais
Appel de la temporisation
Non
Oui
Le bouton Off
Est appuy
- 35 -
Chapitre III
Start
Screene 2
Initialisation sortie
Incrment du timer
Dfinition des :
Caractre : [A Z]
Nombre : [0 9]
Non
Le bouton marche
gauche ou droit Est
appuy?
Oui
Excitation dun bloc sur le
Draver L298
Appel de la temporisation
Oui
Non
Le bouton off
Est appuy
Chaque action est symbolise par un rectangle et chaque test est symbolis par un losange.
- 36 -
Chapitre III
- 37 -
Chapitre III
- 38 -
Chapitre III
- 39 -
Chapitre III
utilitaires et les priphriques ncessaires un smart phone. Il est optimis pour les outils Gmail.
Aussi, landrode est libre et gratuit et a t ainsi rapidement adopt par des fabricants.
La socit Androde a t rachete en 2007 par Google. Mais aujourdhui, lAndrode est
utilis dans de nombreux appareils mobiles (smart phones). Les applications sont excutes par
un processeur de type ARM travers un interprteur JAVA. En plus de cela, landrode
concurrence loprateur systme dApple quil tend dpasser en nombre dutilisateurs.
Androde volue pour mieux grer lhtrognit des appareils quil utilise. [13]
III.2.2.1 Loutil App Inventor
App Inventor est un outil de dveloppement des applications en ligne pour les smart phones
sous androde et permet chacun de crer son application personnelle pour le systme
dexploitation Androde qui est dveloppe par Google.
La plateforme de dveloppement est offerte tous les utilisateurs possdant un compte
Gmail. Elle rappelle certains langages de programmation simplifis bass sur une interface
graphique similaire Scratch. Les informations des applications sont stockes sur des serveurs
distants. [13] Elles sont actuellement entretenues par le Massachusetts Institute of Technologie
(MIT).
Lenvironnement de App Inventor contient trois fentres qui sont proposes pendant le
dveloppement :
Une pour la programmation par elle-mme : elle permet, par lassemblage des blocs de
crer le comportement de lapplication (App Inventor Block Editor) ;
Une pour lmulateur : qui permet de remplacer un terminal rel pour vrifier le bon
fonctionnement du programme.
La connexion dun terminal rel sous Androde permettra ensuite dy tlcharger le
programme pour un test rel. Ce terminal pourra aussi bien tre un tlphone quune tablette ; le
comportement du programme sera identique. [13]
N.B : Scratch est un environnement graphique permettant aux dbutants de sinitier ` la
programmation. On y programme le comportement de lutins animes `a laide de briques visuelles
qui sembotent comme des Legos par Drag and Drop.[16]
- 40 -
Chapitre III
- 41 -
Chapitre III
Notre application
Figure III.4 Cration de nouveau projet sur App Inventor
Donc le projet est sauvegard automatiquement sur notre compte Google. (Dans le Cloud).
III.2.2.5 Structure dune application App Inventor
Une application dveloppe sous App Inventor est constitue de deux parties distinctes
mais troitement lies.
A. Linterface graphique :
Pour crer lapplication sous App Inventor linterface graphique contient nos proprits
(taille, couleurs, position, textes Ets).
- 42 -
Chapitre III
- 43 -
Chapitre III
Partie2 :
Cest la surface du tlphone ajust automatiquement par app inventor ou manuellement
par nous mme en utilisant le composant Screene arrangement .
Partie 3 :
La liste des lments et des mdias utiliss sur lcran.
Partie 4 :
Les proprits des diffrents lments utiliss par exemple la couleur et la taille du bouton
ou texture.
Partie 3
Partie 2
Partie 4
- 44 -
Chapitre III
Pour ajuster la place du bouton, on utilise la proprit Width de notre exemple ; on utilise
le paramtre Fill parent.
Pour utiliser le bouton sur la largeur de lcran, on slectionne les nombres de pixels de
lcran 50 pixels. De ces oprations, on obtient lcran suivant :
- 45 -
Chapitre III
- 46 -
Chapitre III
Redo ainsi quun bouton de test pour lancer lapplication sur le mobile ou sur lmulateur.
Cette interface contient des parties Built-in et blocks.
Lists : morceaux permettant de traiter des listes. Assimilables aux sous-classes de List en
JAVA.
Math : morceaux permettant de traiter des nombres. Assimilables au type int et la classe
Integer en JAVA.
Lorsqu on clique sur My Blocks en haut et droite de la page : nous obtenons la figure
suivante :
- 47 -
Chapitre III
- 48 -
Chapitre III
- 49 -
Chapitre III
- 50 -
Chapitre III
- 51 -
Conclusion Gnrale
Conclusion Gnrale
Experimental
1. Gnralits
Le dveloppement sous androde se fait en JAVA. En effet, Google a port un sousensemble de Java Standard (SE) ainsi qu'un certain nombre de projets open source dont il avaient
besoin. Si vous tes habitu faire du JAVA, attendez-vous donc ne pas retrouver la totalit des
paquets que vous utilisez quotidiennement.
Afin de dvelopper une application Androde, vous devrez utiliser les composants mis
disposition par Google.
Le systme Arduino est un outil pour fabriquer des dispositifs qui peuvent capter et
contrler davantage de choses du monde matriel que votre ordinateur. C'est une plateforme
open-source d'lectronique programme qui est base sur une simple carte microcontrleur (de
la famille AVR), et un logiciel vritable environnement de dveloppement intgr, pour crire,
compiler et transfrer le programme vers la carte microcontrleur.
la programmation du microcontrleur AVR exige une connaissance en langage C
comme soft et la matrise des outils IDE, afin darriver lobjectif souhait.
Dans ce travail, un assemblage de plusieurs logiciels est fait afin de raliser un tel rsultat
voir annexe (D).
2. Problmes rencontrs
Une telle ralisation nest pas dnue de difficults. Il est noter que nous nous sommes
confronts plusieurs problmes surtout dans la partie ralisation de la carte.
Cependant, on peut dire que malgr ces difficults, les rsultats obtenus travers cette
tude quils soient pratiques ou thoriques, permettent douvrir la porte dautres tudes.
3. Perspectives du projet
Nous souhaitons vivement que ce projet puisse servir comme lment de base pour dautres
tudes plus approfondies pour le faire intgrer sous des systmes plus complexes.
- 52 -
Annexes
Annexes
Annexe A
- 53 -
Annexes
Annexe A
- 54 -
Annexes
Annexe B
- 55 -
Annexes
Annexe C
-56-
Annexes
Annexe C
-57-
Annexes
Annexe C
-58-
Annexes
Annexe C
-59-
Annexes
Annexe D
- 60 -
Annexes
Annexe E
:02000004EEE0FA
:10000000B2017728A70089100910091083168910FA
:10001011091009100F30880583122708B2182D28FF
:10001453A30A100FC305E203330A6004120103071
:10003000A1056353088000FF330A100FBCCC0102
:100050002C20B21427082D283214A600321C3B286D
:100060000910033C031C402840200730A100D03079
:100070005E20031408003214FE3C03197228091490
:10008000321C321089140F3088052608F039880494
:100090008910A60E3218412832305D200314080062
:1000A000A301A200FF30A207031CA307031C7228B0
:1000B0000330A100DF305E205228A101E83EA000FD
:1000C000A109FCC569EEC6728A00703186428A007B7
:1000D0006400A10F642820186D28A01C712800005E
:1000E0007128080083130313831264000800831629
:1000F00007309F0083120911831609118312013002
:10010000A3002C308A01512083168101F030860033
:100110008701831286018701FE308A0102208F3019
:100120008A01022034308A01022096308A01502050
:10013000FE308A0102208E308A01022034308A018A
:10014000022058308A01022096308A015020FE3069
:100150008A0102208D308A01022034308A01022077
:1001600058308A01022034308A01022096308A01F8
:100170005020FE308A0102208C308A010220343067
:100180008A01022058308A01022034308A0102207C
:1001900020308A01022096308A015020FE308A01E8
:1001A00002208B308A01022034308A01022058302C
:1001B0008A01022034308A01022020308A01022084
:100200005020FE308A01022089308A0102203430D9
:100210008A01022058308A01022034308A010220EB
:1002200020308A01022043308A0102204C308A01AA
:10023000022041308A01022096308A015020FE308F
:100240008A01022088308A01022034308A0102208B
:1002500058308A01022034308A01022020308A017D
:101C500033308A01022020308A01022033308A0189
:101C70008A01022044308A01022020308A01022099
:0A1C8000080063008A150A12412EC5
:02400E007D3FF4
:00000001FF
- 61 -
Bibliographes
.
.
.
.
:
.
Rsum
Ce projet nous permet de plonger dans le monde dinterfaage afin darriver raliser une carte
lectronique qui communique entre (le systme Androde et la carte Arduino ainsi que les actionneurs).
L'objectif prliminaire est de manipuler un langage de programmation afin darriver raliser une
application capable de transmettre des ordres mis par lutilisateur vers des moteurs courants continus
et autre accessoires lectriques via un smart phone.
Faire comprendre les diffrents protocoles de communication et extraire le port srie comme
tant un port de transfert du programme dans l'Arduino.
Mots Cls : systme Androde, carte Arduino, les actionneurs, langage de programmation,
moteurs courants continus, protocoles de communication, port srie.
Abstract
Nous avons ralis un dispositif de commande distance travers un accessoire
This project allows us to delve into the world of interfacing in order to arrive to create an
Bluetooth afin dassurer deux types de commande ; le premier est la commande domotique et
electronic card that communicates between (Android system and the Adriano board and the
le second est autoguidage des vhicules par intervention dune application sous smart phone.
actuators).