สารบัญ:
- ขั้นตอนที่ 1: วัสดุ
- ขั้นตอนที่ 2: รับข้อมูลจากเซ็นเซอร์
- ขั้นตอนที่ 3: การส่งข้อมูลผ่าน Bluetooth
- ขั้นตอนที่ 4: การรับข้อมูลและถ่ายโอนไปยัง Raspberry Pi
- ขั้นตอนที่ 5: การบันทึกข้อมูลและคุณสมบัติการแจ้งเตือน
- ขั้นตอนที่ 6: การสร้างเคส
- ขั้นตอนที่ 7: การปรับปรุง
- ขั้นตอนที่ 8: ภาพประกอบของกลุ่มของเรา
วีดีโอ: วิธีทำชุดตรวจจับแอมโมเนีย: 8 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
ในบทช่วยสอนนี้ เราจะแสดงวิธีใช้เซ็นเซอร์แอมโมเนีย Arduino และราสเบอร์รี่เพื่อวัดความเข้มข้นของแอมโมเนียและแจ้งเตือนหากมีการรั่วไหลหรือมีความเข้มข้นสูงเกินไปในอากาศ!
โครงการนี้เป็นโครงการของโรงเรียนของเรา อันที่จริง ห้องปฏิบัติการเคมีของโรงเรียนของเราต้องการระบบตรวจจับว่าความเข้มข้นของแอมโมเนียในอากาศสูงเกินไปหรือไม่ ในห้องแล็บมีฮูดสำหรับห้องปฏิบัติการเคมี และนักเรียนต้องเปิดฮู้ดเหล่านั้นเพื่อดูดไอระเหยของสารเคมี แต่ถ้าพวกเขาลืมเปิดเครื่องดูดควัน ไอระเหยที่เป็นพิษสามารถแพร่กระจายภายในห้องปฏิบัติการได้ ระบบนี้จะช่วยให้ครูที่รับผิดชอบได้รับการแจ้งเตือนหากตรวจพบแอมโมเนีย (ซึ่งเป็นก๊าซพิษชนิดหนึ่ง) นอกเครื่องดูดควันเหล่านั้น
ขั้นตอนที่ 1: วัสดุ
สำหรับโครงการนี้ คุณจะต้อง:
- 2x แอมโมเนียเซนเซอร์ MQ-137 (หรือมากเท่าที่คุณต้องการ)
- 1x Arduino Uno (มีพอร์ตอนุกรมหนึ่งพอร์ต)
- 1x Genuino Mega 2560 (หรือบอร์ดอื่นๆ ที่มีพอร์ตอนุกรมตั้งแต่ 2 พอร์ตขึ้นไป)
- 2x โมดูลบลูทูธ HC-05
- 1x Raspberry Pi รุ่น 3B
- 1x แบตเตอรี่ 9V
- สายไฟ สายเคเบิล และตัวต้านทาน
ขั้นตอนที่ 2: รับข้อมูลจากเซ็นเซอร์
เซ็นเซอร์เชื่อมต่อกับ Arduino Uno
ในการตระหนักถึงแอปพลิเคชันนี้ เซ็นเซอร์นี้จะต้องได้รับพลังงาน ในการทำเช่นนี้จะใช้ 5V และมวลของการ์ด Arduino นอกจากนี้ อินพุตแบบอะนาล็อก A0 ยังช่วยให้สามารถกู้คืนค่าความต้านทานที่กำหนดโดยเซ็นเซอร์ได้ นอกจากนี้ Arduino ยังขับเคลื่อนด้วย
น่าเสียดายที่เซ็นเซอร์เหล่านั้นไม่ได้ให้เอาต์พุตเชิงเส้นตามสัดส่วนกับความเข้มข้นของแอมโมเนีย เซ็นเซอร์เหล่านี้ทำมาจากเซลล์ไฟฟ้าเคมี ซึ่งจะเปลี่ยนความต้านทานที่เกี่ยวข้องกับความเข้มข้น ความต้านทานเพิ่มขึ้นตามความเข้มข้น
ปัญหาที่แท้จริงของสิ่งเหล่านี้คือพวกมันถูกสร้างขึ้นมาเพื่อวัดก๊าซชนิดต่าง ๆ และเซลล์ไฟฟ้าเคมีทำปฏิกิริยาแปลก ๆ ตัวอย่างเช่น สำหรับตัวอย่างแอมโมเนียเหลวชนิดเดียวกัน เซ็นเซอร์ทั้งสองให้เอาต์พุตต่างกัน พวกเขายังค่อนข้างช้า
ไม่ว่าจะด้วยวิธีใด ความต้านทานที่ได้จากเซ็นเซอร์จะถูกแปลงเป็น 0-5V จากนั้นเป็น "ppm" (= ส่วนต่อล้าน เป็นหน่วยที่เกี่ยวข้องในการวัดความเข้มข้นของก๊าซ) โดย Arduino โดยใช้กราฟแนวโน้มและสมการของอาร์ดิโน เอกสารของเซ็นเซอร์เหล่านี้
ขั้นตอนที่ 3: การส่งข้อมูลผ่าน Bluetooth
เพื่อที่จะติดตั้งเซ็นเซอร์ในสถานที่ต่างๆ ในห้องปฏิบัติการ พวกเขาจะเชื่อมต่อโดยตรงกับบอร์ด Arduino ที่ใช้พลังงานจากแบตเตอรี่ 9V และเพื่อสื่อสารผลลัพธ์ของแอมโมเนียในอากาศไปยังการ์ด Rapsberry จะใช้โมดูลบลูทูธ การ์ดใบแรกที่เชื่อมต่อโดยตรงกับบอร์ดเซ็นเซอร์เรียกว่าสเลฟ
หากต้องการใช้โมดูลบลูทูธ จะต้องกำหนดค่าก่อน เพื่อจุดประสงค์ดังกล่าว ให้เชื่อมต่อพิน EN ของโมดูลกับ 5V (คุณควรเห็นไฟ LED กะพริบทุกๆ 2 วินาที) แล้วกดปุ่มบนโมดูล เข้ารหัสรหัสว่างใน Arduino และเชื่อมต่อพิน RX ของโมดูลกับพิน TX ของ Arduino และในทางกลับกัน หลังจากนั้นไปที่มอนิเตอร์แบบอนุกรมเลือกอัตราบอดที่เหมาะสม (สำหรับเราคือ 38400 Br) และเขียน AT
หากจอภาพอนุกรมแสดง "ตกลง" แสดงว่าคุณเข้าสู่โหมด AT ตอนนี้คุณสามารถตั้งค่าโมดูลเป็นทาสหรือมาสเตอร์ได้แล้ว คุณสามารถค้นหาไฟล์ PDF ด้านล่างพร้อมคำสั่งทั้งหมดสำหรับโหมด AT
เว็บไซต์ต่อไปนี้แสดงขั้นตอนต่างๆ ในโหมด AT สำหรับโมดูลบลูทูธของเรา:
โมดูลบลูทู ธ ใช้ 4 พินของ Arduino, 3.3V พร้อมตัวแบ่งแรงดัน, กราวด์, พิน TX และ RX การใช้พิน TX และ RX หมายความว่าข้อมูลจะถูกถ่ายโอนโดยพอร์ตอนุกรมของการ์ด
อย่าลืมว่าพิน RX ของโมดูลบลูทูธเชื่อมต่อกับพิน TX ของ Arduino และในทางกลับกัน
คุณควรเห็นไฟ LED ทั้งสองของโมดูลบลูทูธกะพริบ 2 ครั้งทุกๆ 2 วินาทีเมื่อเชื่อมต่อกัน
ทั้งใบเสร็จรับเงินและรหัสส่งจะรับรู้ในบัตรเดียวกันและแนบมาที่นี่
ขั้นตอนที่ 4: การรับข้อมูลและถ่ายโอนไปยัง Raspberry Pi
ส่วนนี้ของโครงการทำโดย Arduino mega
การ์ดใบนี้ต่อสายเข้ากับโมดูลบลูทูธ กำหนดค่าให้รับข้อมูล และ Raspberry Pi เรียกว่าท่านอาจารย์
ในกรณีนี้ โมดูลบลูทูธใช้พอร์ตอนุกรมหนึ่งพอร์ต และข้อมูลจะถูกโอนไปยัง Raspberry Pi โดยใช้พอร์ตอนุกรมอื่น นั่นคือเหตุผลที่เราต้องการการ์ดที่มีพอร์ตอนุกรมตั้งแต่ 2 พอร์ตขึ้นไป
รหัสเกือบจะเหมือนกับเมื่อก่อน
ขั้นตอนที่ 5: การบันทึกข้อมูลและคุณสมบัติการแจ้งเตือน
raspberry pi จะบันทึกข้อมูลทุกๆ 5 วินาที (เช่น อาจแตกต่างกันไป) ในไฟล์.csv และบันทึกไว้ในความจุของ sd card
ในเวลาเดียวกัน ราสเบอร์รี่จะตรวจสอบว่าความเข้มข้นไม่สูงเกินไป (เช่น มากกว่า 10ppm อาจแตกต่างกันไป) และส่งอีเมลแจ้งเตือนหากเป็นกรณีนี้
แต่ก่อนที่ราสเบอร์รี่จะส่งอีเมลได้ จำเป็นต้องมีการกำหนดค่าเล็กน้อย เพื่อจุดประสงค์นี้ ให้ไปที่ไฟล์ "/etc/ssmtp/ssmtp.conf" และเปลี่ยนพารามิเตอร์ตามข้อมูลส่วนบุคคลของคุณ คุณสามารถค้นหาตัวอย่างด้านล่าง (code_raspberry_conf.py)
เท่าที่เกี่ยวข้องกับรหัสหลัก (blu_arduino_print.py) จำเป็นต้องนำเข้าไลบรารีบางตัว เช่น "ซีเรียล" เพื่อทำงานกับพอร์ตการสื่อสาร USB หรือไลบรารี "ssmtp" เพื่อส่งอีเมล
บางครั้ง อาจมีข้อผิดพลาดเมื่อส่งข้อมูลผ่านบลูทูธ อันที่จริง ราสเบอร์รี่สามารถอ่านได้เพียงบรรทัดเดียวเมื่อมีตัวเลขที่ลงท้ายด้วย \n อย่างไรก็ตาม ราสเบอร์รี่บางครั้งอาจได้รับอย่างอื่นเช่น "\r\n" หรือเพียงแค่ "\n" ดังนั้น เพื่อหลีกเลี่ยงไม่ให้โปรแกรมปิดตัวลง เราใช้คำสั่ง Try - ยกเว้น
หลังจากนั้นก็เป็นเพียงเงื่อนไข "ถ้า" เท่านั้น
ขั้นตอนที่ 6: การสร้างเคส
อุปกรณ์ที่จำเป็น:
- กล่องพักสายไฟ 220*170*85 mm. 1 กล่อง
- กล่องรวมสัญญาณขนาด 153*110*55 มม.. 1 กล่อง
- สีเขียว ertalon 500*15*15 mm
- สายไฟฟ้า 1.5 เมตร
- 2 โมดูลบลูทู ธ
- ราสเบอร์รี่ 1 ลูก
- 1 Arduino Mega
- 1 ของแท้
- แบตเตอรี่ 9v
- สายเชื่อมต่อ Raspberry / Arduino 1 เส้น
- ตัวต้านทาน 2 ตัวที่ 2K โอห์ม
- ตัวต้านทาน 2 ตัวที่ 1K โอห์ม
- เครื่องบัดกรี
- เครื่องเจาะ
- ดอกสว่าน
- คีมตัด
- เลื่อย
เราเริ่มจากกล่องรวมสัญญาณไฟฟ้าสองกล่องที่ทำการตัด ขั้นแรก การสร้างองค์ประกอบเซ็นเซอร์/อิมิตเตอร์: รองรับสองตัวเพื่อแก้ไขการ์ด Genuino ซึ่งสร้างด้วย ERTALON สีเขียว จากนั้นจึงจำเป็นต้องตัดฝาเพื่อใส่เซ็นเซอร์แอมโมเนียและแก้ไข สายเคเบิลเชื่อมต่อจากเซ็นเซอร์กับการ์ด Genuino หลังจากนั้นเราใส่โมดูลบลูทู ธ ลงบนกล่องบัดกรีสายเคเบิลและเชื่อมต่อกับการ์ด สุดท้าย แหล่งจ่ายไฟที่มีแบตเตอรี่ 9V ถูกรวมและต่อสายแล้ว เมื่อเซ็นเซอร์เสร็จสิ้น เราก็สามารถเริ่มทำงานกับเครื่องรับได้ สำหรับสิ่งนี้ เช่นเดียวกับเมื่อก่อน เราเริ่มต้นด้วยการรองรับการ์ดอิเล็กทรอนิกส์สองใบ (Raspberry และ Arduino mega) จากนั้นเราตัดช่องสำหรับสายเคเบิลและปลั๊กออกจาก Raspberry โมดูลบลูทู ธ ได้รับการแก้ไขในลักษณะเดียวกับเมื่อก่อน จากนั้นเจาะรูที่ด้านบนของกล่องเพื่อให้สามารถระบายอากาศสำหรับแผงอิเล็กทรอนิกส์ทั้งสองและเพื่อหลีกเลี่ยงความเสี่ยงที่จะเกิดความร้อนสูงเกินไป ในการสิ้นสุดขั้นตอนนี้ สายเคเบิลทั้งหมดเชื่อมต่อและโปรเจ็กต์จะต้องได้รับพลังงานและทดสอบเท่านั้น
ขั้นตอนที่ 7: การปรับปรุง
ในแง่ของการปรับปรุง สามารถทำให้เกิดจุดต่าง ๆ ได้:
- ทางเลือกของเซ็นเซอร์ที่มีประสิทธิภาพมากขึ้น อันที่จริงพวกเขาตรวจไม่พบการปรากฏตัวของแอมโมเนียในอากาศอย่างรวดเร็ว นอกจากนี้ เมื่อแอมโมเนียอิ่มตัวแล้ว พวกเขาต้องใช้เวลาพอสมควรในการกำจัดแอมโมเนีย
- ใช้การ์ด Arduino ที่มีโมดูล Bluetooth โดยตรงตามที่ระบุไว้ที่ฐานของโครงการของเรา น่าเสียดายที่ Genuino 101 ไม่มีวางจำหน่ายในตลาดยุโรปแล้ว
- รวมจอแสดงผลในกล่องที่ตั้งเซ็นเซอร์เพื่อให้ทราบความเข้มข้นอย่างต่อเนื่อง
- ตรวจสอบการสร้างกราฟโดยอัตโนมัติจากข้อมูลที่จัดเก็บไว้ในไฟล์ csv
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง