โปรเจกต์ระบบตรวจสอบระดับน้ำในแทงค์ไร้สายระยะไกล พร้อมหน้าจอ OLED แสดงผล
สวัสดีชาว Maker ทุกคนครับ! 🛠️ การเช็กระดับน้ำในแทงค์ที่อยู่สูงหรืออยู่ไกลบ้านมักจะเป็นเรื่องลำบากและไม่สะดวกเอาซะเลยใช่ไหมครับ?[cite: 1] วันนี้เราจะพามาทำ "ระบบตรวจสอบระดับน้ำไร้สายระยะไกล (Long Range Wireless Water Tank Monitoring System)" โดยใช้โมดูล REYAX LoRa และบอร์ด Arduino Pro Mini กันครับ[cite: 1]
ระบบนี้แบ่งการทำงานออกเป็น 2 ส่วนหลักๆ คือ ตัวส่งสัญญาณ (Transmitter) ที่ใช้พลังงานแสงอาทิตย์ติดตั้งไว้ที่แทงค์น้ำ และ ตัวรับสัญญาณ (Receiver) แบบพกพาที่มีหน้าจอ OLED แสดงผล[cite: 1] หลักการคือใช้เซนเซอร์อัลตราโซนิกกันน้ำวัดระดับน้ำ แล้วส่งข้อมูลผ่านเทคโนโลยี LoRa ไปยังตัวรับเพื่อแสดงผลเป็นเปอร์เซ็นต์ พร้อมแจ้งเตือน (LOW / FULL) เมื่อน้ำใกล้หมดหรือเต็มแทงค์ครับ[cite: 1]
จุดเด่นของโปรเจกต์นี้คือ "การใช้สัญญาณ LoRa" ทำให้เราส่งข้อมูลไร้สายได้ไกลมากๆ โดยไม่ต้องง้อสัญญาณ Wi-Fi หรืออินเทอร์เน็ตเลยครับ! เหมาะกับบ้าน สวน หรือฟาร์มที่มีพื้นที่กว้างขวางสุดๆ[cite: 1]
อุปกรณ์ที่ต้องใช้ (Supplies) 🧰
บอร์ด Arduino Pro Mini (5V/16MHz) × 2 ชิ้น[cite: 1]
โมดูล LoRa: REYAX RYLR993-Lite × 2 ชิ้น[cite: 1]
หน้าจอแสดงผล SH1106 OLED Display (I2C) × 1 ชิ้น[cite: 1]
เซนเซอร์วัดระยะ: AJ-SR04M Waterproof Ultrasonic Sensor × 1 ชิ้น[cite: 1]
ลำโพงแจ้งเตือน: Active Buzzer × 1 ชิ้น[cite: 1]
แผงโซลาร์เซลล์ (Solar Panel) × 1 ชิ้น[cite: 1]
แบตเตอรี่ 18650 Li-ion × 1 ก้อน พร้อมโมดูลชาร์จ TP4056 × 1 ชิ้น[cite: 1]
โมดูลเพิ่มแรงดัน (Mini Boost Converter 5v) × 2 ชิ้น[cite: 1]
สวิตช์ ON/OFF, เสาอากาศ (Antennas) สำหรับ LoRa และกล่องใส่โปรเจกต์ (Project Enclosure)[cite: 1]
💡 Maker's Tip: โปรเจกต์นี้เป็นการผสานพลังระหว่าง Arduino Pro Mini ที่กินไฟน้อย และ โมดูล LoRa ที่ส่งสัญญาณได้ไกลทะลุทะลวง! หากเพื่อนๆ กำลังมองหา บอร์ด Arduino, เซนเซอร์อัลตราโซนิกกันน้ำ, โมดูลชาร์จแบตเตอรี่ หรือจอ OLED แวะมาช้อปปิ้งของแท้คุณภาพดีได้ที่ Globalbyte Shop เลยครับ! ของครบพร้อมส่ง ลุยโปรเจกต์ IoT ได้ทันที
ขั้นตอนการสร้าง (Step-by-Step) ⚙️
Step 1: ออกแบบวงจรและสั่งทำ PCB
เริ่มต้นด้วยการออกแบบวงจรผ่านซอฟต์แวร์ EasyEDA โดยจัดวาง Layout และเดินลายวงจรให้เรียบร้อย จากนั้นนำไฟล์ Gerber ไปสั่งผลิต PCB (ในโปรเจกต์นี้ผู้สร้างสั่งจาก JLCPCB พร้อมบริการ SMT Assembly)[cite: 1] การออกแบบนี้เป็นแบบ 2-in-1 คือรวมทั้งวงจรฝั่งรับ (RX) และฝั่งส่ง (TX) ไว้ในแผ่นเดียว เมื่อได้รับบอร์ดมาแล้วค่อยตัดแบ่งครึ่งใช้งานครับ[cite: 1]
Step 2: ประกอบอุปกรณ์ลง PCB
ทำการบัดกรีอุปกรณ์ทั้งหมดลงบน PCB ให้เรียบร้อย และทำความสะอาดคราบฟลักซ์ด้วยแอลกอฮอล์[cite: 1] สำหรับโมดูล Mini Boost Converter ค่าเริ่มต้นจากโรงงานจะตั้งไว้ที่ 12V แต่โปรเจกต์เราใช้ 5V ต้องทำการถอดตะกั่วเชื่อม (Desolder) ออกจากจุด "A" และ "B" บนโมดูล เพื่อปรับให้เป็น 5V สำหรับเลี้ยงบอร์ด Arduino ครับ[cite: 1]
Step 3: ตั้งค่าบอร์ด Arduino และโมดูล LoRa
ก่อนใช้งาน ต้องตั้งค่าโมดูล REYAX ผ่าน USB-to-TTL โดยใช้โปรแกรม Serial Monitor เพื่อส่งคำสั่ง AT Commands ครับ (สามารถกดดูโค้ดคำสั่งได้ในปุ่ม View More ด้านล่าง)[cite: 1] สำหรับฝั่งตัวส่ง (TX) ก่อนอัปโหลดโค้ดลง Arduino อย่าลืมวัดความสูงรวมของแทงค์น้ำ และนำค่าไปแก้ในโค้ดด้วยนะครับ (ข้อควรระวัง: เซนเซอร์กันน้ำมีจุดบอด หรือ Blind spot อยู่ที่ประมาณ 20 ซม. ต้องติดตั้งให้มีระยะห่างจากระดับน้ำสูงสุดด้วยครับ) [cite: 1]
Step 4: ประกอบฮาร์ดแวร์ขั้นสุดท้าย
บัดกรี Arduino Pro Mini และโมดูล LoRa ลงบน PCB โดยระวังอย่าสลับขา RX และ TX เด็ดขาด![cite: 1] จากนั้นติดตั้งรางถ่าน 18650 และนำบอร์ดทั้งหมดใส่ลงในเคสอะคริลิกที่เตรียมไว้ พร้อมเดินสายเสาอากาศ (Antenna) ออกมาด้านนอกกล่องเพื่อให้รับส่งสัญญาณได้ดีที่สุดครับ[cite: 1]
Step 5: ติดตั้งตัวส่งสัญญาณ (Transmitter Unit) ที่แทงค์น้ำ
เจาะรูตรงกลางฝาปิดแทงค์น้ำ แล้วยึดเซนเซอร์อัลตราโซนิกให้คว่ำหน้าลงหากผิวน้ำ (การติดตรงกลางจะช่วยให้อ่านค่าได้แม่นยำที่สุด)[cite: 1] จากนั้นต่อสายเซนเซอร์เข้ากับบอร์ด นำแผงโซลาร์เซลล์มาต่อเข้ากับโมดูล TP4056 เพื่อชาร์จแบตเตอรี่ 18650 แบบสแตนด์อะโลน และยึดแผงโซลาร์เซลล์ไว้ด้านบนให้รับแดดได้เต็มที่ครับ[cite: 1]
Step 6: เปิดเครื่องและทดสอบระบบ
เมื่อเปิดเครื่องฝั่งตัวรับสัญญาณ (Receiver) ภายในไม่กี่วินาที หน้าจอ OLED จะแสดงผลระดับน้ำแบบเปอร์เซ็นต์ พร้อมกราฟิกแอนิเมชันสวยงาม[cite: 1] สัญญาณ LoRa จะทำหน้าที่ส่งข้อมูลระยะไกลทะลุสิ่งกีดขวางมาถึงในบ้านได้อย่างเสถียร หากน้ำใกล้หมดหรือเต็มแทงค์ ลำโพง Buzzer ก็จะส่งเสียงเตือนทันทีครับ เป็นอันเสร็จสิ้นพร้อมใช้งานจริง![cite: 1]
▼ เปิดดูภาพประกอบ โค้ดคำสั่ง และวิดีโอสาธิต ▲ ซ่อนรายละเอียดเพิ่มเติม
คำสั่งตั้งค่าโมดูล LoRa (AT Commands) 💻
เชื่อมต่อ REYAX module ผ่าน USB-to-TTL แล้วส่งคำสั่งเหล่านี้ผ่าน Serial Monitor:
Copy Code
// การตั้งค่าสำหรับตัวรับ (Receiver - RX):
AT
AT+OPMODE=1
AT+BAND=865000000
AT+ADDRESS=1
// การตั้งค่าสำหรับตัวส่ง (Transmitter - TX):
AT
AT+OPMODE=1
AT+BAND=865000000
AT+ADDRESS=2
*หมายเหตุ: คลื่นความถี่ (BAND) อาจต้องปรับเปลี่ยนตามกฎหมายโทรคมนาคม (กสทช.) ของแต่ละประเทศนะครับ[cite: 1]
ดาวน์โหลด Source Code สำหรับ Arduino 📥
แกลเลอรีภาพประกอบการประกอบวงจรและติดตั้ง 📸
วิดีโอสาธิตการทำโปรเจกต์ฉบับเต็ม 🎬
VIDEO
📚 แหล่งข้อมูลศึกษาเพิ่มเติมและต้นฉบับ:
*คำเตือนและข้อแนะนำ: เนื้อหาบทความนี้สรุปและแปลมาจากบทความภาษาอังกฤษ (Instructables) การทำงานกับคลื่นความถี่วิทยุ (LoRa) ควรตรวจสอบข้อบังคับของ กสทช. ในประเทศไทยเกี่ยวกับการใช้คลื่นความถี่สาธารณะ การดัดแปลงบอร์ดวงจรและการตั้งค่าโค้ดต่างๆ ควรศึกษาจาก
ต้นฉบับ โดยละเอียดก่อนลงมือปฏิบัติจริงครับ
[cite: 1]