Académique Documents
Professionnel Documents
Culture Documents
2020
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
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 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 :
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é
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.
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 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
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.
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.
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.
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.
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