- Matériaux nécessaires:
- Brève introduction à l'écran LCD à matrice de points 16 × 2:
- Schéma de circuit et connexion:
- Programmation du MSP430 pour LCD avec Energia:
- LCD 16x2 avec MSP430G2:
Il s'agit du troisième tutoriel de la séquence de tutoriels dans laquelle nous apprenons à programmer le LaunchPad MSP430G2 à l'aide de l'IDE Energia. Dans notre didacticiel précédent, nous avons appris à contrôler les broches d'entrée et de sortie numériques de notre carte MSP. Dans ce tutoriel, nous allons apprendre à interfacer un LCD avec la carte afin que nous puissions afficher des informations utiles.
L'écran LCD que nous utilisons dans ce projet est l'écran LCD à matrice de points 16 × 2 le plus couramment utilisé akan Alphanumeric Displays. La plupart d'entre nous auraient rencontré cela soit par le biais de PCO publics ou d'autres projets électroniques. Un affichage comme celui-ci sera très utile pour nos futurs didacticiels afin d'afficher des données et d'autres informations de débogage. L'interfaçage de cet écran LCD avec le MSP430 est très simple, grâce à la bibliothèque disponible. Alors plongons !!
Matériaux nécessaires:
- LaunchPad MSP430G2 de Texas Instruments
- Écran LCD à matrice de points 16 × 2
- Fils de connexion
- Energia IDE
Brève introduction à l'écran LCD à matrice de points 16 × 2:
Comme indiqué précédemment, Energia IDE fournit une belle bibliothèque qui fait de l'interfaçage un jeu d'enfant et il n'est donc pas obligatoire de savoir quoi que ce soit sur le module d'affichage. Mais ne serait-il pas intéressant de montrer ce que nous utilisons !!
Le nom 16 × 2 implique que l'affichage comporte 16 colonnes et 2 lignes, qui ensemble (16 * 2) forment 32 cases. Une seule boîte ressemblerait à ceci dans l'image ci-dessous
Une seule boîte a 40 pixels (points) avec un ordre matriciel de 5 lignes et 8 colonnes, ces 40 pixels forment ensemble un caractère. De même, 32 caractères peuvent être affichés en utilisant toutes les cases. Jetons maintenant un œil aux brochages.
L'écran LCD a un total de 16 broches, comme indiqué ci-dessus, ils peuvent être classés en quatre groupes comme suit
Broches source (1, 2 et 3): ces broches fournissent le niveau de puissance et de contraste de l'écran
Broches de contrôle (4, 5 et 6): Ces broches définissent / contrôlent les registres dans le CI d'interfaçage LCD (vous en trouverez plus dans le lien ci-dessous)
Broches de données / de commande (7 à 14): ces broches fournissent les données sur les informations à afficher sur l'écran LCD.
Broches LED (15 et 16): Ces broches sont utilisées pour allumer le rétroéclairage de l'écran LCD si nécessaire (en option).
Sur l'ensemble de ces 16 broches, seules 10 broches doivent être utilisées obligatoires pour le bon fonctionnement de l'écran LCD si vous voulez en savoir plus sur ces écrans LCD, passez à cet article LCD.
Schéma de circuit et connexion:
Le schéma de circuit complet pour interfacer un écran LCD à matrice de 16 × 2 points avec le MSP430G2 est illustré ci-dessous.
Une contrainte majeure lors de l'interfaçage de ces deux est leurs tensions de fonctionnement. L'écran LCD a une tension de fonctionnement de + 5V tandis que le MSP fonctionne uniquement avec 3,6V. Heureusement pour nous, la broche de données de l'interface LCD IC (HD44780U) a une large tension de fonctionnement de 2,7V à 5,5V. Nous devons donc nous préoccuper uniquement du Vdd (broche 2) de l'écran LCD alors que les broches de données peuvent fonctionner même avec 3,6V.
La carte MSP430G2 par défaut ne vous donne pas de broche + 5V, mais nous pouvons faire un petit hack pour obtenir + 5V du MSP430 en utilisant le port USB. Si vous regardez de près près du port USB, vous pouvez trouver un terminal appelé TP1, ce terminal nous donnera + 5v. Tout ce que nous avons à faire est de souder une petite broche d'en-tête mâle comme indiqué ci-dessous afin que nous puissions la connecter à notre écran LCD.
Remarque: ne connectez pas de charges susceptibles de consommer plus de 50 mA à cette broche 5 V, car cela risquerait de faire frire votre port USB.
Si vous n'êtes pas intéressé par le soudage, utilisez simplement une alimentation régulée + 5V et alimentez l'écran LCD, dans ce cas, assurez-vous de connecter la masse de votre alimentation à la masse de la carte MSP.
Une fois que vous avez terminé avec la broche + 5V, la connexion des autres broches est assez simple. Maintenant que notre matériel est prêt, passons à la partie logicielle.
Programmation du MSP430 pour LCD avec Energia:
Le programme complet pour interfacer un MSP430G2553 avec écran LCD est donné à la fin de cette page. Le code peut être compilé, téléchargé et utilisé comme tel. Dans les paragraphes suivants, je vais vous expliquer comment fonctionne le programme.
Avant de procéder à l'explication, nous devons noter les broches que nous utilisons. Si vous regardez le schéma de circuit ci-dessus et le schéma de brochage du MSP430 ci-dessous
Vous pouvez conclure que nous avons connecté l'écran LCD selon le tableau suivant
Nom de la broche LCD |
Connecté à |
Vss |
Sol |
Vdd |
+ Broche USB 5V |
Rs |
Broche 2 du MSP |
R / W |
Sol |
Activer |
Broche 3 du MSP |
D4 |
Broche 4 du MSP |
D5 |
Broche 5 de MSP |
D6 |
Broche 6 du MSP |
D7 |
Broche 7 du MSP |
Dans cet esprit, commençons à définir les broches LCD utilisées dans notre programme. Nous nommerons chaque broche avec un nom plus significatif afin de pouvoir l'utiliser facilement plus tard.
#define RS 2 #define EN 3 #define D4 4 #define D5 5 #define D6 6 #define D7 7
Cela signifie simplement qu'au lieu d'appeler la broche 2, je peux l'appeler RS ci-après, de la même manière pour les 6 broches.
La prochaine étape consisterait à inclure la bibliothèque LCD. Cette bibliothèque aurait été installée automatiquement lorsque vous avez installé l'EDI Energia. Alors ajoutez-le simplement en utilisant la ligne suivante
#comprendre
L'étape suivante consiste à mentionner les broches auxquelles l'écran LCD est connecté, comme nous l'avons déjà nommé en utilisant le #define, nous pouvons maintenant simplement mentionner les noms des broches LCD. Assurez-vous que le même ordre est suivi.
LCD LiquidCrystal (RS, EN, D4, D5, D6, D7);
Maintenant, nous allons passer dans la configuration vide () fonction. Il y a tellement de types d'écrans LCD variant en taille et en nature, celui que nous utilisons est 16 * 2 alors spécifions cela dans notre programme
lcd.begin (16, 2);
Pour imprimer quelque chose sur l'écran LCD, nous devons mentionner deux choses dans le programme. L'un est la position du texte qui peut être mentionnée en utilisant la ligne lcd.setCursor () et l'autre est le contenu à imprimer qui peut être mentionné par lcd.print (). Dans cette ligne, nous plaçons le curseur sur la 1ère ligne et la 1ère colonne.
lcd.setCursor (0,0);
De même, nous pouvons aussi
lcd.setCursor (0, 1); // positionne le curseur sur la 1ère colonne 2ème ligne
Tout comme l'effacement d'un tableau blanc après avoir écrit dessus, un écran LCD doit également être effacé une fois que quelque chose est écrit dessus. Cela peut être fait en utilisant la ligne ci-dessous
lcd.clear ();
Ainsi, la fonction complète de void setup () ressemblerait à ceci.
void setup () {lcd.begin (16, 2); // Nous utilisons un écran LCD 16 * 2 lcd.setCursor (0,0); // Placez le curseur sur la 1ère ligne 1ère colonne lcd.print ("MSP430G2553"); // Affiche un message d'introduction lcd.setCursor (0, 1); // positionne le curseur sur la 1ère colonne 2ème ligne lcd.print ("- CircuitDigest"); // Afficher un délai de message d'introduction (2000); // Attend que l'écran affiche les informations lcd.clear (); // Puis nettoyez-le}
Ensuite, dans notre fonction void loop () , continuons d'incrémenter un nombre toutes les 500 ms et affichons le nombre sur l'écran LCD. Ce nombre teste et est initialisé à 1 comme indiqué ci-dessous
test int = 1;
Pour créer un délai, nous pouvons utiliser la fonction intégrée delay (). Nous devons mentionner combien de temps nous avons besoin que le retard se produise. Dans notre cas, j'ai utilisé 500ms comme indiqué ci-dessous
retard (500);
L'incrémentation d'une variable peut se faire par test ++, le reste est déjà expliqué. Le code complet à l'intérieur de la boucle void est indiqué ci-dessous
void loop () {lcd.print ("LCD avec MSP"); // Affiche un message d'introduction lcd.setCursor (0, 1); // positionne le curseur sur la colonne 0, ligne 1 lcd.print (test); // Afficher un délai de message d'introduction (500); lcd.clear (); // Puis nettoyez-le test ++; }
LCD 16x2 avec MSP430G2:
Une fois que votre matériel et votre code sont prêts, connectez simplement votre carte à l'ordinateur et téléchargez le code comme nous l'avons fait dans le premier tutoriel. Une fois le code téléchargé, vous devriez voir l'écran montrant ce qui suit.
Après deux secondes, l'écran d'affichage passera de la configuration à la boucle et commencera à incrémenter la variable et s'affichera à l'écran comme illustré ci-dessous.
Le travail complet peut être trouvé dans la vidéo ci-dessous. Allez-y et essayez de changer ce qui est affiché sur l'écran LCD et jouez avec. J'espère que vous avez compris le didacticiel et appris quelque chose d'utile. Si vous avez des doutes, laissez-les dans la section des commentaires ci-dessous ou utilisez les forums. Rencontrons-nous dans un autre tutoriel.