
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12

จอแสดงผล OLED สุดเท่แสดงวันที่ เวลา และอุณหภูมิในหน่วยเซลเซียสและฟาเรนไฮต์โดยใช้ Xinabox xChips ที่อิงจาก ESP8266
ขั้นตอนที่ 1: สิ่งที่ใช้ในโครงการนี้
ส่วนประกอบฮาร์ดแวร์
- XinaBox IP01 x 1 xChip โปรแกรมเมอร์ USB ที่ใช้ FT232R จาก FTDI Limited
- XinaBox CW01 x 1 xChip Wi-Fi Core ที่ใช้โมดูล Wi-Fi ESP8266
- XinaBox SW01 x 1 xChip เซ็นเซอร์อุณหภูมิ ความชื้น และความดันบรรยากาศตาม BME280 จาก Bosch
- XinaBox OD01 x 1 xChip 128x64 พิกเซล OLED Display
- XinaBox PU01 x 1 xChip USB (ประเภท A) พาวเวอร์ซัพพลาย
- XinaBox XC10 x 1 xChip Bus Connectors
- แหล่งจ่ายไฟ USB 5V x 1
แอพซอฟต์แวร์และบริการออนไลน์
Arduino IDE
ขั้นตอนที่ 2: เรื่องราว
บทนำ
ฉันสร้างโปรเจ็กต์นี้เพื่อแสดงวันที่ เวลา UCT และอุณหภูมิโดยใช้ XinaBox xChips ที่ใช้โปรโตคอลบัส I2C เวลาถูกดึงมาจากเซิร์ฟเวอร์ google NTP อุณหภูมิแวดล้อมวัดโดยใช้ SW01 xChip และแสดงบนจอแสดงผล OD01 xChip OLED ในเซลเซียสและฟาเรนไฮต์ ภาพด้านล่างแสดงหน้าจอ OLED

OLED แสดงวันที่ เวลา และอุณหภูมิ
ขั้นตอนที่ 3: ดาวน์โหลดไฟล์ที่จำเป็น
คุณจะต้องใช้ไลบรารีและซอฟต์แวร์ต่อไปนี้สำหรับโครงการนี้
- Arduino IDE - ซอฟต์แวร์พัฒนาที่คุณจะเขียนโค้ด
- xSW01 - ไลบรารีเซ็นเซอร์อุณหภูมิ
- xCore - ไลบรารีหลักสำหรับ XinaBox xChips
- xOD01 - ไลบรารีจอแสดงผล OLED
- เขตเวลา - ห้องสมุดเพื่อเลือกเขตเวลาของคุณ
- เวลา - การใช้ฟังก์ชันเวลา
- NTPClient - ช่วยให้คุณได้รับเวลาจากเซิร์ฟเวอร์
- คุณจะต้องดาวน์โหลดบอร์ด ESP8266 และทำตามคำแนะนำที่มาพร้อมกับบอร์ดเพื่อติดตั้งบอร์ด
เมื่อดาวน์โหลดแล้วคุณจะติดตั้ง IDE และไลบรารี มันค่อนข้างตรงไปตรงมาถ้าคุณทำตามคำแนะนำ
ขั้นตอนที่ 4: ประกอบ
xChip หลักของคุณที่จะรันและประมวลผลโปรแกรมคือ CW01 มันขึ้นอยู่กับโมดูล WiFi ESP8266 และใช้โปรโตคอลบัส I2C ในการตั้งโปรแกรมไปที่ CW01 คุณจะต้องเขียนโปรแกรม xChip IP01 ช่วยให้เราสามารถตั้งโปรแกรม CW01 ผ่านพอร์ต USB บนคอมพิวเตอร์ของเราได้ง่ายๆ โดยคลิก xChips สองตัวโดยใช้ขั้วต่อบัส XC10 แล้วเสียบเข้ากับพอร์ต USB ไม่ต้องเดินสายไฟและไม่ต้องบัดกรี สิ่งหนึ่งที่ควรทราบคือการวางแนวของชื่อรหัส xChip พวกเขาทั้งหมดควรมุ่งไปในทิศทางเดียวกัน ตอนนี้คุณควรมีการตั้งค่าต่อไปนี้

