Vous êtes sur la page 1sur 15

2019

2020

Projet système embarqué

Réalisation d’un afficheur dynamique


piloté par un Smartphone

Projet réaliser par :

KHIAT Lounis
HSAINE Khalil

2019 2020
Sommaire
Introduction : ............................................................................................................................ 3
Les matérielles utilisée .............................................................................................................. 3
1. Carte STM 32: ............................................................................................................................... 3
2.Écran TFT : ..................................................................................................................................... 4
3. Module Bluetooth : ....................................................................................................................... 4
4. Smartphone : ................................................................................................................................ 4
Les plateformes de développement utiliser ............................................................................... 5
1. MBED (langage C) :........................................................................................................................ 5
2. App Inventor ................................................................................................................................. 5
La liaison SPI : ............................................................................................................................ 5
1. Généralité ..................................................................................................................................... 5
2. Interfacer l’écran TFT avec le STM32 avec la liaison SPI ............................................................... 7
3. Connecter le Bluetooth avec le STM32 grâce au port serial ......................................................... 7
Présentation des deux réalisations ............................................................................................ 8
1 .L’interface clavier : ........................................................................................................................ 8
EXECUTION DU PROGRAMME : .........................................................................................................................................................8
LE SCHEMA DE CONNEXION : ............................................................................................................................................................9
LE CODE SOURCE : ..........................................................................................................................................................................9

2. Le jeu de mémoire ...................................................................................................................... 10


LE SCHEMA DE CONNEXION : ........................................................................................................................................................... 11
LE CODE SOURCE : ......................................................................................................................................................................... 11

3 .L’application Android .................................................................................................................. 12


Problèmes rencontrés et solutions .......................................................................................... 13
Manque de pratique sur la carte STM32 ......................................................................................... 13
Choix de la bibliothèque pour l’écrans TFT ..................................................................................... 13
Les pins utiliser pour le module Bluetooth...................................................................................... 13
Manque des fonctions sur les bibliothèques ................................................................................... 13
Conclusion ............................................................................................................................... 14
Introduction :

L’affichage dynamique est un outil utilisé dans le domaine de la communication. Il donne la possibilité
de diffuser des informations, sous forme de contenus multimédias comme les écritures, vidéo et des
images sur un écran.
La diffusion du contenu sur le support numérique par un matériel annexe connecté à l’écran (une
carte STM 32 connecter à une source de tension et un module Bluetooth connecter à un Smartphone).
Les informations diffusées peuvent prendre la forme de différents graphiques, Dans notre cas on a
réalisé une interface clavier par laquelle on pourra communiquer avec un Smartphone,et aussi un
simple jeu de mémoire qui sont tout les deux codé avec le langage C.

Les matérielles utilisée


1. Carte STM 32:

Les cartes Stm32 Nucleo, basées sur les STM32, supportent une
compatibilité avec les cartes Arduino, bien que basée sur des
processeurs d'architecture ARM, et non d'Architecture Harvard
comme dans le cas des processeurs Atmel AVR (8 bits à 16
Mhz) utilisés dans les cartes Arduino standard. Il ajoute ainsi à
Arduino de bonnes performances graphiques en y ajoutant
l'accélérateur graphique Chrom-ART (fourni avec une
bibliothèque open source), orienté affichage TFT (ou plus généralement, écran à cristaux liquides), et
comportant pour cela une interface MIPI DSI3

2.Écran TFT :

Cet écran a un contrôleur intégré avec une mémoire tampon RAM, de sorte que presque aucun travail
n'est effectué par le microcontrôleur. L'affichage peut être utilisé en deux modes: 8 bits ou SPI. Pour le
mode 8 bits, vous aurez besoin de 8 lignes de données numériques et de 4 ou 5 lignes de commande
numériques pour lire et écrire sur l'écran (12 lignes au total). Le mode SPI ne nécessite que 5 broches
au total (entrée de données SPI, sortie de données, horloge, sélection et d / c) mais est plus lent que le
mode 8 bits.

3. Module Bluetooth :

Nous allons utiliser le module Bluetooth HC-05 qui permet d'établir une liaison Bluetooth (liaison
série) entre la carte Nucleo et le Smartphone. Le module HC-05 est l’esclave tandis que le Smartphone
est le maître.

4. Smartphone :

Plusieurs protocoles de communication assure la commande entre deux


appareilles on cite par exemple le Wifi, le Bluetooth et le GSM/2G/3G/4G
comme type de communication sans file, le RS232 et USB qui sont filaire.
Pour ce projet on a choisi de faire notre communication avec le protocole le plus simple à mettre en
œuvre c’est le Bluetooth.
Le maître se met en mode "reconnaissable" .
L’esclave trouve le maître et demande à s’y connecter.
Le maître accepte la connexion.
Les périphériques sont alors appariés (ou associés) .

Les plateformes de développement utiliser

1. MBED (langage C) :

Nous allons programmer le STM32 avec Mbed qui est une plate-forme et un système d'exploitation
pour les périphériques connectés à Internet basés sur les microcontrôleurs ARM Cortex-M 32 bits

2. App Inventor

App Inventor pour Android est une application développée par Google .Elle simplifie le
développement des applications sous Android et le rend accessible ceux qui ne sont pas familiers avec
les langages de programmation androide (java) . Elle est basée sur une interface graphique c'est-à-dire
codage avec block

La liaison SPI :
1. Généralité

Le microcontrôleur STM32 dispose d’un bus de communication synchrones SPI.


Le bus SPI a été développé par Motorola, Il permet l'établissement d'une communication série
synchrone et full duplex entre deux terminaux, un maître et un esclave (Master-Slave), généralement
sur un même circuit imprimé.
Synchrone : les deux terminaux possèdent la même horloge de communication qui est émise par le
maître.
Full duplex : comme pour l'UART, le SPI peut émettre et recevoir simultanément.
Le maître et l'esclave possèdent tous les deux un registre à décalage 8 bits. Ayant la même horloge et
étant câbler comme ci-dessous, les deux registres sont échangés en 8 coups d'horloge.

CLK :Horloge
MISO : Master In Slave Out.
MOSI : Master Out Salve In.
Un signal de sélection SS (Slave Select) permet de sélectionner l'esclave avec lequel le maître souhaite
communiquer.
Il y a quatre modes de configuration de l'horloge, grâce à deux bits, CPOL (ClockPolarity) et CPHA
(ClockPhase) suivant le front actif et l'état de repos.
2. Interfacer l’écran TFT avec le STM32 avec la liaison SPI

Les TFT sont basés sur un bus SPI qui est un bus série. Un total de 4 lignes est nécessaire pour
l'interfacer avec STM 32.
 MISO (Master In Slave Out) sur le pin D12
 MOSI (Master Out Slave In) sur le pin D11
 SCK (Serial Clock) sur le pin D13
 CS (Chip Select)
 L’ecran sur le pin D10
 L’entrée tactile sur le pin D3
Comme vous le savez dans la communication série synchrone, il existe une ligne d'horloge (SCK) qui
synchronise le transfert. De plus, nous avons besoin d’un pin pour le Reset de l’écran et un autre pour
la sélection de tactile.
L'horloge est toujours contrôlée par le master. Dans notre cas, le STM32 est le master tandis que le
TFT et Bluetooth sont des esclaves .Sur le bus SPI les données peuvent être envoyées et reçues
simultanément avec un esclave.

3. Connecter le Bluetooth avec le STM32 grâce au port serial

Le module Bluetooth HC-05 utilise aussi la communication serial du microcontrôleur STM32, on a


utilisé le SOI2 (pin D2 et D8) pour établir cette communication.
 RX sur le pin D2
 TX sur le pin D8
 VCC sur le pin 5V
 GND sur l’un des pins Ground
Présentation des deux réalisations
1 .L’interface clavier :

Cette interface est un clavier AZERTY afficher sur l’écran où on peut taper sur les lettre pour formuler
des phrases puis les envoyer, réciproquement l’écran prend en charge l’affichage du message reçue
depuis le Smartphone.
EXECUTION DU PROGRAMME :
Chargement de toutes les bibliothèques utilisées.
Déclaration de toutes les nouvelles fonctions crée.
Création des objets pour communiquer avec l’écran, le tactile et le Bluetooth.
Entamer la fonction Main où la fonction infinie est lancée.
Le clavier est crée grâce au deux fonction drawKeyboard et drawButton .
L’écriture se fait grâce à la fonction écrire.
La communication ce fais avec la fonction chat.

Apres la saisis du message et a l’appui su le bouton envoyer ce dernier est transmis sur le port serial
auquel le Bluetooth est connecter.
Sur l’application androide le message apparait et le Smartphone devient le maitre et donc permettre
d’envoyer un message.
LE SCHEMA DE CONNEXION :

LE CODE SOURCE :
Les fonctions créées :

2. Le jeu de mémoire

