Orodha ya maudhui:

Tarehe, Saa na Uonyeshaji wa Joto Kutumia XinaBox: Hatua 8
Tarehe, Saa na Uonyeshaji wa Joto Kutumia XinaBox: Hatua 8

Video: Tarehe, Saa na Uonyeshaji wa Joto Kutumia XinaBox: Hatua 8

Video: Tarehe, Saa na Uonyeshaji wa Joto Kutumia XinaBox: Hatua 8
Video: Я ОДЕРЖИМЫЙ ДЕМОНАМИ 2024, Novemba
Anonim
Tarehe, Saa na Uonyeshaji wa Joto Kutumia XinaBox
Tarehe, Saa na Uonyeshaji wa Joto Kutumia XinaBox

Onyesho zuri la OLED linaloonyesha tarehe, saa na joto katika Celsius na Fahrenheit kwa kutumia Xinabox xChips iliyo mbali na ESP8266.

Hatua ya 1: Vitu vinavyotumiwa katika Mradi huu

Vipengele vya vifaa

  • XinaBox IP01 x 1 xChip USB Programu kulingana na FT232R Kutoka FTDI Limited
  • XinaBox CW01 x 1 xChip Wi-Fi Core kulingana na Moduli ya Wi-Fi ya ESP8266
  • XinaBox SW01 x 1 xChip Joto, unyevu na sensor ya shinikizo la anga kulingana na BME280 kutoka Bosch.
  • XinaBox OD01 x 1 xChip 128x64 Pixel OLED Onyesha
  • XinaBox PU01 x 1 xChip USB (Aina A) Ugavi wa Nguvu
  • XinaBox XC10 x 1 xChip Bus Viunganishi
  • Ugavi wa Umeme wa USB 5V x 1

Programu za programu na huduma za mkondoni

Arduino IDE

Hatua ya 2: Hadithi

Utangulizi

Nilijenga mradi huu kuonyesha tarehe, saa na joto la UCT kwa kutumia XinaBox xChips inayotumia itifaki ya basi ya I2C. Wakati ulipatikana kutoka kwa seva ya google NTP. Joto la kawaida lilipimwa kwa kutumia SW01 xChip na ilionyeshwa kwenye onyesho la OD01 xChip OLED huko Celsius na Fahrenheit. Picha hapa chini inaonyesha onyesho la OLED.

Picha
Picha

Tarehe ya kuonyesha OLED, wakati na joto

Hatua ya 3: pakua faili za lazima

Utahitaji maktaba na programu zifuatazo za mradi huu.

  • Arduino IDE - Programu ya Maendeleo ambayo utaandika
  • xSW01 - Maktaba ya sensorer ya joto
  • xCore - Maktaba kuu ya XinaBox xChips
  • xOD01 - OLED Onyesha maktaba.
  • Saa za eneo - Maktaba ya kuchagua saa za eneo lako
  • Muda - Kutumia kazi za wakati
  • Mteja wa NTP - Hukuwezesha kupata wakati kutoka kwa seva
  • Utahitaji pia kupakua bodi ya ESP8266 na kufuata maagizo ambayo yanaambatana nayo ili bodi iwekwe

Mara baada ya kupakuliwa utaweka IDE na maktaba. Ni sawa mbele ikiwa unafuata maagizo.

Hatua ya 4: Kusanyika

XChip yako kuu ambayo itafanya na kusindika programu hiyo ni CW01. Inategemea Moduli ya ESP8266 WiFi na hutumia itifaki ya basi ya I2C. Ili kupanga kwa CW01, utahitaji programu ya xChip. IP01 inaturuhusu kupanga CW01 kupitia bandari ya USB kwenye kompyuta yetu kwa kubofya pamoja xChips mbili kwa kutumia viunganisho vya basi la XC10 na kuiingiza kwenye bandari ya USB. Hakuna wiring na hakuna soldering inahitajika. Jambo moja la kuzingatia ni mwelekeo wa majina ya kitambulisho cha xChip. Wote wanapaswa kuelekezwa kwa mwelekeo mmoja. Unapaswa sasa kuwa na usanidi ufuatao.

Picha
Picha

Bonyeza pamoja CW01 na IP01 na uiingize kwenye bandari ya USB kwenye kompyuta yako

Ikiwa unajua xChips unaweza kuunganisha kila xChip pamoja kwa kutumia viunganisho vya basi vya XC10 ambavyo unataka kutumia kwa mradi wako kisha uiingize kwenye bandari ya USB. Tutatumia sensorer ya joto ya SW01 na onyesho la OD01 OLED.

Picha
Picha

Unaweza kuunganisha chips zako zote pamoja na kisha kuziingiza kwenye bandari yako ya USB

Hatua ya 5: Programu

Pakua au unakili na ubandike nambari hapa chini kwenye IDE yako ya Arduino. Ikiwa haufanyi mabadiliko yoyote kwa nambari ingiza tu maelezo yako ya WiFi katika uwanja wao kama inavyoonyeshwa hapa chini. Pia ingiza seva ya kuaminika ya wakati wa NTP. Nimetumia seva ya wakati wa Google kwa mradi huu.

Picha
Picha

Maelezo ya WiFi na seva ya wakati wa NTP

Sasa tunga na upakie. Hakikisha umechagua bandari sahihi ya COM na bodi chini ya menyu ya zana kwenye Arduino IDE. Mara baada ya kupakiwa, wakati, tarehe na joto vinapaswa kuonyesha kama ilivyo hapo chini.

Picha
Picha

Baada ya kupakia unapaswa kuona yafuatayo

Hatua ya 6: Ifanye iweze Kubebeka

Sasa unaweza kuondoa kitengo kutoka kwa bandari yako ya USB na utenganishe kila xChip kwa kuivuta tu. Kwa kuwa programu imekamilika, IP01 haihitajiki tena. Sasa unaweza kuunganisha mradi wako kwa njia yoyote ile unayotaka mradi tu majina ya kitambulisho yameelekezwa kwa mwelekeo mmoja. Kuimarisha kitengo chetu tutatumia PU01. Hii inatuwezesha kuiweka umeme kutoka kwa benki ya kawaida ya umeme au usambazaji wowote wa umeme wa 5V USB. Nimeunganisha yangu kama inavyoonyeshwa hapa chini.

Picha
Picha

Mkutano wa mwisho. xChips zinaweza kuunganishwa kwa njia yoyote unayotamani.

Hatua ya 7: Hitimisho

Mradi huu utachukua dakika 20 kukamilika. Ikiwa unataka wakati katika eneo lako, fikiria kuangalia nambari ya mfano kwenye maktaba ya Wakati au fanya hesabu na wakati wa UTC. Hakuna waya zilizotumiwa na hakuna utakaso uliohitajika.

Hatua ya 8: Kanuni

Date_Time_Temp.ino Arduino Ingiza tu maelezo yako ya WiFi katika sehemu zao na upakie kwenye bodi yako.

# pamoja na // ni pamoja na maktaba ya msingi ya XinaBox xCHIPS

#jumuisha // ni pamoja na maktaba ya onyesho ya OLED # pamoja na // ni pamoja na maktaba ya sensorer ya joto # pamoja na // ni pamoja na utendaji wa ESP8266WiFi # pamoja na // ni pamoja na maktaba ya wakati # pamoja # # pamoja # # pamoja # pamoja na xSW01 SW01; // fafanua mali za NTP #fafanua ntpOffset 60 * 60 // kwa sekunde #fasili ntpInterval 60 * 1000 // katika miliseconds // ingiza seva ya kuaminika ya ntp kati ya nukuu mbili // hapa nimetumia google ntp time server # fafanua ntpAddress "time1.google.com" // kuanzisha mteja wa NTP UDP WiFiUDP ntpUDP; Wakati wa mteja wa NTPMteja (ntpUDP, ntpAdress, ntpOffset, ntpInterval); // joto la kuelea tempC; // celsius kuelea tempF; // fahrenheit // maelezo yako ya wifi const char * wifi_ssid = "XinaBox"; // wifi yako ssid const char * wifi_pass = "RapidIoT"; // nywila yako ya wifi // tarehe na tarehe ya kutofautisha ya Kamba; Kamba clktime; // vigeugeu vyenye siku na miezi const char * days = {"Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi"}; const char * miezi = {"Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sep", "Oct", "Nov "," Desemba "}; const char * ampm = {"AM", "PM"}; kuanzisha batili () {tempC = tempF = 0; // anzisha joto hadi wakati sifuriMteja.anza (); // kuanza mteja wa NTP UDP // kuanza mawasiliano ya serial Serial.begin (115200); // anza mawasiliano ya i2c na weka pini Wire. anza (2, 14); // kuanza sensorer ya joto SW01. anza (); // kuanza OLED kuonyesha OLED. anza (); // wazi OLED kuonyesha OD01. clear (); // kuanzisha unganisho la wifi wifi_connect (); kuchelewesha (1000); } kitanzi batili () {// endesha ikiwa muunganisho wa wifi umewekwa ikiwa (WiFi.status () == WL_CONNECTED) {SW01.poll (); // kusoma joto tempC = SW01.getTempC (); // duka la muda katika celcius tempF = SW01.getTempF (); // duka la muda katika tarehe ya fahrenheit = ""; // clear date variable clktime = ""; // wazi wakati wa kutofautisha // sasisha mteja wa ntp na upate muda wa timix ya saa ya unix utcClient.update (); unsigned long epochTime = timeClient.getEpochTime (); // kubadilisha stempu ya wakati uliopokea kuwa time_t object time_t utc; utc = wakati wa Epoch; // utc time TimeChangeRule utcRule = {"UTC", Mwisho, Jua, Machi, 1, 0}; Wakati wa UTC (utcRule, utcRule); // fomati za wakati wa kubadilisha tarehe + = siku [siku ya wiki (utc) - 1]; tarehe + = ","; tarehe + = miezi [mwezi (utc) - 1]; tarehe + = ""; tarehe + = siku (utc); tarehe + = ","; tarehe + = mwaka (utc); // fomati wakati wa muundo wa saa 12 na AM / PM na hakuna sekunde clktime + = hourFormat12 (utc); clktime + = ":"; ikiwa (dakika (utc)

Ilipendekeza: