Innholdsfortegnelse:
- Trinn 1: Ting som brukes i dette prosjektet
- Trinn 2: Historie
- Trinn 3: Last ned nødvendige filer
- Trinn 4: Monter
- Trinn 5: Program
- Trinn 6: Gjør det bærbart
- Trinn 7: Konklusjon
- Trinn 8: Kode
Video: Dato, tid og temperaturvisning ved hjelp av XinaBox: 8 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Kult OLED -display som viser dato, klokkeslett og temperatur i Celsius og Fahrenheit ved bruk av Xinabox xChips basert på ESP8266.
Trinn 1: Ting som brukes i dette prosjektet
Maskinvarekomponenter
- XinaBox IP01 x 1 xChip USB -programmerer basert på FT232R fra FTDI Limited
- XinaBox CW01 x 1 xChip Wi-Fi Core basert på ESP8266 Wi-Fi-modul
- XinaBox SW01 x 1 xChip Temperatur-, fuktighets- og atmosfærisk trykksensor basert på BME280 fra Bosch.
- XinaBox OD01 x 1 xChip 128x64 piksel OLED -skjerm
- XinaBox PU01 x 1 xChip USB (Type A) strømforsyning
- XinaBox XC10 x 1 xChip -busskontakter
- 5V USB strømforsyning x 1
Programvare -apper og online -tjenester
Arduino IDE
Trinn 2: Historie
Introduksjon
Jeg bygde dette prosjektet for å vise dato, UCT -tid og temperatur ved hjelp av XinaBox xChips som bruker I2C -bussprotokollen. Tiden ble hentet fra en Google NTP -server. Omgivelsestemperaturen ble målt ved bruk av SW01 xChip og ble vist på OD01 xChip OLED -skjermen i Celsius og Fahrenheit. Bildet nedenfor viser OLED -skjermen.
OLED viser dato, klokkeslett og temperatur
Trinn 3: Last ned nødvendige filer
Du trenger følgende biblioteker og programvare for dette prosjektet.
- Arduino IDE - Utviklingsprogramvare der du vil kode
- xSW01 - Temperatursensorbibliotek
- xCore - Kjernebibliotek for XinaBox xChips
- xOD01 - OLED Display -bibliotek.
- Tidssone - Bibliotek for å velge tidssone
- Tid - For å bruke tidsfunksjoner
- NTPClient - Lar deg få tid fra en server
- Du må også laste ned ESP8266 -kortet og følge instruksjonene som følger med det for å få kortet installert
Når den er lastet ned, installerer du IDE og bibliotekene. Det er ganske rett frem hvis du følger instruksjonene.
Trinn 4: Monter
Din viktigste xChip som vil utføre og behandle programmet er CW01. Den er basert på ESP8266 WiFi -modulen og bruker I2C -bussprotokollen. For å programmere til CW01 trenger du en programmering xChip. IP01 lar oss programmere CW01 via USB -porten på datamaskinen vår ved å klikke sammen de to xChipene ved hjelp av XC10 -busskontakter og sette den inn i USB -porten. Ingen ledninger og ingen lodding nødvendig. En ting å merke seg er orienteringen til xChip -identifikasjonsnavnene. De bør alle være orientert i samme retning. Du bør nå ha følgende oppsett.
Klikk sammen CW01 og IP01 og sett den inn i USB -porten på datamaskinen
Hvis du er kjent med xChips, kan du koble hvert xChip sammen ved hjelp av XC10 -busskontakter som du vil bruke til prosjektet ditt og deretter sette det inn i USB -porten. Vi bruker SW01 temperatursensor og OD01 OLED -skjermen.
Du kan koble alle sjetongene dine sammen og deretter sette dem inn i USB -porten
Trinn 5: Program
Last ned eller kopier og lim inn koden nedenfor i Arduino IDE. Hvis du ikke gjør noen endringer i koden, bare skriv inn WiFi -detaljene i de respektive feltene som vist nedenfor. Skriv også inn en pålitelig NTP -tidsserver. Jeg har brukt en Google -tidsserver til dette prosjektet.
WiFi -detaljer og NTP -tidsserver
Nå kompiler og last opp. Sørg for at du har valgt riktig COM -port og -kort under verktøymemenyen i Arduino IDE. Når den er lastet opp, skal tid, dato og temperatur vises som nedenfor.
Etter opplasting bør du se følgende
Trinn 6: Gjør det bærbart
Du kan nå fjerne enheten fra USB -porten og skille hver xChip ved å trekke den fra hverandre. Siden programmeringen er fullført, er det ikke lenger nødvendig med IP01. Du kan nå koble prosjektet ditt på hvilken som helst måte du ønsker så lenge identifikasjonsnavnene alle er orientert i samme retning. For å drive enheten vår bruker vi PU01. Dette gjør at vi kan koble den fra en vanlig strømbank eller hvilken som helst 5V USB -strømforsyning. Jeg har koblet min som vist nedenfor.
Sluttmontering. xChips kan kobles til på hvilken som helst måte du ønsker.
Trinn 7: Konklusjon
Dette prosjektet vil ta 20 minutter å fullføre. Hvis du vil ha tiden der du befinner deg, kan du vurdere å se på eksempelkoden i tidssonebiblioteket eller regne med UTC -tiden. Ingen ledninger ble brukt og det var ikke nødvendig med lodding.
Trinn 8: Kode
Date_Time_Temp.ino Arduino Bare skriv inn WiFi -detaljene i de respektive feltene og last opp til brettet ditt.
#include // inkluderer kjernebibliotek for XinaBox xCHIPS
#include // inkluderer OLED -visningsbibliotek #include // inkluderer temperatursensorbiblioteket #include // inkluderer ESP8266WiFi -funksjonalitet #include // inkluderer tidsbiblioteker #include #include #include #include #include xSW01 SW01; // definere NTP -egenskaper #definere ntpOffset 60 * 60 // i sekunder #define ntpInterval 60 * 1000 // i milisekunder // sett inn en pålitelig ntp -tidsserver mellom doble anførselstegn // her har jeg brukt en google ntp -tidsserver # definere ntpAddress "time1.google.com" // konfigurere NTP UDP -klienten WiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, ntpAddress, ntpOffset, ntpInterval); // temperaturvariabel flyte tempC; // celsius flyte tempF; // fahrenheit // dine wifi -detaljer const char* wifi_ssid = "XinaBox"; // din wifi ssid const char* wifi_pass = "RapidIoT"; // wifi -passordet ditt // dato- og tidsvariabel String date; String klokkeslett; // variabler som inneholder dager 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 "," Des "}; const char * ampm = {"AM", "PM"}; ugyldig oppsett () {tempC = tempF = 0; // initialiser temperaturen til null timeClient.begin (); // start NTP UDP -klienten // start seriell kommunikasjon Serial.begin (115200); // start i2c kommunikasjon og sett pins Wire.begin (2, 14); // start temperatursensor SW01.begin (); // start OLED -skjerm OLED.begin (); // klar OLED -skjerm OD01.clear (); // opprette wifi -tilkobling wifi_connect (); forsinkelse (1000); } void loop () {// kjør hvis wifi -tilkobling er opprettet hvis (WiFi.status () == WL_CONNECTED) {SW01.poll (); // lese temperatur tempC = SW01.getTempC (); // lagre temp i celcius tempF = SW01.getTempF (); // lagre temp i fahrenheit date = ""; // clear date variable clktime = ""; // slett tidsvariabel // oppdater ntp -klienten og få unix utc tidsstempel timeClient.update (); usignert lang epochTime = timeClient.getEpochTime (); // konvertere mottatt tidsstempel til time_t objekt time_t utc; utc = epochTime; // utc time TimeChangeRule utcRule = {"UTC", Siste, søn, mar, 1, 0}; Tidssone UTC (utcRule, utcRule); // format tidsvariabler dato += dager [ukedag (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 ingen sekunder clktime += hourFormat12 (utc); clktime += ":"; hvis (minutt (utc)
Anbefalt:
ESP8266 OLED - Få tid og dato fra Internett: 8 trinn
ESP8266 OLED - Få tid og dato fra internett: I denne opplæringen lærer vi hvordan du får dato og klokkeslett fra NIST TIME -serveren ved hjelp av ESP8266 OLED og Visuino, Se en demonstrasjonsvideo
Få tid og dato fra Internett - Opplæring: 9 trinn
Få tid og dato fra internett - opplæring: I denne opplæringen lærer vi hvordan du får dato og klokkeslett fra NIST TIME -serveren ved hjelp av M5Stack StickC og Visuino, Se en demonstrasjonsvideo
Arduino Dato/Tid Plotting/Logging Bruke Millis () og PfodApp: 11 trinn
Arduino Date/Time Plotting/Logging Using Millis () og PfodApp: Ingen Arduino- eller Android -programmering nødvendig. RTC- og GPS -moduler støttes også. Automatisk korreksjon for tidssoner, RTC -drift og GPS mangler sprang sekunder Introduksjon Denne opplæringen viser deg hvordan du bruker Arduino millis ( ) tidsstempler for å plotte data ag
Klokke med IR -fjernkontroll for innstillinger for tid/dato: 5 trinn
Klokke med IR -fjernkontroll for innstillinger for tid/dato: Dette er en enkel klokke som er laget med lett tilgjengelige komponenter. Mikrokontrolleren som brukes er en billig STM32F030F4P6. Displayet er en 16x2 LCD -skjerm med I2C -ryggsekk (PCF8574). Klokkekretsen kan bygges ved hjelp av små prototyper og en TSSOP
Skyv dato og klokkeslett til Blynk -appen ved hjelp av Wemos D1 Mini Pro: 10 trinn
Skyv dato og klokkeslett til Blynk -appen ved hjelp av Wemos D1 Mini Pro: Vi bruker Wemos D1 Mini Pro til å skyve tiden & dato for Blynk -appen. Du trenger ikke koble noen komponenter til Wemos D1 Mini Pro for denne aktiviteten