คลิกร่วมกัน CW01 และ IP01 แล้วเสียบเข้ากับพอร์ต USB บนคอมพิวเตอร์ของคุณ
หากคุณคุ้นเคยกับ xChips คุณอาจเชื่อมต่อ xChip ทุกตัวเข้าด้วยกันโดยใช้ตัวเชื่อมต่อบัส XC10 ที่คุณต้องการใช้สำหรับโปรเจ็กต์ของคุณ จากนั้นเสียบเข้ากับพอร์ต USB เราจะใช้เซ็นเซอร์อุณหภูมิ SW01 และจอแสดงผล OLED OD01

คุณสามารถเชื่อมต่อชิปทั้งหมดเข้าด้วยกันแล้วเสียบเข้ากับพอร์ต USB ของคุณ
ขั้นตอนที่ 5: โปรแกรม
ดาวน์โหลดหรือคัดลอกและวางโค้ดด้านล่างลงใน Arduino IDE ของคุณ หากคุณไม่ได้ทำการเปลี่ยนแปลงใดๆ กับโค้ด เพียงป้อนรายละเอียด WiFi ของคุณในฟิลด์ที่เกี่ยวข้องดังที่แสดงด้านล่าง ป้อนเซิร์ฟเวอร์เวลา NTP ที่เชื่อถือได้ด้วย ฉันใช้เซิร์ฟเวอร์เวลาของ Google สำหรับโครงการนี้

รายละเอียด WiFi และเซิร์ฟเวอร์เวลา NTP
ตอนนี้รวบรวมและอัปโหลด ตรวจสอบให้แน่ใจว่าคุณได้เลือกพอร์ต COM และบอร์ดที่ถูกต้องภายใต้เมนูเครื่องมือใน Arduino IDE เมื่ออัปโหลดแล้ว เวลา วันที่ และอุณหภูมิควรแสดงดังนี้

หลังจากอัปโหลดคุณจะเห็นสิ่งต่อไปนี้
ขั้นตอนที่ 6: ทำให้เป็นแบบพกพา
ตอนนี้คุณสามารถถอดตัวเครื่องออกจากพอร์ต USB และแยก xChip แต่ละตัวออกได้โดยการดึงออกจากกัน เนื่องจากการเขียนโปรแกรมเสร็จสมบูรณ์ จึงไม่จำเป็นต้องมี IP01 อีกต่อไป ขณะนี้ คุณสามารถเชื่อมต่อโครงการของคุณในลักษณะใดก็ได้ที่คุณต้องการ ตราบใดที่ชื่อประจำตัวทั้งหมดอยู่ในทิศทางเดียวกัน ในการขับเคลื่อนยูนิตของเรา เราจะใช้ PU01 ซึ่งช่วยให้เราสามารถจ่ายไฟจากพาวเวอร์แบงค์ปกติหรือพาวเวอร์ซัพพลาย USB 5V ใดๆ ก็ได้ ฉันได้เชื่อมต่อของฉันดังที่แสดงด้านล่าง

การประกอบขั้นสุดท้าย xChips สามารถเชื่อมต่อได้ทุกรูปแบบที่คุณต้องการ
ขั้นตอนที่ 7: บทสรุป
โครงการนี้จะใช้เวลา 20 นาทีจึงจะเสร็จสมบูรณ์ หากคุณต้องการเวลาในสถานที่ของคุณ ลองพิจารณาดูโค้ดตัวอย่างในไลบรารีเขตเวลาหรือคำนวณเวลา 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; // เซลเซียสลอย tempF; // ฟาเรนไฮต์ // รายละเอียด wifi ของคุณ const char* wifi_ssid = "XinaBox"; // wifi ssid const char* wifi_pass = "RapidIoT"; // รหัสผ่าน wifi ของคุณ // วันที่และเวลาตัวแปรวันที่สตริง; สตริง clktime; // ตัวแปรที่มีวันและเดือน const char * days = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; const char * months = {"ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธันวาคม"}; const char * ampm = {"AM", "PM"}; การตั้งค่าเป็นโมฆะ () { 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 TimeChangeRule utcRule = {"UTC", Last, Sun, Mar, 1, 0}; เขตเวลา UTC(utcRule, utcRule); // รูปแบบ เวลา ตัวแปร วันที่ += วัน[วันทำงาน(utc) - 1]; วันที่ += ", "; วันที่ += เดือน[เดือน(utc) - 1]; วันที่ += " "; วันที่ += วัน (utc); วันที่ += ", "; วันที่ += ปี (utc); // จัดรูปแบบเวลาเป็นรูปแบบ 12 ชั่วโมงด้วย AM/PM และไม่มีวินาที clktime += hourFormat12(utc); clktime += ":"; ถ้า (นาที(utc)
แนะนำ:
การวัดอุณหภูมิโดยใช้ XinaBox และเทอร์มิสเตอร์: 8 ขั้นตอน

