Innehållsförteckning:
- Steg 1: Saker som används i detta projekt
- Steg 2: Berättelse
- Steg 3: Ladda ner nödvändiga filer
- Steg 4: Montera
- Steg 5: Program
- Steg 6: Gör det bärbart
- Steg 7: Slutsats
- Steg 8: Kod
Video: Datum, tid och temperaturvisning med hjälp av XinaBox: 8 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Cool OLED -display som visar datum, tid och temperatur i Celsius och Fahrenheit med Xinabox xChips baserat på ESP8266.
Steg 1: Saker som används i detta projekt
Hårdvarukomponenter
- XinaBox IP01 x 1 xChip USB -programmerare baserad på FT232R från FTDI Limited
- XinaBox CW01 x 1 xChip Wi-Fi Core baserad på ESP8266 Wi-Fi-modul
- XinaBox SW01 x 1 xChip Temperatur-, fukt- och atmosfärstryckssensor baserad på BME280 från Bosch.
- XinaBox OD01 x 1 xChip 128x64 pixel OLED -skärm
- XinaBox PU01 x 1 xChip USB (typ A) strömförsörjning
- XinaBox XC10 x 1 xChip -busskontakter
- 5V USB -strömförsörjning x 1
Programvaruappar och onlinetjänster
Arduino IDE
Steg 2: Berättelse
Introduktion
Jag byggde detta projekt för att visa datum, UCT -tid och temperatur med XinaBox xChips som använder I2C -bussprotokollet. Tiden hämtades från en google NTP -server. Omgivningstemperaturen mättes med SW01 xChip och visades på OD01 xChip OLED -displayen i Celsius och Fahrenheit. Bilden nedan visar OLED -displayen.
OLED visar datum, tid och temperatur
Steg 3: Ladda ner nödvändiga filer
Du kommer att behöva följande bibliotek och programvara för detta projekt.
- Arduino IDE - Utvecklingsprogramvara där du kodar
- xSW01 - Temperaturgivarbibliotek
- xCore - Core -bibliotek för XinaBox xChips
- xOD01 - OLED Display -bibliotek.
- Tidszon - bibliotek för att välja din tidszon
- Tid - För att använda tidsfunktioner
- NTPClient - Gör att du kan få tid från en server
- Du måste också ladda ner ESP8266 -kortet och följa instruktionerna som följer med det för att få kortet installerat
När du har laddat ner installerar du IDE och biblioteken. Det är ganska rakt fram om du följer instruktionerna.
Steg 4: Montera
Ditt främsta xChip som kommer att köra och bearbeta programmet är CW01. Den är baserad på ESP8266 WiFi -modulen och använder I2C -bussprotokollet. För att programmera till CW01 behöver du en programmering xChip. IP01 tillåter oss att programmera CW01 via USB -porten på vår dator genom att helt enkelt klicka ihop de två xChipsna med hjälp av XC10 -busskontakter och sätta in den i USB -porten. Ingen ledning och ingen lödning krävs. En sak att notera är orienteringen av xChip -identifieringsnamnen. De bör alla orienteras i samma riktning. Du bör nu ha följande inställningar.
Klicka ihop CW01 och IP01 och sätt in den i USB -porten på din dator
Om du är bekant med xChips kan du ansluta varje xChip tillsammans med XC10 -busskontakter som du vill använda för ditt projekt och sedan sätta in det i USB -porten. Vi kommer att använda SW01 temperatursensor och OD01 OLED -displayen.
Du kan ansluta alla dina chips tillsammans och sedan sätta in dem i din USB -port
Steg 5: Program
Ladda ner eller kopiera och klistra in koden nedan i din Arduino IDE. Om du inte gör några ändringar i koden anger du bara dina WiFi -detaljer i deras respektive fält enligt nedan. Ange också en pålitlig NTP -tidsserver. Jag har använt en Google -tidsserver för det här projektet.
WiFi -detaljer och NTP -tidsserver
Nu kompilera och ladda upp. Se till att du har valt rätt COM -port och kort under verktygsmenyn i Arduino IDE. När den har laddats upp ska tid, datum och temperatur visas enligt nedan.
Efter uppladdning bör du se följande
Steg 6: Gör det bärbart
Du kan nu ta bort enheten från din USB -port och separera varje xChip genom att helt enkelt dra isär den. Eftersom programmeringen är klar krävs inte längre IP01. Du kan nu ansluta ditt projekt på vilket sätt du vill så länge identifieringsnamnen alla är orienterade i samma riktning. För att driva vår enhet kommer vi att använda PU01. Detta gör att vi kan driva den från en vanlig powerbank eller någon 5V USB -strömförsörjning. Jag har anslutit min som visas nedan.
Slutmontering. xChips kan anslutas på vilket sätt du vill.
Steg 7: Slutsats
Detta projekt tar 20 minuter att slutföra. Om du vill ha tiden på din plats kan du överväga att titta på exempelkoden i tidszonsbiblioteket eller räkna lite med UTC -tiden. Inga trådar användes och ingen lödning krävdes.
Steg 8: Kod
Date_Time_Temp.ino Arduino Ange bara dina WiFi -detaljer i deras respektive fält och ladda upp till ditt kort.
#include // inkluderar kärnbibliotek för XinaBox xCHIPS
#inkludera // inkludera OLED -skärmbibliotek #inkludera // inkludera temperatursensorbiblioteket #inkludera // inkludera ESP8266WiFi -funktionalitet #inkludera // inkludera tidsbibliotek #inkludera #inkludera #inkludera #inkludera #inkludera xSW01 SW01; // definiera NTP -egenskaper #definiera ntpOffset 60 * 60 // i sekunder #define ntpInterval 60 * 1000 // i milisekunder // infoga en pålitlig ntp -tidsserver mellan de dubbla citattecken // här har jag använt en google ntp -tidsserver # definiera ntpAddress "time1.google.com" // konfigurera NTP UDP -klienten WiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, ntpAddress, ntpOffset, ntpInterval); // temperaturvariabel float tempC; // celsius float tempF; // fahrenheit // dina wifi -detaljer const char* wifi_ssid = "XinaBox"; // din wifi ssid const char* wifi_pass = "RapidIoT"; // ditt wifi -lösenord // datum- och tidsvariabel Strängdatum; Strängtidstid; // variabler som innehåller dagar och månader const char * days = {"söndag", "måndag", "tisdag", "onsdag", "torsdag", "fredag", "lördag"}; const char * månader = {"Jan", "Feb", "Mar", "Apr", "Maj", "Juni", "Juli", "Aug", "Sep", "Okt", "Nov "," Dec "}; const char * ampm = {"AM", "PM"}; void setup () {tempC = tempF = 0; // initiera temperaturen till noll timeClient.begin (); // starta NTP UDP -klienten // starta seriell kommunikation Serial.begin (115200); // starta i2c -kommunikation och ställ in stift Wire.begin (2, 14); // start temperaturgivare SW01.begin (); // starta OLED -skärmen OLED.begin (); // rensa OLED -skärm OD01.clear (); // upprätta wifi -anslutning wifi_connect (); fördröjning (1000); } void loop () {// kör om wifi -anslutning upprättas om (WiFi.status () == WL_CONNECTED) {SW01.poll (); // läs temperatur tempC = SW01.getTempC (); // lagra temp i celcius tempF = SW01.getTempF (); // lagra temp i fahrenheit date = ""; // rensa datumvariabel clktime = ""; // rensa tidsvariabel // uppdatera ntp -klienten och få unix utc tidsstämpel timeClient.update (); osignerad lång epochTime = timeClient.getEpochTime (); // konvertera mottagen tidsstämpel till time_t objekt time_t utc; utc = epochTime; // utc time TimeChangeRule utcRule = {"UTC", sista, sön, mar, 1, 0}; Tidszon UTC (utcRule, utcRule); // formatera tidsvariabler datum += dagar [vardag (utc) - 1]; datum += ","; datum += månader [månad (utc) - 1]; datum += ""; datum += dag (utc); datum += ","; datum += år (utc); // formatera tiden till 12-timmarsformat med AM/PM och inga sekunder clktime += hourFormat12 (utc); clktime += ":"; om (minut (utc)
Rekommenderad:
ESP8266 OLED - Få tid och datum från Internet: 8 steg
ESP8266 OLED - Hämta tid och datum från Internet: I denna handledning lär vi oss hur man hämtar datum och tid från NIST TIME -servern med ESP8266 OLED och Visuino, Se en demonstrationsvideo
Få tid och datum från Internet - Handledning: 9 steg
Få tid och datum från Internet - Handledning: I den här självstudien lär vi oss hur man hämtar datum och tid från NIST TIME -servern med M5Stack StickC och Visuino, Titta på en demonstrationsvideo
Internetklocka: Visa datum och tid med en OLED med ESP8266 NodeMCU med NTP -protokoll: 6 steg
Internetklocka: Visa datum och tid med en OLED Användning av ESP8266 NodeMCU Med NTP -protokoll: Hej killar i denna instruktioner kommer vi att bygga en internetklocka som kommer att få tid från internet så detta projekt behöver inte någon RTC för att köra, det behöver bara en fungerande internetanslutning Och för detta projekt behöver du en esp8266 som kommer att ha en
Arduino Datum/tid plottning/loggning med Millis () och PfodApp: 11 steg
Arduino Date/Time Plotting/Logging Using Millis () och PfodApp: Ingen Arduino- eller Android -programmering krävs. RTC- och GPS -moduler stöds också. Automatisk korrigering för tidszoner, RTC -drift och GPS som saknar språngsekunder Introduktion Denna handledning visar dig hur du använder din Arduino millis ( ) tidsstämplar för att plotta data ag
Skjuta datum och tid till Blynk -appen med Wemos D1 Mini Pro: 10 steg
Pushing Date and Time to Blynk App Using Wemos D1 Mini Pro: We will use the Wemos D1 Mini Pro to push the time & datum till Blynk -appen. Du behöver inte ansluta några komponenter till Wemos D1 Mini Pro för denna aktivitet