โปรเจกต์ Touchscreen Thermostat ด้วย Arduino MKR
วิธีสร้าง Touchscreen Thermostat ที่สวยงาม พร้อมการรองรับ Modbus เสริมผ่าน RS485 ด้วย ArduiTouch MKR
วิธีสร้าง Touchscreen Thermostat ที่สวยงาม พร้อมการรองรับ Modbus เสริมผ่าน RS485 ด้วย ArduiTouch MKR
โปรเจกต์นี้อ้างอิงมาจาก ArduiTouch kit สำหรับ Arduino MKR ของเรา คุณสามารถรวมบอร์ด Arduino MKR รุ่นใดก็ได้และ shield เสริมเข้ากับเคสสำหรับติดตั้งบนผนังและหน้าจอ TFT touchscreen สี ในตัวอย่างนี้เราจะใช้มันเพื่อสร้าง MODBUS thermostat ที่ดูสวยงาม
ในขั้นตอนแรก คุณต้องประกอบ PCB ของ ArduiTouch MKR kit ในวิดีโอด้านบน คุณจะเห็น PCB ที่ประกอบเสร็จแล้ว, เคส และวิธีการเสียบ Arduino MKR1010 และ Arduino MKR 485 shield ลงในสล็อตของ ArduiTouch PCB


คุณจะพบ DIP switch แบบ 3 ขั้วที่ด้านหน้าของ MKR 485 shield โปรดตั้งค่า DIP switch ตามตำแหน่งดังต่อไปนี้:

เราจะใช้โหมด half duplex ของ RS485 โปรดทราบ: คุณต้องเชื่อมต่อสาย A และ B ของ RS485 bus เข้ากับเทอร์มินอล Y และ Z ของ MKR 485 shield:

ติดตั้ง Library ต่อไปนี้ผ่าน Arduino Library Manager
AdafruitGFX Library :
https://github.com/adafruit/Adafruit-GFX-Library/archive/master.zip
AdafruitILI9341 Library :
https://github.com/adafruit/Adafruit_ILI9341
XPT2046_Touchscreen โดย Paul Stoffregen:
https://github.com/PaulStoffregen/XPT2046_Touchscreen/blob/master/XPT2046_Touchscreen.h
SimpleModbusMKR โดย Hartmut Wendt:
https://github.com/HWHardsoft/SimpleModbusSlaveMKR
คุณยังสามารถดาวน์โหลด Library ได้โดยตรงในรูปแบบไฟล์ ZIP และคลายไฟล์ลงในโฟลเดอร์ yourarduinosketchfolder/libraries/
หลังจากติดตั้ง Adafruit libraries แล้ว ให้รีสตาร์ท Arduino IDE
โปรดเปิดไฟล์ตัวอย่างนี้ใน Arduino IDE จากนั้นทำการ Compile และ Upload
หลังจาก Compile และ Upload แล้ว คุณจะเห็นหน้าจอหลักพร้อมค่าเริ่มต้นสำหรับอุณหภูมิห้อง (room temperature), การตั้งค่าอุณหภูมิ (set temperature) และการระบายอากาศ (ventilation) คุณสามารถเปลี่ยนค่า set temperature และระดับ ventilation ได้โดยไม่จำเป็นต้องเชื่อมต่อ RS485
คุณสามารถเปิดเมนูตัวเลือกผ่านรูปเฟืองที่มุมขวาบน เมนูนี้ประกอบด้วยฟังก์ชันสำหรับปรับหมายเลข Modbus ID และฟังก์ชันทำความสะอาดหน้าจอ (screen cleaning)
ในตัวอย่างนี้เราจะใช้ PC เป็น MODBUS master คุณต้องดาวน์โหลด Modbustester โปรดแตกไฟล์ zip ไปยังไดเรกทอรีใหม่ในฮาร์ดดิสก์ของคุณ เปิดซอฟต์แวร์และเปลี่ยนฟิลด์ที่ทำเครื่องหมายไว้ตามรูปภาพด้านบน คุณต้องเชื่อมต่อตัวแปลง USB-RS485 ก่อน สำหรับการทดสอบเบื้องต้น การเชื่อมต่อแบบ serial ผ่านสาย USB ระหว่าง PC และ NodeMCU ก็สามารถใช้งานได้เช่นกัน โปรดเลือก COM-port ที่ถูกต้องสำหรับตัวแปลงนี้ใน Modbustester

คุณสามารถกดปุ่ม Read ใน Modbustester คำสั่งนี้จะอ่านค่า 6 bytes จากหน่วยความจำของ ArduiTouch ซึ่งเป็นอุปกรณ์ slave ของเรา คุณยังสามารถคลิกในฟิลด์ข้าง address และแก้ไขค่าต่างๆ ได้ เมื่อกดปุ่ม Write คุณจะส่งค่าที่แก้ไขแล้วเหล่านี้ไปยัง ArduiTouch โปรดดูตารางด้านล่างเกี่ยวกับหน้าที่ของ Register ต่างๆ

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้