Page 1 of 1

Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Tue 11 Dec 2018 3:06 pm
by tong
ปัญหาของบ้านทาวน์เฮาส์
- บ้านโบราณไม่ได้ออกแบบท่อน้ำไว้ จึงต้องวางปั๊มน้ำไว้หน้าบ้าน
- เสียงปิดประตูดัง
- เสียงรีโมทรถกระบะมิตซูบิชิ
- เสียงมอไซร์ที่ชอบมาถึงแล้วก็บีบแตร
- ควันพิษจากรถที่จอดติดเครื่อง โดยเฉพาะพ่อแม่ที่มีลูกสุดที่รัก

ในบทความนี้จะกล่าวถึงเรื่องควันพิษจากรถยนต์ บางบ้านที่โชคร้ายได้อยู่ติดกับบ้านสอนพิเศษ จะมีพวกผู้ปกครองมาจอดติดเครื่องนานๆ เกือบ 100% ถ้าเราไปเตือนก็จะโดนเวี่ยงใส่ คนพวกนี้จะมีนิสัยกักขระอยู่แล้ว เพราะคนดีๆคงไม่ติดเครื่องนานๆเป็นแน่แท้ ส่วนใหญ่จะอ้างว่ามีเด็กเล็กอยู่ในรถ บางคนก็อ้างว่าไม่ใช่หน้าบ้านตัวเองสักหน่อย อีกกรณีคือคนสูงอายุเขาจะมีรถเก่าๆที่ไม่ค่อยได้ขับ มักจะชอบติดเครื่องชาร์ทแบตทุกวัน

และเนื่องจากปัจจุบันนี้ทางเมืองจีนได้มีความเจริญทางด้านอิเล็กทรอนิกส์ มีโมดูลสำเร็จรูปมากมายให้เลือกใช้ อีกทั้งราคาก็ถูกมาก ค่าส่งฟรี ผู้เขียนจึงได้ลองประดิษฐ์เครื่องตรวจจับอากาศมาใช้เตือนควันพิษ

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Tue 11 Dec 2018 3:10 pm
by tong
...

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Tue 11 Dec 2018 3:10 pm
by tong
...

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Tue 11 Dec 2018 3:29 pm
by tong
001_UNO_R3.jpg ประมาณ MAY 2015 ได้ซื้อบอร์ด Arduino UNO R3 มาลองเขียนโปรแกรม
แต่เป็นของจีนเลียนแบบ มาพร้อมกับสาย USB สีฟ้าใสแบบในรูป ช่วงนั้นราคาประมาณ 200 บาท
ตอนแรกจะเอามาทำเครื่องปิดเปิดพัดลมอัตโนมัติ ใช้ตอนนั่งเล่นคอมพิวเตอร์
แต่โมดูล PIR ทำงานไม่แม่นยำ โปรเจคนั้นเป็นอันต้องยกเลิกไป

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Tue 11 Dec 2018 3:37 pm
by tong
002_MQ-2.png ปัญหาควันเหม็นจากรถจอดหน้าบ้าน รบกวนอยู่ทุกวัน
จึงได้คิดทำเครื่องตรวจสภาพอากาศ

12 JUL 2016 สั่งซื้อโมดูล MQ-2 มาลองศึกษา ราคา $1.09
โมดูลนี้เป็นรุ่น FC-22 จะมีค่า RL = 1 kohm
002_FC-22.png

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Tue 11 Dec 2018 3:48 pm
by tong
003_LCD_20x4.png ตัวตรวจจับอากาศทำงานได้ดี แต่ต้องดูตัวเลขใน console ตลอดเวลา
05 AUG 2016 สั่งซื้อโมดูล LCD 20x4 มาใช้แสดงผล ราคา $4.30
ปกติแล้วโมดูล LCD จะสื่อสารด้วยโปรโตคอลแบบขนานซึ่งจะใช้สายจำนวนมาก ทำให้ไม่สะดวกในการใช้งานจริง
เวลาซื้อให้เลือกแบบมีวงจรแปลงโปรโตคอล I2C (2 wires serial) มาด้วย เมื่อรวมกับไฟเลี้ยงก็จะใช้สายเพียงแค่ 4 เส้น
โมดูล LCD นี้เราต้องมาเขียนโปรแกรมเพื่อจัดตัวอักษรตามตำแหน่งต่างๆเอาเอง

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Tue 11 Dec 2018 4:14 pm
by tong
004_MQ-135.png เมื่อต่อสายทดสอบใช้งานจริง ค่าที่วัดได้แกว่งมากๆ ไม่แน่นอน
04 SEP 2016 สั่งซื้อโมดูล MQ-135 มาทดลอง ราคา $1.36

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Tue 11 Dec 2018 4:18 pm
by tong
MQ-135 ก็วัดได้ค่าที่ไม่แน่นอน ใช้ไม่ได้ผลเหมือนกับ PIR โมดูล
คิดว่าโมดูลต่างๆมีความไม่เสถียร ยากต่องานที่ละเอียดๆ
จึงเลิกวิจัย ณ OCT 2016

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Tue 11 Dec 2018 4:21 pm
by tong
เวลาผ่านไป 2 ปีประมาณปลายเดือน OCT 2018 ได้กลับมาวิจัยเครื่องวัดควันเหม็นต่อ
ณ เวลานี้มีคนที่ทำเครื่องตรวจอากาศเพิ่มขึ้นจำนวนมาก มีตัวอย่างและการพัฒนามากมาย
ได้พบว่าคนที่สอนคนแรกได้ใช้คำสั่งผิด จาก log10 ดันไปใช้ log ธรรมดา
ทำให้ได้ค่า PPM ที่ไม่ถูกต้อง

Code: Select all

int GetPPM(float RS_RO_Ratio, float *Graph)
{
  return (pow(10,(((log10(RS_RO_Ratio)-Graph[1])/Graph[2])+Graph[0])));
}

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Tue 11 Dec 2018 4:52 pm
by tong
005_LOG10.png เนื่องจากมีคนสอนและตัวอย่างเพิ่มขึ้นมากมาย
http://exploreembedded.com/wiki/Interfacing_Gas_Sensor
https://github.com/zesteros/ArduinoAirQualityMonitor

05 NOV 2018 ได้เรียนรู้วิธีใช้สูตรคำนวนค่า PPM จากกราฟใน datasheet
ทำให้สามารถคำนวนได้จากทุกโมดูล MQ series

จัดทำ Excel เพื่อคำนวนหาค่า slope จากกราฟ log10

[ใส่รูปตาราง Excel]

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Tue 11 Dec 2018 5:08 pm
by tong
สำหรับควันเหม็นค่า PPM นั้นไม่มีความสำคัญ จึงได้เอาออกจากโปรแกรม
ใช้วิธีเปรียบเทียบระดับสัญญาณ analog ค่าเฉลี่ย 5 นาทีและ 10 วินาที
ถ้าแตกต่างเกิน 5% ให้แจ้งเตือน

ปัญหาต่อมาคือจุดติดตั้ง sensor นั้นอยู่ลึกเกินไป พอควันพิษมาถึงก็จะปิดประตูบ้านไม่ทันแล้ว
จึงได้ทดลองย้ายจุด sensor ไปอยู่ที่ริมถนนเลย แต่เนื่องจาก sensor กินไฟ 130mA
ทำให้ไม่เหมาะที่จะใช้ระบบไร้สาย เพราะต้องเปิดใช้ตั้งแต่เช้ายันค่ำ
ผู้เขียนจึงใช้สายโทรศัพท์เก่าๆที่เป็น 4 คอร์ ยาวประมาณ 30 เมตร
ทดลองแล้วได้ผลดีแต่มักจะทำงานผิดพลาด ค่าสัญญาณชอบแสดงเป็น 1023
ทดลองเปลี่ยนเอาโมดูล MQ-2 มาใช้แทนก็ยังชอบ error 1023

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Tue 11 Dec 2018 5:15 pm
by tong
005_30m.png 09 NOV 2018 ตั้งกระทู้ถาม เหตุใดจึงชอบแสดงสัญญาณเป็น 1023?
ได้ความว่า เนื่องจากสายที่ยาวและเส้นเล็กทำให้ voltage 5V ลดลงเหลือ 4.5V

10 NOV 2018 ทดลองจ่ายไฟ 12V แล้วค่อยแปลงไฟลงมา 5V ที่จุด sensor
พบปัญหา regulator 7805 ใช้ capacitor เล็กเกินไปจึงได้เพิ่มขนาด
ตอนนี้ได้ผลดีมาก ไม่มีปัญหา error 1023 อีกต่อไป

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Tue 11 Dec 2018 5:27 pm
by tong
19 NOV 2018 ศึกษาการแปลงค่า analogRead() ไปเป็น voltage ว่าจะใช้ค่า 1023 หรือ 1024
และทำไมเวลาโปรแกรม error จะแสดงค่า 1023
พบว่ามีคนใช้ผิดจำนวนมาก มีการถกเถียงกันมาอย่างยาวนาน
สรุปได้ความว่า จะต้องใช้ตัวเลข 1024 ในการคำนวน DAC
แต่ใน Arduino จะแสดงค่าได้สูงสุดแค่ 1023 เท่านั้น

Code: Select all

DAC = analogRead(MQ_PIN);
RS = RL * (1024.0 - DAC) / DAC;

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Tue 11 Dec 2018 7:30 pm
by tong
033.jpg 013.jpg 21 NOV 2018 เพิ่ม sensor เป็น 2 ตัว
ประสบปัญหาไฟ 5V ไม่เท่ากัน ต้องเปลี่ยนสายไฟและขั้วต่อใหม่

22 NOV 2018 พบปัญหา IC 7805 ร้อนเกินไปเมื่อใช้ input 12V

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Tue 11 Dec 2018 7:49 pm
by tong
011_Switching_5V.png 23 NOV 2018 สั่งซื้อ Switching Regulator 5V ราคา $0.90
เพื่อใช้แทน 7805 ที่มีปัญหาความร้อน

012_Adapter_9V.png 23 NOV 2018 สั่งซื้อ Power Adapter 9V ราคา $3.28
เพื่อใช้กับบอร์ด Arduino และไฟเลี้ยงไปยังชุด sensors ริมรั้ว

023_M3_Nylon_Spacer.png 25 NOV 2018 สั่งซื้อ M3 Nylon Spacer ราคา $3.99
ใช้ติดตั้งบอร์ดและจอ LCD ลงกล่อง

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Tue 11 Dec 2018 9:00 pm
by tong
025.jpg 026.jpg SAM_5734s.jpg 08 DEC 2018 เปลี่ยนเป็น switching regulator 5V แล้ว ความร้อนน้อยมาก

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Tue 11 Dec 2018 10:46 pm
by tong
031_30m.png 10 DEC 2018 ใช้ Power Adapter 9V เพื่อลด power dissipation

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Wed 12 Dec 2018 12:38 am
by tong
041.png 042.png 043.png 11 DEC 2018 ตัวต้นแบบใช้งานได้ดีแล้ว
สามารถตรวจจับควันรถกระบะที่มาจอดส่งของได้
สามารถตรวจจับควันรถมอเตอร์ไซค์ที่มาจอดได้
กลางคืนตรวจจับควันที่ชาวบ้านเผาไม้ไล่ยุงได้

บอร์ด UNO R3 มีขั้วกราวด์น้อยและเป็นแบบ female
เหมาะสำหรับใช้ร่วมกับ breadboard
ถ้าจะเอามาใช้งานจริงต้องทำกราวด์บาร์เพิ่ม

ควรหาบอร์ดที่ดัดแปลงมีขั้ว I/O แบบเข็มเยอะๆ
และ USB ควรจะเป็นแบบ microUSB
ขั้วแบบเข็มจะเตี้ยกว่าเมื่อใช้ร่วมกับ dupont female

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Thu 13 Dec 2018 12:44 am
by tong
061_Strong.jpg 062_Plus.jpg บอร์ด UNO R3 ดัดแปลงพิเศษรุ่น strong และ plus
ขั้วต่อสาย sensor เยอะได้ใจ สะดวกมาก

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Fri 21 Dec 2018 9:35 pm
by tong
071.jpg 072.jpg 073.jpg 18 DEC 2018 ใช้กล่องข้าวที่สะสมไว้มาทำเป็นเคส

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Fri 21 Dec 2018 9:37 pm
by tong
081.jpg ลำโพงถอดมาจากมือถือเก่าๆ สามารถใช้เตือนเป็นเสียงความถี่ต่างๆได้

Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse

Posted: Fri 21 Dec 2018 9:39 pm
by tong
088.jpg 20 DEC 2018 สวิทซ์ที่เตรียมไว้ พอบัดกรีแล้วขาดันหลุด ต้องดัดแปลงใช้สวิทซ์จากเคสคอมพิวเตอร์ที่สะสมไว้