Stap 4: De Software
De laatste stap! Heel belangrijk, de software.
Als u hebt gebruikt mijn PCB ontwerp vervolgens programmering kan gebeuren binnen de Arduino IDE. Stel de boord in de IDE aan generieke ESP8266 module. Het weerstation verbinden met uw PC met behulp van een micro USB-kabel. De COM-poort die u nodig hebt, hangt af van het COM-nummer dat uw PC gaf aan het weerstation. U kunt dit vinden in het apparaat manager onder poorten. De snelheid/baudrate die mijn ESP8266 kwam met is 115200 dus dat is wat ik heb ingesteld in de IDE.
Druk op de schakelaars op het bord: eerste S2 dan S1, S2, gevolgd door S1 laat. Het blauwe lampje van de ESP-07 knippert kort en de ESP8266 is in bootloader wijze, klaar om te uploaden van de schets.
De code is vrij zelf uitleggen en om uit te leggen wat elk onderdeel doet heeft besproken.
Binnen de code is er een deel dat met begint:
/ *** beginnen instellingen *** /
en eindigt met:
/ *** einde instellingen *** /
In dit gedeelte moet u in te vullen enkele details voor uw lokale wifi, Wunderground en Thingspeak rekeningen.
- Uw WiFi-referenties moeten worden ingevuld in de schets
- U wilt Maak een (gratis!) account op wunderground.com en krijg een API-sleutel mee, vul dit in de schets
- U moet de naam van uw lokale weerstation op wunderground.com vinden, meestal is de naam van uw stad in hoofdsteden maar opzoeken op hun site en vul dit in uw schets
- Hebt u uw eigen Thingspeak weerstation ook dan je moet om in te vullen de schets uw Thingspeak kanaal-ID en API-sleutel
- Als u niet hebt gebruikt mijn PCB design of schematische misschien moet u om sommige dingen met betrekking tot de pin gebruikt voor de DHT22 en/of OLED SCL + SDA lijnen te veranderen
U kunt opgeven hoeveel pagina's u wilt weergeven op uw OLED paneel met deze variabele in de code: int numberOfFrames = 6;
Dus bijvoorbeeld als u wilt overslaan van de Thingspeak-functie die u wilt veranderen dit int numberOfFrames = 5;
Ook moet u uitschakelen van de code voor dat frame. Er is een functie die bepaalt wat in dat frame weer te geven voor elk frame. Thingspeak voorbeeld zijn drawFrame5 dus zoek die en verwijderen of commentaar het uit. Ik denk dat het nodig is zo goed dat u opnieuw de naam drawFrame6 te drawFrame5 nu.
Als u wilt toevoegen van een frame dan gewoon opnieuw opgeven int numberOfFrames = newnrofframes; Kopieer een van de functies drawFrameX en verandering om wat ik wil laten zien van kopiëren/plakken code van de andere frames. Ik heb niet geprobeerd het nog.
Als u wilt bepalen van de RGB led-fading voegde ik de Adafruit Neopatterns klasse in de code. Ik voegde ook 2 functies:
1. nietig update_fading_of_my_neopixels(void) //this functie elke 1mS wordt aangeroepen met de optie Ticker in de ESP8266 pakketten. Hiermee werkt u de neopixel fading patroon elke 1mS zonder interferentie met de glijden op het OLED deelvenster frames.
2. change_neopixel_color(void) //in deze functie die ik veranderen de kleur van de RGB LED's afhankelijk van het weer voorspeld. Het is nog niet perfect, maar het idee is duidelijk en u kunt gemakkelijk aan te passen naar uw eigen wens.
Dat was het mensen! Ik hoop dat u genoten van mijn (eerste) instructable en dat vele acryl gloeiende weerstations in de wereld het licht ziet!