Агуулгын хүснэгт:
- Алхам 1: Энэхүү төсөлд ашигласан зүйлс
- Алхам 2: Түүх
- Алхам 3: Шаардлагатай файлуудыг татаж авах
- Алхам 4: угсрах
- Алхам 5: Хөтөлбөр
- Алхам 6: Үүнийг зөөврийн болгох
- Алхам 7: Дүгнэлт
- Алхам 8: Код
Видео: XinaBox ашиглан огноо, цаг, температурын дэлгэц: 8 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
ESP8266 дээр суурилсан Xinabox xChips ашиглан Цельсийн болон Фаренгейтийн огноо, цаг, температурыг харуулсан сэрүүн OLED дэлгэц.
Алхам 1: Энэхүү төсөлд ашигласан зүйлс
Тоног төхөөрөмжийн бүрэлдэхүүн хэсгүүд
- XinaBox IP01 x 1 xChip USB програмист, FTDI Limited -ээс FT232R дээр суурилсан.
- ESP8266 Wi-Fi модульд суурилсан XinaBox CW01 x 1 xChip Wi-Fi Core
- XinaBox SW01 x 1 xChip Bosch -ийн BME280 дээр суурилсан температур, чийгшил, атмосферийн даралт мэдрэгч.
- XinaBox OD01 x 1 xChip 128x64 пиксел OLED дэлгэц
- XinaBox PU01 x 1 xChip USB (А хэлбэрийн) цахилгаан хангамж
- XinaBox XC10 x 1 xChip автобусны холбогч
- 5V USB тэжээлийн хангамж x 1
Програм хангамж, онлайн үйлчилгээ
Arduino IDE
Алхам 2: Түүх
Танилцуулга
Би энэ төслийг I2C автобусны протоколыг ашигладаг XinaBox xChips ашиглан огноо, UCT цаг, температурыг харуулах зорилгоор бүтээсэн. Цагийг google NTP серверээс авсан болно. Орчны температурыг SW01 xChip ашиглан хэмжиж, Цельсийн болон Фаренгейтийн OD01 xChip OLED дэлгэц дээр харуулав. Доорх зурагт OLED дэлгэц харагдаж байна.
OLED нь огноо, цаг, температурыг харуулдаг
Алхам 3: Шаардлагатай файлуудыг татаж авах
Энэхүү төслийн хувьд танд дараах номын сан, програм хангамж хэрэгтэй болно.
- Arduino IDE - Кодлох програм хангамж
- xSW01 - Температур мэдрэгчийн номын сан
- xCore - XinaBox xChips -ийн үндсэн номын сан
- xOD01 - OLED дэлгэцийн номын сан.
- Цагийн бүс - Цагийн бүсээ сонгох номын сан
- Цаг - Цагийн функцийг ашиглах
- NTPClient - Серверээс цаг авах боломжийг танд олгоно
- Мөн ESP8266 самбарыг татаж аваад самбарыг суулгахын тулд дагалдах зааврыг дагаж мөрдөх шаардлагатай болно.
Татаж авсны дараа та IDE болон номын санг суулгах болно. Хэрэв та зааврыг дагаж мөрдвөл энэ нь шууд урагшлах болно.
Алхам 4: угсрах
Хөтөлбөрийг хэрэгжүүлж, боловсруулах таны үндсэн xChip бол CW01 юм. Энэ нь ESP8266 WiFi модульд суурилсан бөгөөд I2C автобусны протоколыг ашигладаг. CW01 програмчлахын тулд танд xChip програмчлал хэрэгтэй болно. IP01 нь XC10 автобусны холбогчийг ашиглан хоёр xChip -ийг дарж USB порт руу оруулах замаар CW01 -ийг компьютер дээрх USB портоор програмчлах боломжийг бидэнд олгодог. Утас тавих шаардлагагүй, гагнах шаардлагагүй. Анхаарах ёстой нэг зүйл бол xChip таних нэрний чиглэл юм. Тэд бүгд нэг чиглэлд чиглэгдэх ёстой. Та одоо дараах тохиргоог хийх ёстой.
CW01 ба IP01 -ийг хамтад нь дараад компьютер дээрх USB порт руу оруулна уу
Хэрэв та xChips -ийг мэддэг бол xChip бүрийг төсөлдөө ашиглахыг хүсч буй XC10 автобусны холбогчийг ашиглан холбож, дараа нь USB порт руу оруулж болно. Бид SW01 температур мэдрэгч болон OD01 OLED дэлгэцийг ашиглах болно.
Та бүх чипээ холбож, дараа нь USB порт руу оруулж болно
Алхам 5: Хөтөлбөр
Доорх кодыг татаж аваад хуулж аваад Arduino IDE дээрээ оруулна уу. Хэрэв та кодонд ямар нэгэн өөрчлөлт оруулахгүй байгаа бол доор үзүүлсэн шиг WiFi талбарынхаа мэдээллийг холбогдох талбарт оруулна уу. Мөн найдвартай NTP цагийн сервер оруулна уу. Би энэ төсөлд Google -ийн цагийн сервер ашигласан.
WiFi -ийн дэлгэрэнгүй мэдээлэл болон NTP цагийн сервер
Одоо хөрвүүлээд байршуулаарай. Arduino IDE дээрх хэрэгслийн цэснээс зөв COM порт, самбарыг сонгосон эсэхээ шалгаарай. Байршуулсны дараа цаг, огноо, температурыг доорх байдлаар харуулах ёстой.
Байршуулсны дараа та дараах зүйлийг харах ёстой
Алхам 6: Үүнийг зөөврийн болгох
Та одоо төхөөрөмжийг USB портоосоо салгаж, xChip тус бүрийг салгаад салгаж болно. Програмчлал дууссан тул IP01 шаардлагагүй болно. Танилтын нэрс бүгд нэг чиглэлд чиглэсэн байгаа бол та хүссэнээрээ төслөө холбох боломжтой. Манай төхөөрөмжийг тэжээхийн тулд бид PU01 -ийг ашиглах болно. Энэ нь ердийн цахилгаан банк эсвэл 5V USB тэжээлээс тэжээх боломжийг бидэнд олгодог. Би доор үзүүлсэн шиг минийхтэй холбогдсон.
Эцсийн угсралт. xChips -ийг хүссэнээрээ холбож болно.
Алхам 7: Дүгнэлт
Энэ төслийг хэрэгжүүлэхэд 20 минут шаардагдана. Хэрэв та цагийг өөрийн байршилд байлгахыг хүсч байвал Timezone номын сангийн жишээ кодыг харах эсвэл UTC цагаар арифметик хийх талаар бодож үзээрэй. Утас ашиглаагүй, гагнуур хийх шаардлагагүй.
Алхам 8: Код
Date_Time_Temp.ino Arduino Зүгээр л өөрийн WiFi талбарынхаа мэдээллийг тухайн талбарт оруулаад самбар дээрээ байршуулаарай.
#include // XinaBox xCHIPS -ийн үндсэн номын санг оруулах
#include // OLED дэлгэцийн номын сан оруулах #include // температур мэдрэгчийн номын санг оруулах #include // ESP8266WiFi функцийг оруулах #include // цагийн номын сангуудыг оруулах #include #include #include #include #include xSW01 SW01; // NTP шинж чанаруудыг тодорхойлох #define ntpOffset 60 * 60 // секундын дотор #define ntpInterval 60 * 1000 // милисекундээр // найдвартай ntp цагийн серверийг давхар ишлэлийн хооронд оруулна уу // энд би google ntp цагийн серверийг ашигласан болно # ntpAddress "time1.google.com" тодорхойлох // NTP UDP клиент WiFiUDP ntpUDP -ийг тохируулах; NTPClient timeClient (ntPUDP, ntpAddress, ntpOffset, ntpInterval); // температурын хувьсах float tempC; // celsius float tempF; // fahrenheit // таны wifi -ийн дэлгэрэнгүй мэдээлэл const char* wifi_ssid = "XinaBox"; // таны wifi ssid const char* wifi_pass = "RapidIoT"; // таны wifi нууц үг // огноо ба цагийн хувьсагч String огноо; String clxtime; // өдөр, сар агуулсан хувьсагчид const char * days = {"Ням", "Даваа гариг", "Мягмар", "Лхагва", "Пүрэв", "Баасан", "Бямба гариг"}; const char * months = {"Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sep", "Oct", "Nov" "," Арванхоёрдугаар сар "}; const char * ampm = {"AM", "PM"}; void setup () {tempC = tempF = 0; // температурыг тэг болгож эхлүүлэх timeClient.begin (); // NTP UDP клиентийг эхлүүлэх // цуваа холболтыг эхлүүлэх Serial.begin (115200); // i2c холболтыг эхлүүлж, зүү тавих Wire.begin (2, 14); // эхлэх температур мэдрэгч SW01.begin (); // эхлэх OLED дэлгэц OLED.begin (); // цэвэр OLED дэлгэц OD01.clear (); // wifi холболтыг бий болгох wifi_connect (); саатал (1000); } void loop () {// хэрэв wifi холболт хийгдсэн бол ажиллуулах (WiFi.status () == WL_CONNECTED) {SW01.poll (); // унших температур tempC = SW01.getTempC (); // хадгалах температурыг celcius tempF = SW01.getTempF (); // хадгалалтын температурыг фаренгейтийн огноогоор = ""; // тодорхой огнооны хувьсагч clktime = ""; // цаг хугацааны хувьсагчийг цэвэрлэх // ntp клиентийг шинэчилж, unix utc timestamp timeClient.update () авах; гарын үсэг зураагүй урт epochTime = timeClient.getEpochTime (); // хүлээн авсан цагийн тэмдгийг time_t объект болгон хөрвүүлэх time_t utc; utc = epochTime; // utc time TimeChangeRule utcRule = {"UTC", Last, Sun, Mar, 1, 0}; Цагийн бүс UTC (utcRule, utcRule); // форматын цагийн хувьсагчийн огноо += хоног [ажлын өдөр (utc) - 1]; огноо += ","; огноо += сар [сар (utc) - 1]; огноо += ""; огноо += өдөр (utc); огноо += ","; огноо += жил (utc); // цагийг 12 цагийн форматаар AM/PM-ээр форматлаж, хэдэн секундын турш ажиллахгүй += hourFormat12 (utc); clktime += ":"; хэрэв (минут (utc)
Зөвлөмж болгож буй:
XinaBox ба Thermistor ашиглан температурын хэмжилт: 8 алхам
XinaBox ба Thermistor ашиглан температур хэмжих: XinaBox -ийн xChip аналог оролт ба термистор датчик ашиглан шингэний температурыг хэмжинэ
Интернет цаг: NTP протокол бүхий ESP8266 NodeMCU ашиглан OLED ашиглан огноо, цагийг харуулах: 6 алхам
Интернет цаг: ESP8266 NodeMCU ашиглан NTP протокол ашиглан OLED ашиглан огноо, цагийг харуулах: Сайн байна уу залуусаа, энэ зааварчилгаанд бид интернэтээс цаг авах интернет цаг бүтээх болно, ингэснээр энэ төслийг ажиллуулахад RTC шаардлагагүй болно. интернет холболт ажиллаж байгаа бөгөөд энэ төслийн хувьд танд esp8266 хэрэгтэй бөгөөд энэ нь
I2C / IIC LCD дэлгэц - Arduino ашиглан SPI -IIC модулийг ашиглан I2C LCD дэлгэц рүү SPI LCD ашиглах: 5 алхам
I2C / IIC LCD дэлгэц | IUC LCD дэлгэц дээр SPI LCD дэлгэцийг SPI -ийг IIC модулийг ашиглан Arduino ашиглан ашиглаарай: Сайн байна уу залуусаа, ердийн SPI LCD 1602 -ийг холбоход хэт олон утас байдаг тул үүнийг arduino -той холбоход маш хэцүү боловч зах зээл дээр боломжтой нэг модуль байдаг. SPI дэлгэцийг IIC дэлгэц болгон хөрвүүлэх тул та зөвхөн 4 утас холбох хэрэгтэй
Arduino IDE ашиглан M5stick C ашиглан цаг хийх - M5stack M5stick-C-тэй RTC бодит цагийн цаг: 4 алхам
Arduino IDE ашиглан M5stick C ашиглан цаг хийх | M5stack M5stick-C-тэй RTC бодит цагийн цаг: Сайн байна уу залуусаа, энэ зааварчилгаанд бид Arduino IDE ашиглан m5stack-ийн m5stick-C хөгжүүлэлтийн самбар ашиглан хэрхэн цаг хийхийг сурах болно. Тиймээс m5stick нь огноо, цаг, цагийг харуулах болно. дэлгэц дээр сарын долоо хоног
Хөөрхөн огноо, цаг, температурыг харуулах нэгж: 3 алхам
Хөөрхөн огноо, цаг, температурыг харуулах нэгж: Сайн байна уу найзуудаа, энэхүү зааварчилгаанд би Arduino pro mini, RTC болон долоон сегмент бүхий долоон сегмент бүхий дэлгэц, огноо, цаг, одоогийн температурыг харуулах нэгжийг хэрхэн яаж гаргахыг тайлбарлах болно. ашигтай төхөөрөмж болох маш авсаархан нэгжид