Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Over het project
Ik zal je laten zien hoe je een mini-weerstatusdisplay kunt maken van een 8x8 matrixdisplay.
Ik zal Genuino MKR1000 gebruiken om temperatuur, vochtigheid en weersomstandigheden op een geselecteerde locatie op te halen.
Status weergeven om in een dia-animatiepatroon weer te geven.
Uitdagingen
Aangezien 8x8 Matrix in feite een reeks LED's is, moet ik het programmeren om tekst- en animatie-effecten weer te geven
In dit project leer je ook hoe je
- verbruik rest webservice api
- hoe Json-gegevens te parseren
- hoe threads en wifi-bibliotheken in Arduino te gebruiken
Stap 1: Monteer MKR1000 en 8x8 display op mini broodplank
De installatie is vrij eenvoudig, we hoeven alleen het 8x8-matrixdisplay aan onze microcontroller te bevestigen.
Vereisten
- 16 stuks man-vrouw truien
- Mini Broodplank
- Microcontroller
- 8x8 matrixweergave'
Montageweergave
Verdeel je truien in een groep van 8 stuks.
Zorg ervoor dat de jumperdraden perfect zijn uitgelijnd.
Sluit de 8 vrouwelijke jumpers aan op de eerste 8 pinnen van het matrixdisplay.
Sluit de andere 8 vrouwelijke jumpers aan op de 2e 8 pinnen van het matrixdisplay.
Bevestig aan microcontroller
Bevestig de microcontroller aan het mini breadboard
Gebruik de mannelijke pinnen aan het uiteinde van de jumperdraden en steek ze in de eerste 8 gaten waar de microcontrollerpinnen zijn bevestigd (5-A5).
Steek de resterende gaten in de andere 8 gaten waar de microcontoller-pinnen zijn bevestigd (6-13).
Stel het 8x8 Matrix-display zo af dat het naar voren is gericht wanneer u het op tafel plaatst.
Stap 2: Maak uw Weather API-account aan
Om volledig Internet of Things te heten, moeten we wat gegevens van internet halen.
Ik heb APIXU API gebruikt om weergegevens op te halen van mijn geselecteerde locatie.
Meld u hier aan voor het account https://www.apixu.com/login.aspx en ontvang uw account-API-sleutel.
Voel je vrij om mijn eigen api-sleutel te gebruiken
String apiKey = "8f0ff191defb4a20b5583518171203"; // uw apixu api-sleutel
Stap 3: Flash uw MKR1000
Download hier de volledige code Bekijk op GitHub
Voel je vrij om problemen of herzieningen in te dienen:)
Voeg HexFont.h toe aan uw Arduino-bibliotheken.
Gebruik simple_weather_display.ino om je microcontroller te flashen.
Op dit deel van de code:
Vervang door uw wifi-instellingen
char ssid = ""; // uw netwerk-SSID (naam)
char pass = ""; // uw netwerkwachtwoord (gebruik voor WPA of gebruik als sleutel voor WEP)
Vervang door uw Apixu Api Key en locatiecoördinaten
String apiKey = "8f0ff191defb4a20b5583518171203"; // uw apixu api-sleutel
Stringcoördinaten = "28.4810971, -81.5088347"; // uw locatie coördinaten
U kunt ook wijzigen welke gegevens op dit deel van de code moeten worden weergegeven
// update displaytekst naar nieuwe weersomstandigheden
bericht = ""; // haal de huidige voorwaarde op. String condition = resultaat ["huidige"]["voorwaarde"]["tekst"]; appendMessage (voorwaarde); appendMessage(" "); String temp_c = resultaat["huidige"]["temp_c"]; appendMessage(temp_c); appendMessage("C"); appendMessage(" "); String vochtigheid = resultaat ["huidige"]["vochtigheid"]; appendMessage (vochtigheid); appendMessage("H"); appendMessage(" ");
Als u bijvoorbeeld wind_mph van het apixu api-resultaat wilt toevoegen:
String wind_mph = resultaat["current"]["wind_mph"];
appendMessage(wind_mph); appendMessage ("Wind mph"); appendMessage(" ");
Download hier de volledige code Bekijk op GitHub
Stap 4: Eindig
Eenmaal geflitst, zal het proberen verbinding te maken met uw wifi en uw weersomstandigheden, temperatuur en vochtigheid ophalen!
Zorg ervoor dat je een internetverbinding hebt.
Hulp nodig?
Voel je vrij om hier commentaar te geven.
Ondersteun het project vanuit deze Github-repo
github.com/imjeffparedes/iot-simple-weath…
Stem ook op mij op de Internet of Things-wedstrijd.:)
Tweede prijs in de Internet of Things-wedstrijd 2017