การวัดอุณหภูมิโดยใช้ XinaBox และเทอร์มิสเตอร์: วัดอุณหภูมิของของเหลวโดยใช้อินพุตแบบอะนาล็อก xChip จาก XinaBox และโพรบเทอร์มิสเตอร์
ระดับความสูง ความดัน และอุณหภูมิโดยใช้ Raspberry Pi กับ MPL3115A2: 6 ขั้นตอน

ระดับความสูง ความดัน และอุณหภูมิโดยใช้ Raspberry Pi กับ MPL3115A2: ฟังดูน่าสนใจ เป็นไปได้ค่อนข้างมากในยุคนี้ที่เราทุกคนกำลังเข้าสู่ยุค IoT ในฐานะที่เป็นผู้คลั่งไคล้อุปกรณ์อิเล็กทรอนิกส์ เราได้เล่นกับ Raspberry Pi และตัดสินใจสร้างโปรเจ็กต์ที่น่าสนใจโดยใช้ความรู้นี้ ในโครงการนี้ เราจะ
วันในสัปดาห์ ปฏิทิน เวลา ความชื้น/อุณหภูมิ พร้อมโหมดประหยัดแบตเตอรี่: 10 ขั้นตอน (พร้อมรูปภาพ)

วันในสัปดาห์ ปฏิทิน เวลา ความชื้น/อุณหภูมิด้วยโหมดประหยัดแบตเตอรี่: โหมดประหยัดพลังงานนี่คือสิ่งที่ทำให้คำแนะนำนี้แตกต่างจากตัวอย่างอื่นๆ ที่แสดงวันในสัปดาห์ เดือน วันของเดือน เวลา ความชื้น และอุณหภูมิ ความสามารถนี้ทำให้โครงการนี้สามารถเรียกใช้จากแบตเตอรี่ได้โดยไม่ต้องใช้เ
วิธีสร้างสถานีตรวจอากาศโดยใช้ XinaBox และ Ubidots ผ่าน HTTP: 7 ขั้นตอน

วิธีสร้างสถานีตรวจอากาศโดยใช้ XinaBox และ Ubidots ผ่าน HTTP: เรียนรู้วิธีสร้างสถานีตรวจอากาศของคุณเองที่ Ubidots โดยใช้ XinaBox xChips (IP01, CW01 และ SW01) โมดูล ESP8266 Core และ Wi-Fi (xChip CW01) อนุญาตให้ผู้ใช้ส่ง ข้อมูลจาก xChips แบบโมดูลาร์ของ XinaBox ไปยังคลาวด์ ข้อมูลนี้สามารถตรวจสอบได้จากระยะไกล
หน่วยแสดงวันที่ เวลา และอุณหภูมิที่น่ารัก: 3 ขั้นตอน

หน่วยแสดงวันที่ เวลา และอุณหภูมิที่น่ารัก: สวัสดีเพื่อน ๆ ในคำแนะนำนี้ ฉันจะอธิบายขั้นตอนในการสร้างหน่วยแสดงวันที่ เวลา และอุณหภูมิปัจจุบันโดยใช้ Arduino pro mini, RTC และการแสดงผลเจ็ดส่วนแปดหลัก ในยูนิตที่กะทัดรัดมาก ซึ่งเป็นอุปกรณ์ที่มีประโยชน์