Tutoriel STM32 Nucleo - afficheur LCD

De Wiki L.A.B
Révision de 9 décembre 2015 à 13:20 par Adminsys (discussion | contributions) (Page créée avec « J’ai fait quelques essais avec la carte Nucleo LR152RE gracieusement offerte par ST : http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1847/PF260002?icmp=nucleo... »)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher

J’ai fait quelques essais avec la carte Nucleo LR152RE gracieusement offerte par ST : http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1847/PF260002?icmp=nucleo-ipf_pron_pr-nucleo_feb2014

Voici la marche à suivre pour mettre en œuvre un afficheur LCD 16x2 avec la carte ST Nucleo, en utilisant le compilateur en ligne Mbed et la librairie disponible sur Mbed.

Branchement de l’afficheur sur la carte Nucleo


LCD N° Signification Branchement ST Nucleo / Arduino
1 GND 0V
2 VCC 5V
3 VO 0V, via 1k
4 RS D2
5 RW 0V
6 E D3
7 D0 0V
8 D1 0V
9 D2 0V
10 D3 0V
11 D4 D4
12 D5 D5
13 D6 D6
14 D7 D7
15 Back Light + 5V, via 1k
16 Back Light - 0V



Câblage de l’afficheur et de la carte Nucleo
Câblage de l'afficheur et de la carte Nucleo Câblage de l'afficheur et de la carte Nucleo


Programmation du microcontrôleur



Préparation de l’environnement de développement



Je vais utiliser l’IDE en ligne proposé par Mbed : https://mbed.org/
Il s’agit tout d’abord de créer un compte
C’est très vite fait, il suffit de cliquer sur signup, de donner son adresse mail, son nom prénom, et de choisir un pseudo et un mot de passe et le tour est joué.
Il faut ensuite brancher la carte pour définir automatiquement la plateforme de développement, il est également possible de le faire manuellement en choisissant la carte dans l’onglet « Platforms ».
Il est recommandé de mettre à jour le Firmware de la carte :
https://mbed.org/teams/st/wiki/ST-Link-Driver
Ceci ne sera réellement utile que lors de la mise en œuvre du debugger ST-LINK.

Importation du programme et de la librairie


Une fois que le compilateur en ligne est ouvert (il faut cliquer sur le bouton « compiler » en haut à droite), on obtient la fenêtre suivante :
600px

On va maintenant importer un programme et une librairie :
Cliquer sur « import »

Choisir le programme TextLCD_HelloWord (au besoin rechercher le programme par Search).

Puis cliquer sur « Import ! » (en rouge sur l’image).
600px

Puis il faut impérativement mettre le compilateur à jour, en sélectionnant mbed (1 en rouge sur l’image ci-dessous) puis en cliquant sur « Update » (2 en rouge sur l’image ci-dessous).

600px

Modification du programme


Modifier le programme main.cpp (programme principal en C++) pour qu’il soit conforme à ceci :

// Test  afficheur LCD 16x2

#include "mbed.h"

#include "TextLCD.h" 			// librairie TextLCD

TextLCD lcd(D2, D3, D4, D5, D6, D7); 	// rs, e, d4-d7

int main() {

    lcd.printf("ST Nucleo L152RE"); 	// affichage sur la ligne 0

    lcd.locate(0,1);                	// positionnement du curseur en colonne 0 et ligne 1

    lcd.printf("Affich. LCD 16x2"); 	// affichage sur la ligne 1

}

Compilation et transfert du programme dans la carte

Cliquer sur « Compile »

Enregistrer le fichier TextLCD.bin

Puis le transférer dans la carte Nucleo qui apparait comme un lecteur supplémentaire « NUCLEO ».

Il suffit d’appuyer sur le bouton Reste de la carte Nucleo pour lancer le programme.

Remarque : si une erreur de compilation 5 ou 35 apparaît, il faut mettre à jour les différents éléments (programme et librairie) tel que c’est indiqué ci dessus (dans "Modification du programme").