Inhoudsopgave:

ESP8266 Weerstationklok - Ajarnpa
ESP8266 Weerstationklok - Ajarnpa

Video: ESP8266 Weerstationklok - Ajarnpa

Video: ESP8266 Weerstationklok - Ajarnpa
Video: Over Ventilatoren en temperatuur 2024, November
Anonim
ESP8266 Weerstationklok
ESP8266 Weerstationklok

Dit project is een leuke manier om de tijd en het weer in een klein handig pakketje weer te geven. Ik zal het project uitleggen, hoe het werkt en de code hier laten zien.

U kunt op verschillende knoppen drukken om het huidige weer op een ingestelde locatie weer te geven, evenals temperatuur en druk. De standaardweergave is de tijd die wordt opgehaald van een NTP-server.

Het is niet nodig om de tijd in te stellen, aangezien de tijd wordt gesynchroniseerd vanaf de NTP-server en zeer nauwkeurig is. In deze configuratie heb ik de tijd en het lokale IP-adres. U kunt de code wijzigen om datum, weer, druk en temperatuur weer te geven op het hoofdscherm of op de knoppen.

Stap 1: Het schema

het schema
het schema
het schema
het schema

Het schema is relatief eenvoudig en gemakkelijk te

volgen. Er is een gerber-bestand als je je eigen PCB wilt draaien. Het hele circuit wordt aangedreven door 5V afkomstig van een micro-USB-aansluiting. Dit maakt het circuit eenvoudig en gemakkelijk te voeden. De 5V wordt ingevoerd in een Low Dropout 3.3V Regulator een LM 3940 die 3.3V geeft aan de ESP8266. Er is een USB-connector op de ESP8266, maar ik heb ervoor gekozen om deze in het algemeen niet te gebruiken omdat de 5V ook het LCD-scherm aanstuurt.

3.3V moet worden gebruikt met de ESP8266, je kunt het niet rechtstreeks met 5V rijden omdat het het bord zal doden.

De twee tactiele schakelaars zijn verbonden met D5 en D6 en zijn in de code geconfigureerd om verschillende informatie op het scherm weer te geven. Ik heb deze ingesteld op Temperatuur/Druk en Voorspelling.

Alle componenten kunnen eenvoudig met de hand op perfboard worden gesoldeerd of de gerber is beschikbaar in mijn GitHub op

Stap 2: De code

github.com/allenelectronics/esp8266weatherstation

De code is gecompileerd in de Arduino IDE en heeft enige configuratie nodig om te werken

Eerst moet u het ESP8266-bord op de IDE installeren om er code naar te uploaden.

Uitgebreide instructies over hoe u dit kunt doen, vindt u hier:

Om de weerfunctionaliteit te krijgen, heb ik ervoor gekozen om RemoteMe te gebruiken, dat de weergegevens rechtstreeks van de API verzamelt en code genereert die in uw code kan worden ingevoegd. U moet zich registreren en de datastroom instellen op hun website:

Documentatie over RemoteMe is hier te vinden:

Er zijn enkele specifieke definities die uniek zijn voor uw configuratie en die u moet voltooien voordat u ze uploadt:

#define WIFI_NAME "SSID GAAT HIER"

#define WIFI_PASSWORD "WACHTWOORD GAAT HIER"

#define DEVICE_ID 1

#define DEVICE_NAME "VERKRIJGEN VAN REMOTEME. ORG"

#define TOKEN "VERKRIJGEN VAN REMOTEME. ORG"

De definities hier moeten door u worden ingesteld op basis van uw wifi-gegevens en het token dat u van RemoteMe krijgt.

U moet ervoor zorgen dat al deze bibliotheken zijn geïnstalleerd en in de code zijn opgenomen. Ik heb links toegevoegd naar degenen die moeilijker te krijgen zijn.

#include //https://github.com/remoteme/RemoteMeArduinoLibrary

#erbij betrekken

#erbij betrekken

#erbij betrekken

#erbij betrekken

Het laatste deel dat moet worden gewijzigd, is uw locatie, aangezien dit project geen GPS gebruikt. U moet de tekenreeks "LOCATION" wijzigen:

else if(buttonState2 == LAAG && prevButtonState2== HOOG){

Serial.print("LOCATIE\n");

Serieel.println(fc);

lcd.wissen();

lcd.print("LOCATIE");

lcd.setCursor(0, 1);

lcd.print(fc);

lcd.setCursor(0, 0);

vertraging (5000);

prevButtonState2 = buttonState2;

Stap 3: Het bouwen

de bouw
de bouw
de bouw
de bouw

de bouw

Op het moment dat ik geen toegang had tot een 3D-printer, was dit mijn laatste project met een kant-en-klare behuizing. Ik heb een gemakkelijk verkrijgbare behuizing van het alarmpaneel gebruikt die is ontworpen voor het 16x2 LCD-scherm.

Link: https://www.ebay.co.uk/itm/86-Plastic-project-box-enclosure-case-for-diy-LCD1602-meter-tester-with-buttGA/363214674235?hash=item549148193b:g: IvQAAOSwNXpcFFrv

Alles zit in de behuizing, het 16x2 LCD-scherm is op het voorpaneel gelijmd met de printplaat warmgelijmd op zijn plaats.

Stap 4: Conclusie

Conclusie

Dit is een mooi project voor een digitale desktopklok die geen aanpassing of instelling nodig heeft, het kost de tijd van een NTP-server en geeft het weer op een duidelijk verlicht LCD-scherm.

Dit is niet voor een complete beginner, want er is enige configuratie voor de code vereist en er moeten ook gegevensstromen worden ingesteld. Als je vragen of opmerkingen hebt, laat dan gerust een reactie achter.

Aanbevolen: