Akryl blad RGB glödande väderstation med inomhus/utomhus/prognos med ESP8266 (4 / 4 steg)
Steg 4: Programvaran
Det sista steget! Mycket viktigt, programvaran.
Om du har använt min PCB design sedan programmering kan göras inuti Arduino IDE. Som styrelsen i IDE till generiska ESP8266 modul. Anslut Väderstationen till datorn med en micro USB-kabel. Den COM port du behöver beror på COM-nummer som din PC gav till Väderstationen. Du kan hitta detta i enheten manager under portar. Hastighet/vilket baudvärde som min ESP8266 kom med är 115200 så det är vad jag har ställt i IDE.
Tryck på växlarna i styrelsen: första S2 och S1, sedan släpp sedan S2 följt av S1. Den blå lampan på ESP-07 blinkar kort och ESP8266 är i bootloader läge, redo att ladda upp skissen.
Koden är ganska självförklarande och har kommenterats för att förklara vad varje del gör.
I koden finns det en del som börjar med:
/ *** börjar inställningar *** /
och avslutas med:
/ *** avsluta inställningar *** /
I det här avsnittet måste du fylla i några Detaljer för din lokala wifi, Wunderground och Thingspeak konton.
- Din WiFi autentiseringsuppgifter måste fyllas i i skissen
- Du måste skapa ett konto (kostnadsfritt!) på wunderground.com och få en API-nyckel med det, fylla i skissen
- Du behöver hitta på wunderground.com namnet på din lokala väderstation, oftast det är namnet på din stad i huvudstäderna men slå upp det på deras webbplats och fylla i detta i din skiss
- Om du har din egen Thingspeak väderstation samt då du behöver fylla i skissen din Thingspeak kanal-ID och API nyckel
- Om du inte använder min PCB design eller Schematisk kanske måste du ändra några saker om PIN-koden används för DHT22 och/eller OLED SCL + SDA linjer
Du kan ange hur många sidor du vill visa på din OLED panel med denna variabel i koden: int numberOfFrames = 6;
Så till exempel om du vill hoppa över funktionen Thingspeak måste du ändra detta till int numberOfFrames = 5;
Också måste du inaktivera koden för ramen. För varje ram finns en funktion som definierar vad Visa i ramen. För Thingspeak exempel det är drawFrame5 så leta upp det och ta bort den eller kommentera ut. Jag tror det behövs också att du ändra namn drawFrame6 till drawFrame5 nu.
Om du vill lägga till en ram sedan bara åter ange int numberOfFrames = newnrofframes; kopiera en av dessa funktioner drawFrameX och ändra det till vad jag vill visa kopiera/klistra in koden från andra ramar. Jag försökte det inte ännu.
För att styra RGB ledde blekning la jag klassen Adafruit Neopatterns i koden. Jag lade också till 2 funktioner:
1. Tom update_fading_of_my_neopixels(void) //this funktion kallas varje 1mS med alternativet Ticker från de ESP8266 paket. Detta uppdaterar neopixel blekning mönstret varje 1mS utan att störa bildrutorna glidande på panelen OLED.
2. change_neopixel_color(void) //in funktionen jag ändra färg på RGB lysdioder beroende på vädret prognos. Det är inte perfekt ännu men tanken är klar och du kan enkelt anpassa det till din egen smak.
Det var det människor! Jag hoppas du gillade mitt (första) instructable och att många akryl glödande väderstationer i världen kommer att se ljuset!