Table des matières:
- Fournitures
- Étape 1: Configurez votre IDE Arduino pour prendre en charge ESP32
- Étape 2: Connectez la matrice LED à l'ESP32
- Étape 3: Assembler
- Étape 4: Le fichier Arduino IDE et INO
- Étape 5: Le code
Vidéo: WordClock à défilement ESP32 sur matrice LED : 5 étapes (avec images)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Dans ce projet, je crée un Scrolling WordClock avec un ESP32, une matrice LED et une boîte à cigares.
Un WordClock est une horloge qui épelle l'heure plutôt que de simplement l'imprimer sur l'écran ou d'avoir des mains que vous pouvez lire. Cette horloge vous dira qu'il est 10 minutes après 3 heures de l'après-midi ou midi. Je l'ai même programmé pour utiliser le Prevening (de Big Bang Theory) le nom de la période ambiguë entre l'après-midi et le soir. Commence à 16h00.
L'ESP32 est génial, ils sont tellement amusants et si peu coûteux, si vous aimez programmer des Arduino, vous serez vraiment étonné de ce qu'un ESP32 peut faire pour moins de 10 $. Ils utilisent l'IDE Arduino et sont faciles à programmer. Je vais vous montrer comment faire cela dans ce instructable.
Fournitures
- ESP32 - environ 10 $ sur amazon
- Matrice LED (max7219) (et fils) - 9 $ amazon
- Boîte à cigares
- Câble d'alimentation USB
- Imprimante 3D en option pour support esp32
Étape 1: Configurez votre IDE Arduino pour prendre en charge ESP32
Obtenez l'IDE Arduino:
- Dans un navigateur, allez sur
- Cliquez sur Logiciel puis Téléchargements pour obtenir ARDUINO 1.8.12
Ajoutez la prise en charge ESP32 à votre IDE Arduino:
- Démarrer l'IDE Arduino
- Cliquez sur le menu Fichier puis sur Préférences.
Une fois dans « Préférences », ajoutez le support du fabricant en ajoutant la ligne suivante au « Gestionnaire de cartes supplémentaires »
dl.espressif.com/dl/package_esp32_index.js
Cela nous donnera accès pour ajouter la carte à l'IDE
Allez dans le menu Outils puis sur Tableaux et allez dans le gestionnaire de tableaux
Recherchez ensuite "ESP" et ajoutez le package par Expressif.
Enfin, nous voulons revenir au menu "Outils", puis à nouveau "Board" et faire défiler vers le bas pour trouver votre appareil ESP32.
Le mien est un "module Wrover ESP32"
Étape 2: Connectez la matrice LED à l'ESP32
La matrice LED est composée de quatre blocs de LED 8x8 et utilise une puce MAX7219. Cela nous donne 8x32 LED dans la matrice ou 256 LED !!!.
L'esp32 est assis sur une cale que j'ai créée dans TinkerCad. Mon support tient les broches vers le haut pour que vous puissiez attacher les fils.
La matrice de LED se connecte à l'ESP32 à l'aide de SPI (Serial Peripheral Interface).
Utilisez des fils femelles/femelles et connectez les broches comme suit:
- ESP32 - 5v vers VCC sur Matrix
- ESP32 - GND à GND sur la matrice
- ESP32 - PIN5 (G5) à CS sur Matrix
- ESP32 - PIN23 (G23) à Din sur Matrix
- ESP32 - Broche 18 (G18) vers CLK sur Matrix
Il est possible d'utiliser d'autres broches ou si votre ESP32 a un brochage différent.
Étape 3: Assembler
Ensuite, j'ai coupé la boîte à cigares pour me donner un endroit pour mettre l'écran LED. La boîte est souple et j'ai pu utiliser un couteau rasoir. Ensuite, j'ai poncé pour le lisser.
J'ai également coupé un tout à l'arrière pour le cordon d'alimentation. Je viens d'utiliser l'alimentation USB. J'aurais même pu ajouter une batterie de chargeur de téléphone USB à l'intérieur de la boîte à cigares si j'avais voulu qu'elle soit sans fil.
Étape 4: Le fichier Arduino IDE et INO
La meilleure partie est le code. Mais nous devons d'abord ajouter une bibliothèque pour permettre au programme d'utiliser l'affichage de manière plus simple. J'ai ajouté la bibliothèque MD_MAX72xx.
Pour ajouter la bibliothèque, cliquez sur le menu "Esquisse", puis "Inclure la bibliothèque" et "Gérer les bibliothèques", cela se chargera et vous permettra de rechercher la bibliothèque MD_MAX72xx. Cliquez simplement sur installer et vous l'avez.
Ensuite, récupérez mon fichier Arduino INO:
github.com/aapicella/wordClock/blob/master/Word_Clock_LED_NTP_final_.ino
Chargez le fichier ino dans votre IDE Arduino, Connectez l'USB de l'ESP32 à votre ordinateur.
Cliquez sur le "Sketch" puis Upload
À ce stade, l'horloge ne fonctionnera pas, l'ESP32 n'affichera rien. Pourquoi? nous devons ajouter votre WIFI au code car le WordClock se connecte à Internet pour obtenir l'heure. C'est vrai… étape suivante ->.
Étape 5: Le code
Nous avons finalement atteint ma partie préférée. Le programme. Je le couvrirai de haut en bas si cela vous intéresse. Pour que le programme fonctionne avec votre Internet domestique, il vous suffit de modifier ces lignes.
// Ajoutez vos informations réseau
const char *ssid = "xxxxxx";
const char *mot de passe = "xxxxxx";
Le programme est un peu complexe, mais très amusant.
Pour désactiver "Prevening", changez simplement la valeur en false:
const booléen PREVENING=true; //La théorie du Big Bang.
Pour désactiver l'affichage de l'heure numérique après le défilement, modifiez-le sur false.
const booléen DISPLAY_DIGITAL=true; //activer l'affichage de l'heure numérique après le défilement.
Défilement de l'heure:
J'obtiens l'heure d'un serveur de temps sur Internet en utilisant NTP (Network Time Protocol). L'heure est contenue dans une variable appelée timeinfo et nous en obtenons l'heure et la minute
int heure = timeinfo.tm_hour; ///0-23
int minute = timeinfo.tm_min; //-59
Vérifiez ensuite AM ou PM
Son AM si heure < 12
Je crée une chaîne appelée "theTime" et la démarre avec:
theTime="C'est ";
Pour obtenir le nombre sous forme de mots, j'ai créé un tableau de mots pour les nombres jusqu'à 30
const char *nombres = {
"0", "Un", "Deux", "Trois", "Quatre", "Cinq", "Six", "Sept", "Huit", "Neuf", "Dix", "Onze", "Douze ", "Treize", "Quatorze", "Quartier", "Seize", "Dix-sept", "Dix-huit", "Dix-neuf", "Vingt", "Vingt-et-un", "Vingt-deux", "Vingt-trois ", "Vingt-quatre", "Vingt-cinq", "Vingt-six", "Vingt-sept", "Vingt-huit", "Vingt-neuf", "Demi-passé"};
Donc, quand il est 12h05 ou minuit cinq minutes, c'est vraiment à l'Arduino
nombres[5] minutes après les nombres[12]
Pour déterminer si c'est "Minutes Past" ou "Minutes To", nous regardons simplement les minutes. Si les minutes sont < 31, c'est « Minutes Past » si les minutes sont supérieures à 31, nous utilisons « Minutes To » mais utilisons des nombres[60-minutes] donc 12:50 serait 60-50 minutes ou des nombres[10] qui seraient donnez-nous 10 minutes à 12 heures.
Bien sûr, il y a d'autres règles comme le 15, le 30, le 45, nous n'utilisons pas les minutes, c'est juste une heure et demie ou un quart d'heure, et si la minute est 0, l'heure est juste "Ten O'clock" ou Midi.
Donc, pour l'assembler, j'ajoute tous les éléments à la chaîne theTime puis l'affiche sur la matrice LED. J'utilise un tas d'instructions If. J'aurais probablement dû utiliser des étuis, mais c'était juste plus facile de continuer à les ajouter.
Pour notre exemple 12:05
theTime="C'est"
si minute < 31 utiliser "Minutes Past" sinon son "Minute To"
theTime+= nombres[5] + " Minutes Past" + nombre [12] + "O'Clock" //Remarque: La notation += est ajoutée.
Ensuite, nous regardons l'heure pour déterminer si c'est le matin, l'après-midi ou le soir.
theTime+= "Le soir"
La chaîne finale allant à la matrice est:
"Il est minuit moins cinq du soir"
Ce projet était très amusant à écrire. Si vous l'aimez s'il vous plaît cliquez sur le coeur et votez pour moi s'il vous plaît.
Conseillé:
Utilisation de la matrice de points de l'horloge intelligente IoT Wemos ESP8266 - Matrice ESP : 12 étapes (avec images)
Matrice de points d'horloge intelligente IoT Utilisez Wemos ESP8266 - Matrice ESP: Créez votre propre horloge intelligente IoT qui peut: Afficher une horloge avec une belle icône d'animation Afficher Rappel-1 à Rappel-5 Afficher le calendrier Afficher les heures de prière musulmanes Afficher les informations météorologiques Afficher les informations Afficher les informations Afficher les conseils Taux Bitcoin Affichage
Affichage matriciel à LED à défilement 48 X 8 à l'aide d'Arduino et de registres à décalage : 6 étapes (avec images)
Affichage matriciel de LED à défilement 48 x 8 à l'aide d'Arduino et de registres à décalage. C'était mon premier projet avec une carte de développement Arduino. C'était un défi lancé à m
Comment résoudre le problème de défilement de la souris Xiaomi : 6 étapes (avec des images)
Comment résoudre le problème de défilement de la souris Xiaomi : Comme pour tout autre outil, une souris d'ordinateur aurait éventuellement besoin d'un entretien en raison de son utilisation continue. L'usure typique du produit lui permet de fonctionner moins efficacement qu'il ne l'avait été à l'époque où il était autrefois b
Molette de défilement du bureau et contrôle du volume ! : 8 étapes (avec images)
Molette de défilement du bureau et contrôle du volume ! : le projet du week-end de Make Magazine, 3/4/09Some BackgroundRécemment, j'ai lu beaucoup de blogs différents. Chaque jour, je lis les derniers articles sur engadget, lifehacker, hackaday, BBG et le blog MAKE:. Le problème pour moi est venu quand j'ai réalisé que o
L'éliminateur de clics de la molette de défilement ennuyeux (défilement fluide) : 5 étapes
L'éliminateur de clics de la molette de défilement ennuyeux (smooth Scroll) : le bruit de la molette de défilement vous ennuie ? eh bien, voici votre chance de retirer ce clic de ce parchemin ! si vous cassez votre souris, ce n'est pas de ma faute. Je fais ce mod avec une souris logitech. Je ne suis pas sûr que cela fonctionnera sur d'autres souris b