Notre jeu est basé sur l’affichage des cercles à différents paramètres et chaque fois qu’on sélection
le dernier cercle afficher, l’écran s’effacera en blanc qui est la couleur des cercles pour créé une
dispersion sur les détailles de ces dernier en sauvegardant leur paramètres, puis les avec un cercle
de plus qui serait la prochaine bonne réponse.
EXECUTION DU PROGRAMME :
 Chargement de toutes les bibliothèques utilisées.
 Déclaration de toutes les nouvelles fonctions crée.
 Création des objets pour communiquer avec l’écran, le tactile.
 Entamer la fonction Main où la fonction infinie est lancée.
 La fonction game permet de lancer le jeu.
 La fonction replay gère le relancement de jeu.
 Les cercles sont dessinés grâce à la fonction Drawcircle après un test sur la position
touchée.
 Test de collision est effectué à chaque fois avec tous les cercles précédant.

 Le cercle est dessiné a partir de trois


paramètres les coordonnés de son axe
et son rayon
LE SCHEMA DE CONNEXION :

LE CODE SOURCE :
3 .L’application Android

Cette application permet de recevoir le message envoyer depuis l’écran à travers le module Bluetooth
ainsi que d’envoyer à partir de cette application un message vers l’écran.

EXECUTION DE L’APPLICATION :
 Connexion au module Bluetooth.
 Choisir son adresse et le connecter avec le client de Smartphone.
 Attente avec l’utilisation de Clock de recevoir le message l’afficher sur le Label.
 Transmettre le texte dans le TextBox vers l’écran après l’appuyée sur le bouton send.
Problèmes rencontrés et solutions

Manque de pratique sur la carte STM32

Dans un premier temps, le problème principal que nous avons rencontré est notre manque de
pratique et d’expérience sur l’utilisation de la carte STM32, mais on a vite compris qu’elle fonction
exactement comme l’arduino et ceci nous a permet d’avancer plus sur le coté de la programmation en
C mais aussi grâce au cours d’informatique suivi tout au longue de semestre.

Choix de la bibliothèque pour l’écrans TFT

Ceci est dû au manque de documentation complète sur les écrans TFT qui fonction sur la carte STM32,
ceci était résolue grâce à la bibliothèque SPI_TFT_ILI9341 et SPI_STMPE610 trouver sur le site officiel
de Mbed.

Les pins utiliser pour le module Bluetooth

Vu que ce module occupe aussi des pins de la communication serial de l’STM32 comme l’écran, on été
obligé rechanger le schéma de câblage des deux périphériques.

Manque des fonctions sur les bibliothèques

Tout au longue de notre projet le grand problème était que les bibliothèques comporte seulement de
ses fonction basic de communication avec soit l’affichage au l’écran tactile. La solution évidente était
de crée chaque fonction selon le besoin. Mais malheureusement celle qui gère la communication avec
la micro SD d’où on a voulu charger des images n’a pas fonctionné sur ce projet a cause des problèmes
technique sur la plateforme MBED.
Conclusion
En conclusion, ce projet a été pour nous très intéressant où nous avons pu approfondir de manière
poussée des techniques que nous ne maîtrisions pas sur la réalisation d’un système embarquée
fonction en temps réel, notamment au niveau de la communication serial ainsi que la programmation
en C.
En revanche, il a été particulièrement frustrant puisque notre progression n’a eu de cesse d’être
entravée par des soucis de programmation totalement indépendants de notre volonté, qui nous ont
empêchés de mener le projet à terme.
Bibliographie
« Scanf ». Wikipédia, 3 janvier 2019. Wikipedia,
https://fr.wikipedia.org/w/index.php?title=Scanf&oldid=155447338.

« 2.2" Ili9342 Tft ». Fritzing Forum, 10 août 2016, https://forum.fritzing.org/t/2-


2-ili9342-tft/1813.

« Adafruit GFX Graphics Library ». Adafruit Learning System,


https://learn.adafruit.com/adafruit-gfx-graphics-library/overview. Consulté le 23
janvier 2020.

« Adafruit 2.8" and 3.2" Color TFT Touchscreen Breakout v2 ». Adafruit


Learning System, https://learn.adafruit.com/adafruit-2-dot-8-color-tft-
touchscreen-breakout-v2/adafruit-gfx-library. Consulté le 23 janvier 2020.

SPI_TFT_ILI9341 - Lib for the new LCD Display with ILI9341 contro... | Mbed.
https://os.mbed.com/users/dreschpe/code/SPI_TFT_ILI9341/. Consulté le 23
janvier 2020

« Adafruit 2.8" and 3.2" Color TFT Touchscreen Breakout v2 ». Adafruit


Learning System, https://learn.adafruit.com/adafruit-2-dot-8-color-tft-
touchscreen-breakout-v2/overview. Consulté le 23 janvier 2020.

Vous aimerez peut-être aussi