Indholdsfortegnelse:
- Trin 1: Ting, der bruges i dette projekt
- Trin 2: Historie
- Trin 3: Download nødvendige filer
- Trin 4: Saml
- Trin 5: Programmer
- Trin 6: Gør det bærbart
- Trin 7: Konklusion
- Trin 8: Kode
Video: Dato, tid og temperaturvisning ved hjælp af XinaBox: 8 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Fedt OLED -display, der viser dato, tid og temperatur i Celsius og Fahrenheit ved hjælp af Xinabox xChips baseret på ESP8266.
Trin 1: Ting, der bruges i dette projekt
Hardware komponenter
- XinaBox IP01 x 1 xChip USB Programmerer baseret på FT232R fra FTDI Limited
- XinaBox CW01 x 1 xChip Wi-Fi Core baseret på ESP8266 Wi-Fi-modul
- XinaBox SW01 x 1 xChip Temperatur-, luftfugtigheds- og atmosfærisk trykføler baseret på BME280 fra Bosch.
- XinaBox OD01 x 1 xChip 128x64 Pixel OLED -skærm
- XinaBox PU01 x 1 xChip USB (type A) strømforsyning
- XinaBox XC10 x 1 xChip -busstik
- 5V USB strømforsyning x 1
Software -apps og onlinetjenester
Arduino IDE
Trin 2: Historie
Introduktion
Jeg byggede dette projekt for at vise dato, UCT -tid og temperatur ved hjælp af XinaBox xChips, der bruger I2C -busprotokollen. Tiden blev hentet fra en google NTP -server. Omgivelsestemperaturen blev målt ved hjælp af SW01 xChip og blev vist på OD01 xChip OLED -displayet i Celsius og Fahrenheit. Billedet herunder viser OLED -displayet.
OLED viser dato, tid og temperatur
Trin 3: Download nødvendige filer
Du skal bruge følgende biblioteker og software til dette projekt.
- Arduino IDE - Udviklingssoftware, hvor du vil kode
- xSW01 - Temperatursensorbibliotek
- xCore - Core -bibliotek til XinaBox xChips
- xOD01 - OLED Display bibliotek.
- Tidszone - Bibliotek for at vælge din tidszone
- Tid - Til brug af tidsfunktioner
- NTPClient - Gør det muligt at få tid fra en server
- Du skal også downloade ESP8266 -kortet og følge instruktionerne, der følger med det, for at få kortet installeret
Når den er downloadet, installerer du IDE og bibliotekerne. Det er ret ligetil, hvis du følger instruktionerne.
Trin 4: Saml
Dit vigtigste xChip, der vil udføre og behandle programmet, er CW01. Det er baseret på ESP8266 WiFi -modulet og bruger I2C -busprotokollen. For at kunne programmere til CW01 skal du bruge et programmerings xChip. IP01 giver os mulighed for at programmere CW01 via USB -porten på vores computer ved blot at klikke sammen de to xChips ved hjælp af XC10 -busstik og indsætte den i USB -porten. Ingen ledninger og ingen lodning nødvendig. En ting at være opmærksom på er orienteringen af xChip -identifikationsnavnene. De skal alle orienteres i samme retning. Du skal nu have følgende opsætning.
Klik sammen CW01 og IP01, og indsæt den i USB -porten på din computer
Hvis du kender xChips, kan du forbinde hvert xChip sammen ved hjælp af XC10 -busstik, som du vil bruge til dit projekt, og derefter indsætte det i USB -porten. Vi bruger SW01 temperatursensor og OD01 OLED display.
Du kan forbinde alle dine chips sammen og derefter indsætte dem i din USB -port
Trin 5: Programmer
Download eller kopier og indsæt nedenstående kode i din Arduino IDE. Hvis du ikke foretager ændringer af koden, skal du blot indtaste dine WiFi -oplysninger i deres respektive felter som vist nedenfor. Indtast også en pålidelig NTP -tidsserver. Jeg har brugt en Google -tidsserver til dette projekt.
WiFi -detaljer og NTP -tidsserver
Nu kompilere og uploade. Sørg for, at du har valgt den korrekte COM -port og -kort under værktøjsmenuen i Arduino IDE. Når den er uploadet, skal tid, dato og temperatur vises som nedenfor.
Efter upload skal du se følgende
Trin 6: Gør det bærbart
Du kan nu fjerne enheden fra din USB -port og adskille hver xChip ved blot at trække den fra hinanden. Da programmeringen er fuldført, er IP01 ikke længere påkrævet. Du kan nu forbinde dit projekt på enhver måde, du ønsker, så længe identifikationsnavnene alle er orienteret i samme retning. For at drive vores enhed bruger vi PU01. Dette giver os mulighed for at forsyne den fra en normal powerbank eller en hvilken som helst 5V USB -strømforsyning. Jeg har tilsluttet min som vist herunder.
Sidste samling. xChips kan forbindes på enhver måde, du ønsker.
Trin 7: Konklusion
Dette projekt tager 20 minutter at fuldføre. Hvis du vil have tiden på din placering, kan du overveje at kigge på eksempelkoden i tidszone -biblioteket eller lave en regning med UTC -tiden. Der blev ikke brugt ledninger, og der var ikke behov for lodning.
Trin 8: Kode
Date_Time_Temp.ino Arduino Du skal blot indtaste dine WiFi -detaljer i deres respektive felter og uploade til dit board.
#include // inkluderer kernebibliotek til XinaBox xCHIPS
#include // inkluderer OLED -displaybibliotek #include // inkluderer temperatursensorbiblioteket #include // inkluderer ESP8266WiFi -funktionalitet #include // inkluderer tidsbiblioteker #include #include #include #include #include xSW01 SW01; // definere NTP -egenskaber #define ntpOffset 60 * 60 // i sekunder #define ntpInterval 60 * 1000 // i milisekunder // indsæt en pålidelig ntp -tidsserver mellem de dobbelte citater // her har jeg brugt en google ntp -tidsserver # definere ntpAddress "time1.google.com" // konfigurer NTP UDP -klienten WiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, ntpAddress, ntpOffset, ntpInterval); // temperatur variabel flyde tempC; // celsius float tempF; // fahrenheit // dine wifi -detaljer const char* wifi_ssid = "XinaBox"; // din wifi ssid const char* wifi_pass = "RapidIoT"; // din wifi -adgangskode // dato og tidsvariabel String date; String clktime; // variabler, der indeholder dage og måneder const char * days = {"søndag", "mandag", "tirsdag", "onsdag", "torsdag", "fredag", "lørdag"}; const char * months = {"Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sep", "Oct", "Nov "," Dec "}; const char * ampm = {"AM", "PM"}; ugyldig opsætning () {tempC = tempF = 0; // initialiser temperaturen til nul timeClient.begin (); // start NTP UDP -klienten // start seriel kommunikation Serial.begin (115200); // start i2c -kommunikation og sæt pins Wire.begin (2, 14); // start temperatursensor SW01.begin (); // start OLED -skærm OLED.begin (); // slet OLED -display OD01.clear (); // etablere wifi -forbindelse wifi_connect (); forsinkelse (1000); } void loop () {// kør, hvis wifi -forbindelse er etableret, hvis (WiFi.status () == WL_CONNECTED) {SW01.poll (); // læs temperatur tempC = SW01.getTempC (); // lagre temp i celcius tempF = SW01.getTempF (); // gemme temp i fahrenheit date = ""; // clear date variable clktime = ""; // ryd tidsvariabel // opdater ntp -klienten og få unix utc tidsstempel timeClient.update (); usigneret lang epochTime = timeClient.getEpochTime (); // konverter modtaget tidsstempel til time_t objekt time_t utc; utc = epochTime; // utc time TimeChangeRule utcRule = {"UTC", Sidste, søn, mar, 1, 0}; Tidszone UTC (utcRule, utcRule); // format tidsvariabler dato += dage [hverdag (utc) - 1]; dato += ","; dato += måneder [måned (utc) - 1]; dato += ""; dato += dag (utc); dato += ","; dato += år (utc); // formater tiden til 12-timers format med AM/PM og uden sekunder clktime += hourFormat12 (utc); clktime += ":"; hvis (minut (utc)
Anbefalede:
ESP8266 OLED - Få tid og dato fra Internettet: 8 trin
ESP8266 OLED - Få tid og dato fra internettet: I denne vejledning lærer vi, hvordan du får dato og klokkeslæt fra NIST TIME -server ved hjælp af ESP8266 OLED og Visuino, Se en demonstrationsvideo
Få tid og dato fra internettet - selvstudium: 9 trin
Få tid og dato fra internettet - selvstudium: I denne vejledning lærer vi, hvordan du får dato og klokkeslæt fra NIST TIME -server ved hjælp af M5Stack StickC og Visuino, Se en demonstrationsvideo
Arduino dato/tid plotte/logge ved hjælp af Millis () og PfodApp: 11 trin
Arduino Date/Time Plotting/Logging Using Millis () og PfodApp: Ingen Arduino- eller Android -programmering påkrævet. RTC- og GPS -moduler understøttes også. Automatisk korrektion for tidszoner, RTC -drift og GPS mangler springsekunder Introduktion Denne tutorial viser dig, hvordan du bruger din Arduino millis ( ) tidsstempler til at plotte data ag
Ur Med IR -fjernbetjening til indstillinger for tid/dato: 5 trin
Ur med IR -fjernbetjening til indstillinger for tid/dato: Dette er et simpelt ur fremstillet ved hjælp af let tilgængelige komponenter. Den anvendte mikrokontroller er en billig STM32F030F4P6. Displayet er en 16x2 LCD med I2C -rygsæk (PCF8574). Urkredsløbet kan bygges ved hjælp af små prototyper og en TSSOP
En sød dato, tid og temperatur displayenhed: 3 trin
En sød dato-, klokkeslæt- og temperaturvisningsenhed: Hej venner, I denne instrukser vil jeg forklare proceduren for at lave en dato, klokkeslæt og aktuel temperaturvisningsenhed ved hjælp af Arduino pro mini, en RTC og ottecifret syv segment display i en meget kompakt enhed, hvilket er en nyttig enhed