สารบัญ:

เครื่องวัดอุณหภูมิความชื้น - Arduino Mega + Ethernet W5100: 5 ขั้นตอน
เครื่องวัดอุณหภูมิความชื้น - Arduino Mega + Ethernet W5100: 5 ขั้นตอน

วีดีโอ: เครื่องวัดอุณหภูมิความชื้น - Arduino Mega + Ethernet W5100: 5 ขั้นตอน

วีดีโอ: เครื่องวัดอุณหภูมิความชื้น - Arduino Mega + Ethernet W5100: 5 ขั้นตอน
วีดีโอ: Arduino + W5100 ส่งการแจ้งเตือนเข้า LINE 2024, พฤศจิกายน
Anonim
เครื่องวัดอุณหภูมิความชื้น - Arduino Mega + Ethernet W5100
เครื่องวัดอุณหภูมิความชื้น - Arduino Mega + Ethernet W5100

โมดูล 1 - FLAT - ฮาร์ดแวร์:

  • Arduino Mega 2560
  • Wiznet W5100 อีเธอร์เน็ตชิลด์
  • เซ็นเซอร์อุณหภูมิ DS18B20 8x บนบัส OneWire - แบ่งออกเป็น 4 บัส OneWire (2, 4, 1, 1)
  • 2x เซ็นเซอร์อุณหภูมิและความชื้นดิจิตอล DHT22 (AM2302)
  • 1x เซ็นเซอร์อุณหภูมิและความชื้น SENSIRION SHT21 (Si7021)
  • 1x BOSCH BME280 อุณหภูมิและความชื้น (และความดันอากาศ) เซ็นเซอร์
  • ส่งข้อมูลจากเซ็นเซอร์ทั้งหมดพร้อมกันในไม่กี่นาที (สามารถแก้ไขได้)

โมดูล 2 - บอยเลอร์ - ฮาร์ดแวร์:

  • Arduino Mega 2560
  • Wiznet W5100 อีเธอร์เน็ตชิลด์
  • เซ็นเซอร์อุณหภูมิ DS18B20 16x บนบัส OneWire - แบ่งออกเป็น 7 บัส OneWire (2, 2, 2, 2, 2, 2, 4)
  • อินพุตดิจิตอล 8x
  • เอาต์พุตดิจิตอล 8x - สำหรับโซลินอยด์ / รีเลย์
  • ส่งข้อมูลจากเซ็นเซอร์ทั้งหมดพร้อมกันในไม่กี่นาที (สามารถแก้ไขได้)
  • มันอ่านสถานะของเอาต์พุตแต่ละรายการจากเว็บอินเตอร์เฟส นำไปใช้ ส่งสถานะอินพุตดิจิตอล

ขั้นตอนที่ 1: บทนำ

บทนำ
บทนำ
บทนำ
บทนำ
บทนำ
บทนำ

วันนี้ผมจะนำเสนอรายละเอียดเกี่ยวกับโปรเจ็กต์ล่าสุด ซึ่งค่อนข้างซับซ้อนในแง่ของการใช้งาน จำนวนเซนเซอร์ที่ใช้ บอร์ด Arduino บัสข้อมูลที่ใช้ โครงการประกอบด้วยสองโมดูล แต่ละโมดูลประกอบด้วย Arduino Mega 2560 แยกกัน, อีเธอร์เน็ตชิลด์ W5100 (เข้ากันได้กับ R3) และเซ็นเซอร์ที่ใช้

แต่ละโมดูลสื่อสารกับเว็บอินเตอร์เฟสบนอินเทอร์เน็ตโดยคำขอ HTTP POST โดยที่เว็บเซิร์ฟเวอร์ขายข้อมูลหรือขอข้อมูลบางอย่าง เช่น ผ่านคำขอ POST (โมดูล 2 เท่านั้น) อินเทอร์เฟซเว็บเสร็จสมบูรณ์ด้วยระบบเข้าสู่ระบบ ในขณะที่ทุกคนในครอบครัวสามารถลงทะเบียนกับระบบได้ โดยแต่ละคนมีชื่อและรหัสผ่าน ดังนั้นจึงเป็นแอปพลิเคชันแบบผู้ใช้หลายคนที่สมาชิกในครอบครัวแต่ละคนมีภาพรวมของทั้งสองโมดูลและสามารถดำเนินการต่างๆ ได้ - การตั้งค่าอุณหภูมิอ้างอิง เทอร์โมมิเตอร์ควบคุม ฯลฯ เว็บอินเตอร์เฟสถูกตั้งโปรแกรมใน PHP ข้อมูลจะถูกเก็บไว้ในฐานข้อมูล MySQL แต่ละโมดูลมีตารางแยกกันในฐานข้อมูลสำหรับข้อมูล พิจารณาแต่ละโมดูลโดยละเอียดยิ่งขึ้น

ขั้นตอนที่ 2: โมดูล 1 - FLAT

โมดูล 1 - FLAT
โมดูล 1 - FLAT
โมดูล 1 - FLAT
โมดูล 1 - FLAT

ทั้งโมดูล 1- FLAT ทำหน้าที่เป็นตัวตรวจสอบอุณหภูมิในแต่ละห้องเท่านั้น ไม่มีบทบาทอื่น เซ็นเซอร์ DHT22 ถูกใช้ในระยะไกลโดยใช้ตัวต้านทานแบบดึงขึ้น 10kohm ที่เหมาะสมเพื่อบันทึกความชื้นในห้องน้ำ เนื่องจาก BME280 และ SHT21 สื่อสารผ่านบัส I2C และสิ่งนี้ถูกจำกัดในแง่ของความยาวของไดรเวอร์บัส เซ็นเซอร์จึงถูกใช้ใกล้กับ Arduino ในห้อง

เซ็นเซอร์อุณหภูมิ DS18B20 ถูกแบ่งออกเป็น 4 บัส เนื่องจากมีการใช้เซ็นเซอร์ภายนอก 2 ตัว ทำให้ง่ายต่อการเชื่อมต่อกับเต้าเสียบ Arduino ที่แยกจากกัน และในกรณีที่เซ็นเซอร์ตก จะเปลี่ยนได้ง่ายขึ้นเนื่องจากไม่ทำให้การทำงานเป็นอัมพาต ของระบบ

ตัวอย่างเช่น ในกรณีของรถโดยสาร OneWire เหล่านี้ซึ่งมีการจัดทำดัชนีเซ็นเซอร์ 4 ตัว ดัชนีเชื่อมโยงกับที่อยู่ทางกายภาพของเทอร์โมมิเตอร์ ดังนั้นหากมีการแลกเปลี่ยนเซ็นเซอร์ตัวใดตัวหนึ่ง เซ็นเซอร์ใหม่อาจปรากฏบนดัชนี 0 - ค่าเริ่มต้น หรือแม้แต่ 2, 3 หรือสุดท้าย ดังนั้น ด้วยการลดจำนวนเซ็นเซอร์บนบัส เราจึงสามารถหลีกเลี่ยงความยุ่งยากดังกล่าวที่อาจเกิดขึ้นได้เมื่อเปลี่ยนเซ็นเซอร์

ขั้นตอนที่ 3: โมดูล 2 - BOILER

โมดูล 2 - BOILER
โมดูล 2 - BOILER
โมดูล 2 - BOILER
โมดูล 2 - BOILER
โมดูล 2 - BOILER
โมดูล 2 - BOILER

นอกเหนือจากฟังก์ชั่นการตรวจสอบแล้ว โมดูล 2 - บอยเลอร์ยังมีบทบาทที่สำคัญกว่านั้นอีก ได้แก่ การควบคุมโซลินอยด์หรือรีเลย์สำหรับการควบคุมวาล์วหม้อน้ำ โมดูลทำงานโดยไม่ขึ้นกับความร้อนภายใน โมดูลไม่เปลี่ยนการทำความร้อนหรือหม้อไอน้ำ โมดูลดูแลเฉพาะการเปิดปิดวาล์วหม้อน้ำหากอุณหภูมิห้องต่ำกว่า / สูงกว่าชุด - ที่เรียกว่า อุณหภูมิอ้างอิง แต่ละห้องที่ควบคุมวาล์วหม้อน้ำสามารถกำหนดเทอร์โมมิเตอร์เฉพาะจากโมดูล 2 นอกจากนี้ - โหมดอัตโนมัติยังมีโหมดแมนนวลที่สามารถเปิด / ปิดวาล์วด้วยตนเองจากเว็บอินเตอร์เฟสอย่างไม่มีกำหนด - ยาก อินพุตดิจิตอลสามารถใช้เพื่อตรวจสอบว่าโซลินอยด์ / รีเลย์ / วาล์วถูกเปิด / ปิดตามคำขอกับ Arduina - ความสามารถในการเปรียบเทียบว่าเอาต์พุตเท่ากับอินพุตหรือไม่

ขั้นตอนที่ 4: เว็บอินเตอร์เฟสเสนออะไร

เว็บอินเตอร์เฟสมีอะไรบ้าง?
เว็บอินเตอร์เฟสมีอะไรบ้าง?
เว็บอินเตอร์เฟสมีอะไรบ้าง?
เว็บอินเตอร์เฟสมีอะไรบ้าง?

สำหรับทั้งสองโมดูล ยังมีการแสดงกราฟเส้นสำหรับการพัฒนาตัวแปรแต่ละตัว - อุณหภูมิ ความชื้นใน 24 ชั่วโมง 7 วัน เว็บอินเตอร์เฟสยังให้การดูค่าสูงสุด/ต่ำสุด ค่าเฉลี่ยใน 24 ชั่วโมง 7 วัน สำหรับแต่ละเทอร์โมมิเตอร์/ไฮโกรมิเตอร์ ในโมดูล 1 มีการพิจารณาเซ็นเซอร์ SHT21 คู่แรก แต่เนื่องจากไม่มีความเป็นไปได้ในการเปลี่ยนที่อยู่ I2C จึงจำเป็นต้องใช้มัลติเพล็กเซอร์สำหรับการสื่อสารบัสหนึ่งตัวจากเซ็นเซอร์สองตัวที่มีที่อยู่ I2C เดียวกัน ในกรณีที่ข้อมูลเซ็นเซอร์ผิดพลาด ชื่อเซ็นเซอร์จะถูกเก็บไว้ในบันทึกที่ผู้ดูแลระบบสามารถเปิดได้ตลอดเวลาเพื่อให้บริการบัส OneWire และเปลี่ยนเซ็นเซอร์ที่ผิดพลาด เป็นต้น

Watchdog ได้ถูกนำมาใช้ในโปรแกรม Arduino ซึ่งในกรณีที่การเริ่มต้นผิดพลาด "หยุด" ข้อผิดพลาดอื่นจะเริ่มต้นใหม่อย่างปลอดภัยและเมื่อเริ่มต้นโปรแกรมจะปิดเอาต์พุตทั้งหมดจนกว่าจะสร้างการเชื่อมต่อกับเว็บอินเตอร์เฟสซึ่งจะมีการซิงโครไนซ์อย่างสมบูรณ์ เงื่อนไขของผลลัพธ์ซึ่งจะใช้ในภายหลัง

โครงการอื่นๆ ที่คุณสามารถพบได้ที่: https://arduino.php5.sk?lang=en Donate สำหรับตัวอย่างเพิ่มเติม:

แนะนำ: