Table des matières:
- Étape 1: Qu'attendons-nous ?
- Étape 2: Rassembler les matériaux
- Étape 3: Configuration matérielle et logicielle
- Étape 4: Test du bouton
- Étape 5: Programmation
Vidéo: Transition de couleur sur POP-X2 GLCD à l'aide d'un bouton : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Fondamentalement, ce projet montre une fonctionnalité d'une carte contrôleur que j'aime utiliser. La carte POP-X2, fabriquée par INEX, possède un GLCD coloré intégré, un bouton, des ports E/S et des composants similaires aux autres cartes contrôleurs. Veuillez consulter le manuel de la carte pour les spécifications complètes. Voir ce lien.
Le GLCD (Graphic Liquid Crystal Display) intégré à la carte contrôleur fournit une méthode d'affichage des données, non seulement des textes et des nombres, mais également des graphiques vectoriels. Dans ce tutoriel, je vais vous apprendre à afficher un graphique simple sur GLCD. Pour le rendre plus intéressant, j'ai ajouté des programmes pour le bouton intégré, en tant que contrôleur pour la transition de couleur.
Rappelles toi. Ce tutoriel s'est principalement concentré sur le côté programmation. Si vous possédez la même carte ou une carte ATX2, vous pouvez faire ce tutoriel facilement. Une fois cela fait, vous pouvez essayer d'explorer les autres fonctionnalités du tableau.:)
Maintenant, commençons !
Étape 1: Qu'attendons-nous ?
Veuillez regarder la vidéo ci-dessus.
Étape 2: Rassembler les matériaux
Pièces et matériaux:
- Ordinateur portable/de bureau avec Arduino Arduino 1.7.10 (pilote signé) ou version supérieure
- 1 carte POP-X2 (avec un bouton intégré)
- 1 câble de téléchargement
- 4 pièces. Piles AA
Étape 3: Configuration matérielle et logicielle
1. Placez les 4 piles dans le porte-piles. (La carte prend en charge une entrée de tension maximale de 7,4 V.)
Remarque: veuillez vérifier correctement la polarité des piles.
2. Connectez le câble de téléchargement à l'ordinateur et à la carte. Veuillez vous référer à l'image ci-dessus.
3. Allumez la carte contrôleur. Assurez-vous que le voyant LED bleu est allumé. Sinon, vous devez installer le pilote logiciel Arduino.
Au fait, j'utilise Arduino version 1.7.10 (pilote signé) car il possède déjà la bibliothèque de POP-X2. Veuillez cliquer sur ce lien pour télécharger le logiciel.
4. Définissez le port de la carte en cliquant sur Outils>Port série>Sélectionnez le bon numéro de port COM.
5. Configurez la carte en cliquant sur Outils>Carte>POP-X2, ATMega644P @ 20MHz.
6. Essayez de télécharger le croquis par défaut pour vous assurer que la carte est correctement connectée.
#include // Bibliothèque POP-X2
void setup(){ OK(); } boucle vide(){ }
Étape 4: Test du bouton
Avant de faire le programme principal, vous devez vous assurer que le bouton intégré fonctionne.
1. Téléchargez l'exemple de programme pour le bouton. Cliquez sur Fichier>Exemples>POP-X2>popx2_KnobOKTest
Opération de base:
- La plage de valeur analogique du bouton qui s'affiche sur le GLCD est de 0 à 1000.
- Lorsque le bouton est tourné dans le sens des aiguilles d'une montre, la valeur analogique affichée sur GLCD augmente.
- Lorsque le bouton est tourné dans le sens inverse des aiguilles d'une montre, la valeur analogique affichée sur GLCD diminue.
Étape 5: Programmation
J'ai joint ci-dessous le code source. Alors, s'il vous plaît, téléchargez-le.
Aperçu du programme:
#include //Bibliothèque de cartes POP-X2
void setup() { OK(); } boucle vide() { lecture int = map(knob(), 0, 1000, 0, 245); if ((lecture >= 0) && (lecture = 36) && (lecture = 71) && (lecture = 106) && (lecture = 141) && (lecture = 176) && (lecture = 211) && (lecture <=245)){ blanche(); } glcdFillScreen(GLCD_BLACK); glcd(0, 0, "%d", lecture); }
rouge vide (){
setTextBackgroundColor(GLCD_RED); glcd(3, 2, " "); glcd(4, 2, " "); glcd(5, 2, " "); glcd(6, 2, " "); setTextBackgroundColor(GLCD_WHITE); setTextColor(GLCD_VIOLET); retard(1000); }
jaune vide (){
setTextBackgroundColor(GLCD_YELLOW); glcd(1, 8, " "); glcd(2, 8, " "); glcd(3, 8, " "); glcd(4, 8, " "); setTextBackgroundColor(GLCD_WHITE); setTextColor(GLCD_VIOLET); retard(1000); }
vert vide (){
setTextBackgroundColor(GLCD_GREEN); glcd(3, 14, " "); glcd(4, 14, " "); glcd(5, 14, " "); glcd(6, 14, " "); setTextBackgroundColor(GLCD_WHITE); setTextColor(GLCD_VIOLET); retard(1000); }
cyan vide(){
setTextBackgroundColor(GLCD_CYAN); glcd(9, 14, " "); glcd(10, 14, " "); glcd(11, 14, " "); glcd(12, 14, " "); setTextBackgroundColor(GLCD_WHITE); setTextColor(GLCD_VIOLET); retard(1000); }
bleu vide (){
setTextBackgroundColor(GLCD_BLUE); glcd(11, 8, " "); glcd(12, 8, " "); glcd(13, 8, " "); glcd(14, 8, " "); setTextBackgroundColor(GLCD_WHITE); setTextColor(GLCD_VIOLET); retard(1000); }
magenta vide (){
setTextBackgroundColor(GLCD_MAGENTA); glcd(9, 2, " "); glcd(10, 2, " "); glcd(11, 2, " "); glcd(12, 2, " "); setTextBackgroundColor(GLCD_WHITE); setTextColor(GLCD_VIOLET); retard(1000); }
blanc vide (){
setTextBackgroundColor(GLCD_WHITE); glcd(6, 8, " "); glcd(7, 8, " "); glcd(8, 8, " "); glcd(9, 8, " "); setTextBackgroundColor(GLCD_WHITE); setTextColor(GLCD_VIOLET); retard(1000); }
Explication:
1. La case colorée (à une position spécifiée) sera affichée sur le GLCD lorsque la valeur définie est vraie (vérifiez les contraintes ci-dessous). Pour comprendre les coordonnées de la case colorée spécifiée dans le programme, veuillez vous référer à l'image ci-dessus.
2. La valeur analogique du bouton a été mappée de 0 - 1000 à 0 - 245. Il y a 7 couleurs qui peuvent être affichées; par conséquent, chaque couleur a une plage de 35 (sauf la première contrainte).
3. Contraintes:
Valeur Couleur (Boîte)
0 - 35 - Rouge
36 - 70 - Jaune
71 - 105 - Vert
106 - 140 - Cyan
141 - 175 - Bleu
176 - 210 - Magenta
211 - 245 - Blanc
Remarque: l'affichage de la boîte n'est PAS parfait car il y a un espace entre les lignes. J'ai utilisé des espaces dans ce programme au lieu de coordonnées réelles, pour montrer facilement à quoi cela ressemblerait.
Aussi, j'ai créé des fonctions pour chaque box afin de comprendre facilement le code.
Conseillé:
Atollic TrueStudio-Switch sur la LED en appuyant sur le bouton poussoir à l'aide du STM32L100 : 4 étapes
Atollic TrueStudio-Switch sur la LED en appuyant sur le bouton poussoir à l'aide de STM32L100: Dans ce tutoriel de STM32, je vais vous expliquer comment lire une broche GPIO de STM32L100, donc ici je vais en faire une LED à bord en appuyant sur le bouton poussoir
Neopixel Ws2812 Rainbow LED Glow avec M5stick-C - Exécution de Rainbow sur Neopixel Ws2812 à l'aide de M5stack M5stick C à l'aide d'Arduino IDE : 5 étapes
Neopixel Ws2812 Rainbow LED Glow avec M5stick-C | Exécution de Rainbow sur Neopixel Ws2812 en utilisant M5stack M5stick C en utilisant Arduino IDE un motif arc-en-ciel avec
Microcontrôleur AVR. Basculez les LED à l'aide d'un interrupteur à bouton-poussoir. Anti-rebond de bouton poussoir. : 4 étapes
Microcontrôleur AVR. Basculez les LED à l'aide d'un interrupteur à bouton-poussoir. Anti-rebond de bouton-poussoir. : Dans cette section, nous allons apprendre comment créer un code C de programme pour ATMega328PU pour basculer l'état des trois LED en fonction de l'entrée d'un interrupteur à bouton. En outre, nous avons exploré une solution au problème de « Switch Bounce ». Comme d'habitude, nous allons
Bouton d'alimentation Super Ghetto sur mon Oneplus One (devrait fonctionner sur n'importe quoi): 3 étapes
Bouton d'alimentation Super Ghetto sur mon Oneplus One (devrait fonctionner sur n'importe quoi): Le problème: Tous les boutons de mon téléphone sont cassés. Les remplacer n'est qu'une solution temporaire car ma coque arrière est cassée et je ne trouve nulle part un remplacement qui ne dépasse pas le prix d'un OPO d'occasion, mais j'ai pensé pourquoi ne pas mettre à niveau si j'ai un
Veilleuse à changement de couleur à l'aide d'Ardruino 101 : 4 étapes (avec photos)
Veilleuse à changement de couleur à l'aide d'Ardruino 101 : Dans ce projet, vous fabriquerez une lampe de nuit à l'aide d'ardruino, de bandes Adafruit neo rgb et d'une imprimante 3D. Notez que cet intrussable est purement pour mon projet d'école. Le code de ce projet est basé sur un autre projet. Cela dit, je ne suis pas un ex