Arduino: Project Outdoor Exhaust Gas Detector for Townhouse
Arduino: Project Outdoor Exhaust Gas Detector for Townhouse
ปัญหาของบ้านทาวน์เฮาส์
- บ้านโบราณไม่ได้ออกแบบท่อน้ำไว้ จึงต้องวางปั๊มน้ำไว้หน้าบ้าน
- เสียงปิดประตูดัง
- เสียงรีโมทรถกระบะมิตซูบิชิ
- เสียงมอไซร์ที่ชอบมาถึงแล้วก็บีบแตร
- ควันพิษจากรถที่จอดติดเครื่อง โดยเฉพาะพ่อแม่ที่มีลูกสุดที่รัก
ในบทความนี้จะกล่าวถึงเรื่องควันพิษจากรถยนต์ บางบ้านที่โชคร้ายได้อยู่ติดกับบ้านสอนพิเศษ จะมีพวกผู้ปกครองมาจอดติดเครื่องนานๆ เกือบ 100% ถ้าเราไปเตือนก็จะโดนเวี่ยงใส่ คนพวกนี้จะมีนิสัยกักขระอยู่แล้ว เพราะคนดีๆคงไม่ติดเครื่องนานๆเป็นแน่แท้ ส่วนใหญ่จะอ้างว่ามีเด็กเล็กอยู่ในรถ บางคนก็อ้างว่าไม่ใช่หน้าบ้านตัวเองสักหน่อย อีกกรณีคือคนสูงอายุเขาจะมีรถเก่าๆที่ไม่ค่อยได้ขับ มักจะชอบติดเครื่องชาร์ทแบตทุกวัน
และเนื่องจากปัจจุบันนี้ทางเมืองจีนได้มีความเจริญทางด้านอิเล็กทรอนิกส์ มีโมดูลสำเร็จรูปมากมายให้เลือกใช้ อีกทั้งราคาก็ถูกมาก ค่าส่งฟรี ผู้เขียนจึงได้ลองประดิษฐ์เครื่องตรวจจับอากาศมาใช้เตือนควันพิษ
- บ้านโบราณไม่ได้ออกแบบท่อน้ำไว้ จึงต้องวางปั๊มน้ำไว้หน้าบ้าน
- เสียงปิดประตูดัง
- เสียงรีโมทรถกระบะมิตซูบิชิ
- เสียงมอไซร์ที่ชอบมาถึงแล้วก็บีบแตร
- ควันพิษจากรถที่จอดติดเครื่อง โดยเฉพาะพ่อแม่ที่มีลูกสุดที่รัก
ในบทความนี้จะกล่าวถึงเรื่องควันพิษจากรถยนต์ บางบ้านที่โชคร้ายได้อยู่ติดกับบ้านสอนพิเศษ จะมีพวกผู้ปกครองมาจอดติดเครื่องนานๆ เกือบ 100% ถ้าเราไปเตือนก็จะโดนเวี่ยงใส่ คนพวกนี้จะมีนิสัยกักขระอยู่แล้ว เพราะคนดีๆคงไม่ติดเครื่องนานๆเป็นแน่แท้ ส่วนใหญ่จะอ้างว่ามีเด็กเล็กอยู่ในรถ บางคนก็อ้างว่าไม่ใช่หน้าบ้านตัวเองสักหน่อย อีกกรณีคือคนสูงอายุเขาจะมีรถเก่าๆที่ไม่ค่อยได้ขับ มักจะชอบติดเครื่องชาร์ทแบตทุกวัน
และเนื่องจากปัจจุบันนี้ทางเมืองจีนได้มีความเจริญทางด้านอิเล็กทรอนิกส์ มีโมดูลสำเร็จรูปมากมายให้เลือกใช้ อีกทั้งราคาก็ถูกมาก ค่าส่งฟรี ผู้เขียนจึงได้ลองประดิษฐ์เครื่องตรวจจับอากาศมาใช้เตือนควันพิษ
Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse
ประมาณ MAY 2015 ได้ซื้อบอร์ด Arduino UNO R3 มาลองเขียนโปรแกรม
แต่เป็นของจีนเลียนแบบ มาพร้อมกับสาย USB สีฟ้าใสแบบในรูป ช่วงนั้นราคาประมาณ 200 บาท
ตอนแรกจะเอามาทำเครื่องปิดเปิดพัดลมอัตโนมัติ ใช้ตอนนั่งเล่นคอมพิวเตอร์
แต่โมดูล PIR ทำงานไม่แม่นยำ โปรเจคนั้นเป็นอันต้องยกเลิกไป
แต่เป็นของจีนเลียนแบบ มาพร้อมกับสาย USB สีฟ้าใสแบบในรูป ช่วงนั้นราคาประมาณ 200 บาท
ตอนแรกจะเอามาทำเครื่องปิดเปิดพัดลมอัตโนมัติ ใช้ตอนนั่งเล่นคอมพิวเตอร์
แต่โมดูล PIR ทำงานไม่แม่นยำ โปรเจคนั้นเป็นอันต้องยกเลิกไป
Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse
ปัญหาควันเหม็นจากรถจอดหน้าบ้าน รบกวนอยู่ทุกวัน
จึงได้คิดทำเครื่องตรวจสภาพอากาศ
12 JUL 2016 สั่งซื้อโมดูล MQ-2 มาลองศึกษา ราคา $1.09
โมดูลนี้เป็นรุ่น FC-22 จะมีค่า RL = 1 kohm
จึงได้คิดทำเครื่องตรวจสภาพอากาศ
12 JUL 2016 สั่งซื้อโมดูล MQ-2 มาลองศึกษา ราคา $1.09
โมดูลนี้เป็นรุ่น FC-22 จะมีค่า RL = 1 kohm
Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse
ตัวตรวจจับอากาศทำงานได้ดี แต่ต้องดูตัวเลขใน console ตลอดเวลา
05 AUG 2016 สั่งซื้อโมดูล LCD 20x4 มาใช้แสดงผล ราคา $4.30
ปกติแล้วโมดูล LCD จะสื่อสารด้วยโปรโตคอลแบบขนานซึ่งจะใช้สายจำนวนมาก ทำให้ไม่สะดวกในการใช้งานจริง
เวลาซื้อให้เลือกแบบมีวงจรแปลงโปรโตคอล I2C (2 wires serial) มาด้วย เมื่อรวมกับไฟเลี้ยงก็จะใช้สายเพียงแค่ 4 เส้น
โมดูล LCD นี้เราต้องมาเขียนโปรแกรมเพื่อจัดตัวอักษรตามตำแหน่งต่างๆเอาเอง
05 AUG 2016 สั่งซื้อโมดูล LCD 20x4 มาใช้แสดงผล ราคา $4.30
ปกติแล้วโมดูล LCD จะสื่อสารด้วยโปรโตคอลแบบขนานซึ่งจะใช้สายจำนวนมาก ทำให้ไม่สะดวกในการใช้งานจริง
เวลาซื้อให้เลือกแบบมีวงจรแปลงโปรโตคอล I2C (2 wires serial) มาด้วย เมื่อรวมกับไฟเลี้ยงก็จะใช้สายเพียงแค่ 4 เส้น
โมดูล LCD นี้เราต้องมาเขียนโปรแกรมเพื่อจัดตัวอักษรตามตำแหน่งต่างๆเอาเอง
Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse
เมื่อต่อสายทดสอบใช้งานจริง ค่าที่วัดได้แกว่งมากๆ ไม่แน่นอน
04 SEP 2016 สั่งซื้อโมดูล MQ-135 มาทดลอง ราคา $1.36
04 SEP 2016 สั่งซื้อโมดูล MQ-135 มาทดลอง ราคา $1.36
Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse
MQ-135 ก็วัดได้ค่าที่ไม่แน่นอน ใช้ไม่ได้ผลเหมือนกับ PIR โมดูล
คิดว่าโมดูลต่างๆมีความไม่เสถียร ยากต่องานที่ละเอียดๆ
จึงเลิกวิจัย ณ OCT 2016
คิดว่าโมดูลต่างๆมีความไม่เสถียร ยากต่องานที่ละเอียดๆ
จึงเลิกวิจัย ณ OCT 2016
Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse
เวลาผ่านไป 2 ปีประมาณปลายเดือน OCT 2018 ได้กลับมาวิจัยเครื่องวัดควันเหม็นต่อ
ณ เวลานี้มีคนที่ทำเครื่องตรวจอากาศเพิ่มขึ้นจำนวนมาก มีตัวอย่างและการพัฒนามากมาย
ได้พบว่าคนที่สอนคนแรกได้ใช้คำสั่งผิด จาก log10 ดันไปใช้ log ธรรมดา
ทำให้ได้ค่า PPM ที่ไม่ถูกต้อง
ณ เวลานี้มีคนที่ทำเครื่องตรวจอากาศเพิ่มขึ้นจำนวนมาก มีตัวอย่างและการพัฒนามากมาย
ได้พบว่าคนที่สอนคนแรกได้ใช้คำสั่งผิด จาก 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
เนื่องจากมีคนสอนและตัวอย่างเพิ่มขึ้นมากมาย
http://exploreembedded.com/wiki/Interfacing_Gas_Sensor
https://github.com/zesteros/ArduinoAirQualityMonitor
05 NOV 2018 ได้เรียนรู้วิธีใช้สูตรคำนวนค่า PPM จากกราฟใน datasheet
ทำให้สามารถคำนวนได้จากทุกโมดูล MQ series
จัดทำ Excel เพื่อคำนวนหาค่า slope จากกราฟ log10
[ใส่รูปตาราง Excel]
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
สำหรับควันเหม็นค่า PPM นั้นไม่มีความสำคัญ จึงได้เอาออกจากโปรแกรม
ใช้วิธีเปรียบเทียบระดับสัญญาณ analog ค่าเฉลี่ย 5 นาทีและ 10 วินาที
ถ้าแตกต่างเกิน 5% ให้แจ้งเตือน
ปัญหาต่อมาคือจุดติดตั้ง sensor นั้นอยู่ลึกเกินไป พอควันพิษมาถึงก็จะปิดประตูบ้านไม่ทันแล้ว
จึงได้ทดลองย้ายจุด sensor ไปอยู่ที่ริมถนนเลย แต่เนื่องจาก sensor กินไฟ 130mA
ทำให้ไม่เหมาะที่จะใช้ระบบไร้สาย เพราะต้องเปิดใช้ตั้งแต่เช้ายันค่ำ
ผู้เขียนจึงใช้สายโทรศัพท์เก่าๆที่เป็น 4 คอร์ ยาวประมาณ 30 เมตร
ทดลองแล้วได้ผลดีแต่มักจะทำงานผิดพลาด ค่าสัญญาณชอบแสดงเป็น 1023
ทดลองเปลี่ยนเอาโมดูล MQ-2 มาใช้แทนก็ยังชอบ error 1023
ใช้วิธีเปรียบเทียบระดับสัญญาณ analog ค่าเฉลี่ย 5 นาทีและ 10 วินาที
ถ้าแตกต่างเกิน 5% ให้แจ้งเตือน
ปัญหาต่อมาคือจุดติดตั้ง sensor นั้นอยู่ลึกเกินไป พอควันพิษมาถึงก็จะปิดประตูบ้านไม่ทันแล้ว
จึงได้ทดลองย้ายจุด sensor ไปอยู่ที่ริมถนนเลย แต่เนื่องจาก sensor กินไฟ 130mA
ทำให้ไม่เหมาะที่จะใช้ระบบไร้สาย เพราะต้องเปิดใช้ตั้งแต่เช้ายันค่ำ
ผู้เขียนจึงใช้สายโทรศัพท์เก่าๆที่เป็น 4 คอร์ ยาวประมาณ 30 เมตร
ทดลองแล้วได้ผลดีแต่มักจะทำงานผิดพลาด ค่าสัญญาณชอบแสดงเป็น 1023
ทดลองเปลี่ยนเอาโมดูล MQ-2 มาใช้แทนก็ยังชอบ error 1023
Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse
09 NOV 2018 ตั้งกระทู้ถาม เหตุใดจึงชอบแสดงสัญญาณเป็น 1023?
ได้ความว่า เนื่องจากสายที่ยาวและเส้นเล็กทำให้ voltage 5V ลดลงเหลือ 4.5V
10 NOV 2018 ทดลองจ่ายไฟ 12V แล้วค่อยแปลงไฟลงมา 5V ที่จุด sensor
พบปัญหา regulator 7805 ใช้ capacitor เล็กเกินไปจึงได้เพิ่มขนาด
ตอนนี้ได้ผลดีมาก ไม่มีปัญหา error 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
19 NOV 2018 ศึกษาการแปลงค่า analogRead() ไปเป็น voltage ว่าจะใช้ค่า 1023 หรือ 1024
และทำไมเวลาโปรแกรม error จะแสดงค่า 1023
พบว่ามีคนใช้ผิดจำนวนมาก มีการถกเถียงกันมาอย่างยาวนาน
สรุปได้ความว่า จะต้องใช้ตัวเลข 1024 ในการคำนวน DAC
แต่ใน Arduino จะแสดงค่าได้สูงสุดแค่ 1023 เท่านั้น
และทำไมเวลาโปรแกรม 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
21 NOV 2018 เพิ่ม sensor เป็น 2 ตัว
ประสบปัญหาไฟ 5V ไม่เท่ากัน ต้องเปลี่ยนสายไฟและขั้วต่อใหม่
22 NOV 2018 พบปัญหา IC 7805 ร้อนเกินไปเมื่อใช้ input 12V
ประสบปัญหาไฟ 5V ไม่เท่ากัน ต้องเปลี่ยนสายไฟและขั้วต่อใหม่
22 NOV 2018 พบปัญหา IC 7805 ร้อนเกินไปเมื่อใช้ input 12V
Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse
23 NOV 2018 สั่งซื้อ Switching Regulator 5V ราคา $0.90
เพื่อใช้แทน 7805 ที่มีปัญหาความร้อน
23 NOV 2018 สั่งซื้อ Power Adapter 9V ราคา $3.28
เพื่อใช้กับบอร์ด Arduino และไฟเลี้ยงไปยังชุด sensors ริมรั้ว
25 NOV 2018 สั่งซื้อ M3 Nylon Spacer ราคา $3.99
ใช้ติดตั้งบอร์ดและจอ LCD ลงกล่อง
เพื่อใช้แทน 7805 ที่มีปัญหาความร้อน
23 NOV 2018 สั่งซื้อ Power Adapter 9V ราคา $3.28
เพื่อใช้กับบอร์ด Arduino และไฟเลี้ยงไปยังชุด sensors ริมรั้ว
25 NOV 2018 สั่งซื้อ M3 Nylon Spacer ราคา $3.99
ใช้ติดตั้งบอร์ดและจอ LCD ลงกล่อง
Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse
08 DEC 2018 เปลี่ยนเป็น switching regulator 5V แล้ว ความร้อนน้อยมาก
Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse
10 DEC 2018 ใช้ Power Adapter 9V เพื่อลด power dissipation
Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse
11 DEC 2018 ตัวต้นแบบใช้งานได้ดีแล้ว
สามารถตรวจจับควันรถกระบะที่มาจอดส่งของได้
สามารถตรวจจับควันรถมอเตอร์ไซค์ที่มาจอดได้
กลางคืนตรวจจับควันที่ชาวบ้านเผาไม้ไล่ยุงได้
บอร์ด UNO R3 มีขั้วกราวด์น้อยและเป็นแบบ female
เหมาะสำหรับใช้ร่วมกับ breadboard
ถ้าจะเอามาใช้งานจริงต้องทำกราวด์บาร์เพิ่ม
ควรหาบอร์ดที่ดัดแปลงมีขั้ว I/O แบบเข็มเยอะๆ
และ USB ควรจะเป็นแบบ microUSB
ขั้วแบบเข็มจะเตี้ยกว่าเมื่อใช้ร่วมกับ dupont female
สามารถตรวจจับควันรถกระบะที่มาจอดส่งของได้
สามารถตรวจจับควันรถมอเตอร์ไซค์ที่มาจอดได้
กลางคืนตรวจจับควันที่ชาวบ้านเผาไม้ไล่ยุงได้
บอร์ด UNO R3 มีขั้วกราวด์น้อยและเป็นแบบ female
เหมาะสำหรับใช้ร่วมกับ breadboard
ถ้าจะเอามาใช้งานจริงต้องทำกราวด์บาร์เพิ่ม
ควรหาบอร์ดที่ดัดแปลงมีขั้ว I/O แบบเข็มเยอะๆ
และ USB ควรจะเป็นแบบ microUSB
ขั้วแบบเข็มจะเตี้ยกว่าเมื่อใช้ร่วมกับ dupont female
Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse
บอร์ด UNO R3 ดัดแปลงพิเศษรุ่น strong และ plus
ขั้วต่อสาย sensor เยอะได้ใจ สะดวกมาก
ขั้วต่อสาย sensor เยอะได้ใจ สะดวกมาก
Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse
18 DEC 2018 ใช้กล่องข้าวที่สะสมไว้มาทำเป็นเคส
Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse
ลำโพงถอดมาจากมือถือเก่าๆ สามารถใช้เตือนเป็นเสียงความถี่ต่างๆได้
Re: Arduino: Project Outdoor Exhaust Gas Detector for Townhouse
20 DEC 2018 สวิทซ์ที่เตรียมไว้ พอบัดกรีแล้วขาดันหลุด ต้องดัดแปลงใช้สวิทซ์จากเคสคอมพิวเตอร์ที่สะสมไว้