Table des matières:

Efficace et bon marché : Affichage avec STM32L4 : 13 étapes
Efficace et bon marché : Affichage avec STM32L4 : 13 étapes

Vidéo: Efficace et bon marché : Affichage avec STM32L4 : 13 étapes

Vidéo: Efficace et bon marché : Affichage avec STM32L4 : 13 étapes
Vidéo: Micro-contrôleurs STM32 (2/3) - Interruptions et NVIC 2024, Décembre
Anonim
Image
Image
introduction
introduction

Aujourd'hui, nous allons parler de trois sujets que j'adore absolument: un écran LCD qui dépense peu d'énergie, STM32 avec Core Arduino, et Arduino Mega Pro Mini. C'est un trio infaillible pour l'Internet des Objets. Je vais ensuite vous présenter l'écran LCD à six chiffres HT1621 et créer un exemple de contrôle avec un code qui fonctionne à la fois sur l'Arduino Mega Pro Mini et le STM32 L432KC. Un détail remarquable est que le code source des deux microcontrôleurs est exactement le même. Je ne changerai pas non plus l'épinglage. C'est absolument fantastique !

Étape 1: Présentation

introduction
introduction

L'écran LCD HT1621 possède un écran couramment utilisé dans les multimètres, les balances électroniques, les horloges électroniques, les thermomètres et les appareils de mesure électroniques.

• Il a 6 chiffres avec 7 segments

• Il utilise une communication SPI à 3 fils

• Il dispose d'un rétroéclairage adapté aux environnements sombres

• Sa tension de fonctionnement est de 4,7 à 5,2 V

• Il consomme 4mA avec un rétro-éclairage

Notez qu'il a plus de SIX chiffres, TROIS points décimaux et un indicateur de batterie avec TROIS barres.

Étape 2: Bibliothèque à utiliser

Nous utiliserons la bibliothèque utilisateur github ANXZHU, qui est assez simple. Il peut être vu dans la version originale dans le lien ci-dessous:

github.com/anxzhu/segment-lcd-with-ht1621

Le nom de la bibliothèque est un peu étrange, j'ai donc décidé de le renommer (fichiers, classes, constructeurs, etc.). Son nom d'origine est "A6seglcd". J'ai remplacé ce nom par "lcdlib".

Étape 3: Bibliothèque

Ajouter la bibliothèque "lcdlib".

Accédez au lien et téléchargez la bibliothèque.

Décompressez le fichier et collez-le dans le dossier des bibliothèques de l'IDE Arduino.

C:/Program Files (x86)/Arduino/bibliothèques

Étape 4: Démonstration

Manifestation
Manifestation

Méga assemblage Arduino

Étape 5: Démonstration

Manifestation
Manifestation

Assemblage SMT32

Étape 6: STM32 NUCLEO-L432KC

STM32 NUCLÉO-L432KC
STM32 NUCLÉO-L432KC

Je tiens à souligner ici que le STM32-L432KC n'a pas de convertisseur USB série. Au lieu de cela, il dispose d'un port USB complet, qui utilise le protocole ST-link de STMicroelectronics. Ainsi, il est assez sophistiqué et permet un débogage très efficace si vous utilisez l'IR ou la Microvision. Et étant un noyau Arduino (MBED, utilisant l'outil natif de Microsoft), il utilise des compilateurs hautement professionnels. Dois-je dire autre chose ?

Étape 7: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

J'aime aussi cela, car c'est un Arduino "pur" et "vrai". C'est un Mega, avec beaucoup d'IO. Mais c'est Mini, donc ça s'adapte n'importe où. J'aime IO partout. Avec cela, j'aime connecter Led, SPI, i2c, etc. À cet égard, cette Mega est magnifique.

Étape 8: Assemblage

Assemblée
Assemblée

Dans notre assemblage, la rangée de la broche mâle est du côté intérieur, tandis que la broche femelle est du côté le plus extérieur, facilitant notre travail et la connexion avec un protoboard. Nous effectuons la connexion SPI, en nous rappelant que l'Arduino Mega et ce clone Arduino Nano ont le même brochage, qui est le STM32-L432KC.

Étape 9: Programmer

Nous allons créer un programme très simple, dans lequel nous écrirons divers symboles (lettres, chiffres et points) sur l'écran.

N'oubliez pas que ce programme fonctionne à la fois sur l'Arduino Mega Pro Mini et le STM32 L432KC.

Étape 10: Bibliothèques et variables

Nous allons ensuite inclure la bibliothèque responsable de la communication et instancier le contrôle de l'affichage. La fonction "const char" expose une table de tableau. C'est à travers ces vecteurs que vous ferez la référence du caractère qui s'imprime à l'écran.

#include //biblioteca para controle do display

lcdlib lcd; //instancia do controlador do display /*0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, b, C, c, d, E, F, H, h, L, n, N, P, r, t, U, -, bat, pf, ' ', */ const char num={0x7D, 0x60, 0x3E, 0x7A, 0x63, 0x5B, 0x5F, 0x70, 0x7F, 0x7B, 0x77, 0x4F, 0x1D, 0x0E, 0x6E, 0x1F, 0x17, 0x67, 0x47, 0x0D, 0x46, 0x75, 0x37, 0x06, 0x0F, 0x6D, 0x02, 0x80, 0xFF, 0x00 }; /*indice num 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 */

Étape 11: configuration

Pour démarrer la configuration, nous allons définir les broches, effectuer la configuration initiale et définir le nettoyage de l'écran. Nous avons déterminé que l'écran affiche « Hello » et qu'après un certain délai, le message d'affichage est effacé.

void setup(){ lcd.run(2, 3, 4, 5); //[cs wr data led+] définition des pins lcd.conf(); //configuration initiale lcd.clr(); //limpa o display //escreve BONJOUR lcd.display(10, num[17]); lcd.display(8, num[15]); lcd.display(6, num[19]); lcd.display(4, num[19]); lcd.display(2, num[0]); //fim BONJOUR délai(1000); lcd.clr(); //limpa ou afficher }

Étape 12: Boucler

Ici, nous créons une fonction appelée "writeLoop", qui écrira le mot LOOP sur l'écran, puis écrirons tous les symboles de notre tableau. Nous avons également la fonction "writeBattery", qui imprime les marqueurs de batterie.

Enfin, nous avons la commande "lcd.dispnum" qui écrit la valeur à virgule flottante.

Étape 13: Téléchargez les fichiers

PDF

INO

Conseillé: