Satura rādītājs:
- 1. darbība. Šajā projektā izmantotās lietas
- 2. darbība: stāsts
- 3. darbība: lejupielādējiet nepieciešamos failus
- 4. solis: salieciet
- 5. solis: programma
- 6. darbība: padariet to pārnēsājamu
- 7. solis. Secinājums
- 8. darbība: kods
Video: Datuma, laika un temperatūras displejs, izmantojot XinaBox: 8 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:55
Jauks OLED displejs, kas parāda datumu, laiku un temperatūru pēc Celsija un Fārenheita, izmantojot Xinabox xChips, pamatojoties uz ESP8266.
1. darbība. Šajā projektā izmantotās lietas
Aparatūras komponenti
- XinaBox IP01 x 1 xChip USB programmētājs, kura pamatā ir FTDI Limited FT232R
- XinaBox CW01 x 1 xChip Wi-Fi Core, pamatojoties uz ESP8266 Wi-Fi moduli
- XinaBox SW01 x 1 xChip Temperatūras, mitruma un atmosfēras spiediena sensors, pamatojoties uz Bosch BME280.
- XinaBox OD01 x 1 xChip 128x64 pikseļu OLED displejs
- XinaBox PU01 x 1 xChip USB (A tips) barošanas avots
- XinaBox XC10 x 1 xChip kopņu savienotāji
- 5V USB barošanas avots x 1
Programmatūras lietotnes un tiešsaistes pakalpojumi
Arduino IDE
2. darbība: stāsts
Ievads
Es izveidoju šo projektu, lai parādītu datumu, UCT laiku un temperatūru, izmantojot XinaBox xChips, kas izmanto I2C kopnes protokolu. Laiks tika iegūts no Google NTP servera. Apkārtējās vides temperatūra tika mērīta, izmantojot SW01 xChip, un tika parādīta OD01 xChip OLED displejā pēc Celsija un Fārenheita. Zemāk redzamajā attēlā redzams OLED displejs.
OLED attēlo datumu, laiku un temperatūru
3. darbība: lejupielādējiet nepieciešamos failus
Šim projektam jums būs nepieciešamas šādas bibliotēkas un programmatūra.
- Arduino IDE - attīstības programmatūra, kurā jūs kodēsit
- xSW01 - temperatūras sensoru bibliotēka
- xCore - XinaBox xChips galvenā bibliotēka
- xOD01 - OLED displeja bibliotēka.
- Laika josla - bibliotēka laika joslas izvēlei
- Laiks - lai izmantotu laika funkcijas
- NTPClient - ļauj iegūt laiku no servera
- Lai instalētu dēli, jums būs jālejupielādē arī ESP8266 tāfele un jāizpilda tai pievienotie norādījumi
Pēc lejupielādes instalēsit IDE un bibliotēkas. Tas ir diezgan taisni, ja sekojat norādījumiem.
4. solis: salieciet
Jūsu galvenais xChip, kas izpildīs un apstrādās programmu, ir CW01. Tas ir balstīts uz ESP8266 WiFi moduli un izmanto I2C kopnes protokolu. Lai ieprogrammētu CW01, jums būs nepieciešama programmēšana xChip. IP01 ļauj mums programmēt CW01, izmantojot mūsu datora USB portu, vienkārši noklikšķinot kopā uz abiem xChip, izmantojot XC10 kopnes savienotājus, un ievietojot to USB portā. Nav nepieciešama elektroinstalācija un lodēšana. Viena lieta, kas jāņem vērā, ir xChip identifikācijas nosaukumu orientācija. Viņiem visiem jābūt orientētiem vienā virzienā. Tagad jums vajadzētu būt šādai iestatīšanai.
Noklikšķiniet kopā CW01 un IP01 un ievietojiet to datora USB portā
Ja esat iepazinies ar xChips, varat savienot katru xChip kopā, izmantojot XC10 kopnes savienotājus, kurus vēlaties izmantot savam projektam, un pēc tam ievietojiet to USB portā. Mēs izmantosim SW01 temperatūras sensoru un OD01 OLED displeju.
Jūs varat savienot visas mikroshēmas kopā un pēc tam ievietot to USB portā
5. solis: programma
Lejupielādējiet vai kopējiet un ielīmējiet zemāk esošo kodu savā Arduino IDE. Ja neveicat nekādas izmaiņas kodā, vienkārši ievadiet savu WiFi informāciju attiecīgajos laukos, kā parādīts zemāk. Ievadiet arī uzticamu NTP laika serveri. Šim projektam esmu izmantojis Google laika serveri.
WiFi informācija un NTP laika serveris
Tagad apkopojiet un augšupielādējiet. Pārliecinieties, vai Arduino IDE rīku izvēlnē esat izvēlējies pareizo COM portu un tāfeli. Kad augšupielādēts, laikam, datumam un temperatūrai ir jābūt redzamai zemāk.
Pēc augšupielādes jums vajadzētu redzēt sekojošo
6. darbība: padariet to pārnēsājamu
Tagad jūs varat noņemt ierīci no USB porta un atdalīt katru xChip, vienkārši atdalot to. Tā kā programmēšana ir pabeigta, IP01 vairs nav nepieciešams. Tagad jūs varat savienot savu projektu jebkurā vēlamajā veidā, ja vien identifikācijas nosaukumi ir vērsti vienā virzienā. Lai barotu savu ierīci, mēs izmantosim PU01. Tas ļauj mums to barot no parastās strāvas bankas vai jebkura 5 V USB barošanas avota. Esmu pievienojis savu, kā parādīts zemāk.
Galīgā montāža. xChips var savienot jebkurā vēlamajā veidā.
7. solis. Secinājums
Šī projekta pabeigšana prasīs 20 minūtes. Ja vēlaties, lai laiks būtu jūsu atrašanās vietā, apsveriet iespēju aplūkot koda paraugu Timezone bibliotēkā vai veiciet aritmētiku ar UTC laiku. Netika izmantoti vadi un nebija nepieciešama lodēšana.
8. darbība: kods
Date_Time_Temp.ino Arduino Vienkārši ievadiet savu WiFi informāciju attiecīgajos laukos un augšupielādējiet savā dēlī.
#include // iekļaut XinaBox xCHIPS galveno bibliotēku
#iekļaut // iekļaut OLED displeja bibliotēku #iekļaut // iekļaut temperatūras sensoru bibliotēku #iekļaut // iekļaut ESP8266WiFi funkcionalitāti #iekļaut // iekļaut laika bibliotēkas #iekļaut #iekļaut #iekļaut #iekļaut #iekļaut #iekļaut xSW01 SW01; // definējiet NTP rekvizītus #define ntpOffset 60 * 60 // sekundēs #define ntpInterval 60 * 1000 // milisekundēs // ievietojiet uzticamu ntp laika serveri starp pēdiņām // šeit es izmantoju google ntp laika serveri # definēt ntpAddress "time1.google.com" // iestatīt NTP UDP klientu WiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, ntpAddress, ntpOffset, ntpInterval); // temperatūras mainīgais pludiņa tempC; // Celsija pludiņa tempF; // fahrenheit // jūsu wifi informācija const char* wifi_ssid = "XinaBox"; // jūsu wifi ssid const char* wifi_pass = "RapidIoT"; // jūsu wifi parole // datuma un laika mainīgais String date; Stīgu darbības laiks; // mainīgie, kas satur dienas un mēnešus const char * days = {"svētdiena", "pirmdiena", "otrdiena", "trešdiena", "ceturtdiena", "piektdiena", "sestdiena"}; const char * months = {"Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sep", "Oct", "Nov" "," Dec "}; const char * ampm = {"AM", "PM"}; void setup () {tempC = tempF = 0; // inicializēt temperatūru līdz nullei timeClient.begin (); // palaist NTP UDP klientu // sākt seriālo komunikāciju Serial.begin (115200); // sākt i2c komunikāciju un iestatīt tapas Wire.begin (2, 14); // sākuma temperatūras sensors SW01.begin (); // sākt OLED displeju OLED.begin (); // notīrīt OLED displeju OD01.clear (); // izveidot wifi savienojumu wifi_connect (); kavēšanās (1000); } void loop () {// palaist, ja ir izveidots wifi savienojums, ja (WiFi.status () == WL_CONNECTED) {SW01.poll (); // lasīt temperatūru tempC = SW01.getTempC (); // uzglabāt temperatūru celsijā tempF = SW01.getTempF (); // uzglabāt temperatūru pēc Fārenheita datuma = ""; // notīrīt datuma mainīgo clktime = ""; // notīrīt laika mainīgo // atjaunināt ntp klientu un iegūt unix utc timestamp timeClient.update (); neparakstīts garš epochTime = timeClient.getEpochTime (); // pārvērst saņemto laika zīmogu par time_t objektu time_t utc; utc = epochTime; // utc laiks TimeChangeRule utcRule = {"UTC", Last, Sun, Mar, 1, 0}; Laika josla UTC (utcRule, utcRule); // formatēt laika mainīgos datums += dienas [nedēļas diena (utc) - 1]; datums += ","; datums += mēneši [mēnesis (utc) - 1]; datums += ""; datums += diena (utc); datums += ","; datums += gads (utc); // formatēt laiku līdz 12 stundu formātam ar AM/PM un bez sekundēm clktime += hourFormat12 (utc); clktime += ":"; ja (minūte (utc)
Ieteicams:
Vienkāršs laika displejs, izmantojot Raspberry PI un Cyntech WeatherHAT: 4 soļi
Vienkāršs laika displejs, izmantojot Raspberry PI un Cyntech WeatherHAT: * 2019. gadā Yahoo mainīja savu API, un tas pārstāja darboties. Es nezināju par izmaiņām. 2020. gada septembrī šis projekts tika atjaunināts, lai izmantotu OPENWEATHERMAP API. Skatiet atjaunināto sadaļu zemāk, pārējā šī informācija joprojām ir laba
Arduino datuma/laika zīmēšana/reģistrēšana, izmantojot Millis () un PfodApp: 11 soļi
Arduino datuma/laika zīmēšana/reģistrēšana, izmantojot Millis () un PfodApp: nav nepieciešama Arduino vai Android programmēšana. Tiek atbalstīti arī RTC un GPS moduļi. Automātiska laika joslu korekcija, RTC novirze un GPS trūkstošās lēciena sekundes Ievads Šī apmācība parāda, kā izmantot savu Arduino millis ( ) laika zīmogi datu attēlošanai ag
Arduino 3-in-1 laika un laika displejs: 11 soļi
Arduino 3-in-1 laika un laika displejs: Man patīk PIC mikrokontrolleri un man patīk programmēšana montāžas valodā. Patiesībā pēdējo pāris gadu laikā savā vietnē esmu ievietojis aptuveni 40 projektus, pamatojoties uz šo kombināciju. Nesen es pasūtīju dažas detaļas no viena no maniem iecienītākajiem ASV v
Jauka datuma, laika un temperatūras displeja vienība: 3 soļi
Jauka datuma, laika un temperatūras displeja vienība: Sveiki draugi! Šajā pamācībā es izskaidrošu datuma, laika un pašreizējās temperatūras displeja veidošanas procedūru, izmantojot Arduino pro mini, RTC un astoņu ciparu septiņu segmentu displeju ļoti kompaktā vienībā, kas ir noderīgs rīks
Datuma un laika ievadīšana lietotnē Blynk, izmantojot Wemos D1 Mini Pro: 10 soļi
Datuma un laika pārsūtīšana uz lietotni Blynk, izmantojot Wemos D1 Mini Pro: Mēs izmantosim Wemos D1 Mini Pro, lai paātrinātu laiku & datumu lietotnē Blynk. Lai veiktu šo darbību, jums nebūs jāpievieno komponenti Wemos D1 Mini Pro