Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
À propos du projet
Je vais vous montrer comment créer un mini affichage d'état météo à partir d'un affichage matriciel 8x8.
J'utiliserai Genuino MKR1000 pour récupérer la température, l'humidité et les conditions météorologiques dans un endroit sélectionné.
Afficher l'état à afficher dans un modèle d'animation de diapositive.
Défis
Étant donné que 8x8 Matrix est essentiellement un tableau de LED, je devrai le programmer pour afficher des effets de texte et d'animation
Sur ce projet, vous apprendrez également à
- consommer l'api de service Web de repos
- comment analyser les données Json
- comment utiliser les bibliothèques Threads et Wifi dans Arduino
Étape 1: Assemblez l'écran MKR1000 et 8x8 sur une mini planche à pain
La configuration est assez simple, il nous suffit de connecter l'écran matriciel 8x8 à notre microcontrôleur.
Conditions
- 16 pièces de cavaliers mâles à femelles
- Mini Planche à Pain
- Microcontrôleur
- Affichage matriciel 8x8'
Affichage de l'assemblage
Divisez vos cavaliers en groupe de 8 pièces.
Assurez-vous que les cavaliers sont parfaitement alignés.
Connectez les 8 cavaliers femelles aux 8 premières broches de l'affichage matriciel.
Connectez les 8 autres cavaliers femelles aux 2e 8 broches de l'affichage matriciel.
Attacher au microcontrôleur
Attachez le microcontrôleur à la mini maquette
À l'aide des broches mâles d'extrémité des fils de liaison, insérez-les dans les 8 premiers trous où sont fixées les broches du microcontrôleur (5-A5).
Insérez le reste sur les 8 autres trous où sont fixées les broches du microcontrôleur (6-13).
Ajustez l'affichage matriciel 8x8 pour qu'il soit face à l'avant lorsque vous le placez sur la table.
Étape 2: Créez votre compte Weather Api
Pour être pleinement appelé Internet des objets, nous devons récupérer des données sur Internet.
J'ai utilisé l'API APIXU pour récupérer les données météorologiques de mon emplacement sélectionné.
Inscrivez-vous pour le compte ici https://www.apixu.com/login.aspx et obtenez votre clé API de compte.
N'hésitez pas à utiliser ma propre clé API
Chaîne apiKey = "8f0ff191defb4a20b5583518171203"; // votre clé api apixu
Étape 3: Flashez votre MKR1000
Obtenez le code complet ici Voir sur GitHub
N'hésitez pas à soumettre des problèmes ou des révisions:)
Ajoutez HexFont.h à vos bibliothèques Arduino.
Utilisez simple_weather_display.ino pour flasher votre microcontrôleur.
Sur cette partie du code:
Remplacez par vos paramètres WiFi
char ssid = ""; // votre réseau SSID (nom)
car pass = ""; // votre mot de passe réseau (à utiliser pour WPA, ou comme clé pour WEP)
Remplacez par votre clé Apixu Api et vos coordonnées de localisation
Chaîne apiKey = "8f0ff191defb4a20b5583518171203"; // votre clé api apixu
Coordonnées de chaîne = "28.4810971, -81.5088347"; // vos coordonnées de localisation
Vous pouvez également modifier les données à afficher sur cette partie du code
//mettre à jour le texte d'affichage aux nouvelles conditions météorologiques
message = ""; // obtient la condition courante String condition = result["current"]["condition"]["text"]; appendMessage(condition); appendMessage(" "); String temp_c = result["current"]["temp_c"]; appendMessage(temp_c); appendMessage("C"); appendMessage(" "); String humidity = result["current"]["humidité"]; appendMessage(humidité); appendMessage("H"); appendMessage(" ");
Par exemple, si vous souhaitez ajouter wind_mph à partir du résultat de l'api apixu:
String wind_mph = result["current"]["wind_mph"];
appendMessage(wind_mph); appendMessage("Vent mph"); appendMessage(" ");
Obtenez le code complet ici Voir sur GitHub
Étape 4: Terminez
Une fois flashé, il essaiera de se connecter à votre WiFI et récupérera vos conditions météorologiques, votre température et votre humidité !
Assurez-vous d'avoir une connexion Internet.
Besoin d'aide?
N'hésitez pas à commenter ici.
Soutenez le projet à partir de ce repo Github
github.com/imjeffparedes/iot-simple-weath…
Veuillez également voter pour moi sur le concours Internet des objets.:)
Deuxième prix du concours Internet des objets 2017