ชื่อโปรเจกต์: Classic Style Arduino Weather Station with three Oled Displays
แดชบอร์ดหลายหน้าจอ: สถานีตรวจอากาศสไตล์คลาสสิก
โปรเจกต์ Arduino ส่วนใหญ่ยัดข้อมูลมากเกินไปบนหน้าจอเดียว ทำให้ไม่สามารถอ่านได้เลย Classic Style Weather Station ได้รับแรงบันดาลใจจากห้องนักบินเครื่องบินอนาล็อกแบบวินเทจ ด้วยการใช้ระบบแอดเดรส I2C bus ขั้นสูง ทำให้สามารถส่งข้อมูลสภาพแวดล้อมที่แตกต่างกันไปยังจอแสดงผล OLED ที่ส่องสว่างแยกกันสามจอได้อย่างเป็นธรรมชาติ

การใช้ I2C Multiplexer (TCA9548A) อย่างเชี่ยวชาญ
จอ OLED ขนาด 0.96 นิ้ว ทั่วไปทุกจอมีแอดเดรสฮาร์ดแวร์ I2C ที่กำหนดตายตัวเหมือนกัน (โดยปกติคือ 0x3C)
- ความขัดแย้ง: หากคุณเสียบจอ OLED สามจอเข้ากับพิน SDA/SCL ของ Uno, Arduino จะส่งคำว่า "Temperature" และหน้าจอทั้งสามจะพิมพ์ "Temperature" พร้อมกัน คุณไม่สามารถสื่อสารกับแต่ละจอได้แยกกัน
- วิธีแก้ปัญหาทางฮาร์ดแวร์: คุณต้องต่อสาย I2C Multiplexer (TCA9548A) ระหว่าง Arduino กับหน้าจอ
- Multiplexer ทำหน้าที่เหมือนผู้ควบคุมสวิตช์รางรถไฟ มีช่องสัญญาณเอาต์พุต 8 ช่อง
- โค้ด C++:
tcaselect(0); display1.print(Temperature);— ชิปจะปิดการเชื่อมต่อไฟฟ้าไปยังหน้าจอ 2 และ 3 ทางกายภาพ ทำให้ข้อมูลถูกส่งไปยังหน้าจอ 1 เท่านั้น!
การแยกวิเคราะห์ข้อมูลสิ่งแวดล้อม (BME280)
เพื่อให้ได้ข้อมูลสามกระแสที่แตกต่างกัน เราใช้เซ็นเซอร์สิ่งแวดล้อมระดับมาตรฐานทอง
- BME280 Sensor วัดอุณหภูมิ, ความชื้น และความกดอากาศบารอมิเตอร์ที่แม่นยำทั้งหมดบนไมโครชิปตัวเดียว
- Arduino จะสอบถามข้อมูลจากชิป
- มันแปลข้อมูลไปยังหน้าจอแสดงผล:
- หน้าจอ 1: วาดไอคอนเทอร์โมมิเตอร์ขนาดใหญ่และพิมพ์
24°C - หน้าจอ 2: วาดหยดน้ำฝนและพิมพ์
65% Hum - หน้าจอ 3: วาดหน้าปัดเครื่องวัดความสูงและพิมพ์
1013 hPa
- หน้าจอ 1: วาดไอคอนเทอร์โมมิเตอร์ขนาดใหญ่และพิมพ์
รายการชิ้นส่วนสำหรับการสร้าง (Meteorological Build Manifest)
- Arduino Nano (เหมาะสำหรับการฝังไว้ด้านหลังแผงหน้าปัดไม้)
- จอแสดงผล OLED SSD1306 ขนาด 0.96 นิ้ว จำนวนสามจอ
- บอร์ด Breakout I2C Multiplexer TCA9548A
- โมดูล BME280 Environmental Sensor
- กรอบครอบที่ทำจากไม้มะฮอกกานีหรือพิมพ์ 3D เพื่อยึดหน้าจอทั้งสามให้เรียงกันอย่างสวยงาม