จะสร้างเครื่องวัดมลพิษทางอากาศแบบดิจิตอลโดยใช้ Arduino ได้อย่างไร

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

วิธีการตรวจสอบมลพิษทางอากาศบนมือถือ?

ขั้นตอนที่ 1: รวบรวมส่วนประกอบ

การทำรายการส่วนประกอบทั้งหมดก่อนที่จะเริ่มทำงานในโครงการใด ๆ เป็นแนวทางที่ยอดเยี่ยมมาโดยตลอด ไม่เพียงแต่ช่วยประหยัดเวลาได้มาก แต่ยังช่วยให้เราไม่ต้องติดอยู่ตรงกลางของโครงการด้วยการแจ้งให้เราทราบว่าส่วนประกอบ whar นั้นหาได้ง่ายและส่วนประกอบใดบ้างที่จะซื้อจากตลาด ด้านล่างนี้คือรายการส่วนประกอบทั้งหมดที่เราจะใช้ในโครงการของเรา ส่วนประกอบเหล่านี้หาได้ง่ายในตลาด

ขั้นตอนที่ 2: การออกแบบวงจร

เมื่อเราทราบบทคัดย่อหลักของโครงการแล้ว และเรายังมีรายการส่วนประกอบทั้งหมดที่เราจะใช้ในโปรเจ็กต์นี้ ให้เราก้าวไปอีกขั้นและดูการออกแบบของโปรเจ็กต์ โครงการแบ่งออกเป็นสองส่วนใหญ่ ส่วนแรกคือ คอนโทรลเลอร์และเซ็นเซอร์และส่วนที่สองคือ แอปพลิเคชั่นสมาร์ทโฟน.

หัวใจของโครงการคือไมโครคอนโทรลเลอร์ Arduino Uno เป็นไมโครคอนโทรลเลอร์ที่ใช้ บอร์ด Arduino เชื่อมต่อกับคลาวด์ Blynk โดยใช้การเชื่อมต่ออินเทอร์เน็ตซึ่งสร้างขึ้นโดยใช้ Arduino Ethernet Shield เซ็นเซอร์ที่ใช้ในเครื่องวัดมลพิษนี้คือเซ็นเซอร์ nova PM SDS011 เซ็นเซอร์ก๊าซ MQ135 และอุณหภูมิและ DHT11.

สมาร์ทมิเตอร์สร้างขึ้นโดยใช้โทรศัพท์ Android เพื่อให้สามารถอ่านค่าทั้งหมดได้บนหน้าจอมือถือ และมือถือนี้สามารถใช้ควบคุมรีเลย์ในฮาร์ดแวร์ได้ Blynk เป็นแอปพลิเคชั่นมือถือที่สามารถใช้กับ Android และ IOS ได้รับการออกแบบมาอย่างดีและมีวิดเจ็ตที่ใช้งานง่าย แอปพลิเคชันนี้ช่วยประหยัดเงินและเวลาได้มาก เนื่องจากฮาร์ดแวร์ของ LCD และส่วนประกอบอื่น ๆ จะต้องซื้อจากตลาด ในขณะที่แอปพลิเคชันนี้ฟรีและสามารถตอบสนองงานที่ต้องดำเนินการโดยส่วนประกอบฮาร์ดแวร์เหล่านั้น

ขั้นตอนที่ 3: การทำงานของวงจร

ในส่วนนี้ เราจะศึกษาการทำงานของวงจรของเราโดยสังเขป วงจรของเราประกอบด้วยบอร์ด Arduino ที่มีแผงอีเธอร์เน็ต Arduino ตัวควบคุมแรงดันไฟฟ้า 7805 เซ็นเซอร์อุณหภูมิและความชื้น DHT11 เซ็นเซอร์ก๊าซ MQ135 โมดูลรีเลย์ และเซ็นเซอร์ PM2.5 พร้อมกับส่วนประกอบอื่นๆ คุณสามารถใช้เซ็นเซอร์ PM10 แทน PM2.5 ได้

PM ย่อมาจาก เครื่องวัดอนุภาค. เซ็นเซอร์นี้มีส่วนผสมของฝุ่นละอองและหยดน้ำอยู่ภายใน แหล่งที่มาเฉพาะจะปล่อยอนุภาคเหล่านี้บางส่วนโดยตรง ในขณะที่ปฏิกิริยาเคมีเฉพาะจะใช้เพื่อผลิตอนุภาคอื่นๆ หลักการของการกระเจิงของเลเซอร์ในอากาศถูกใช้ในเซ็นเซอร์นี้เพื่อตรวจจับอนุภาคแขวนลอยในอากาศ ความเข้มข้นของอนุภาคเหล่านี้สามารถอยู่ในช่วง 0.3 ถึง 10 ไมครอน เซ็นเซอร์นี้แข็งแกร่งและให้ข้อมูลที่มีความเสถียรและละเอียดอ่อน มีการเชื่อมต่อข้าม Tx และ Rx ของบอร์ด Arduino Uno

เซ็นเซอร์ก๊าซ ทำงานบนหลักการที่ค่าการนำไฟฟ้าเปลี่ยนแปลงไปตามการเปลี่ยนแปลงความเข้มข้นของก๊าซ มันให้สัญญาณแรงดันไฟฟ้าเป็นเอาต์พุตซึ่งเกี่ยวข้องโดยตรงกับความเข้มข้นของก๊าซ เซ็นเซอร์นี้มีความไวสูงต่อไอน้ำแอมโมเนีย ซัลไฟด์ และน้ำมันเบนซิน ควันและก๊าซที่เป็นอันตรายอื่นๆ

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

เซ็นเซอร์ทั้งหมดเหล่านี้ประกอบเข้าด้วยกันกับไมโครคอนโทรลเลอร์และกำลังส่งข้อมูลไปยังไมโครคอนโทรลเลอร์อย่างต่อเนื่อง อุปกรณ์สองอย่างคือพัดลมและไฟเชื่อมต่อกับคอนโทรลเลอร์ผ่านa โมดูลรีเลย์. สองคนนี้จะทำงานเป็น สัญญาณเตือน และ ควบคุม.

ขั้นตอนที่ 4: การทำงานของ Blynk

Blynk เป็นแอปพลิเคชั่นมือถือที่สามารถดาวน์โหลดได้บน Android และ IOS ใช้เพื่อแสดงข้อมูลและแสดงภาพที่ถูกส่งไปยังระบบคลาวด์จากเซ็นเซอร์ฮาร์ดแวร์ องค์ประกอบหลักสามประการของ Blynk คือ แอปพลิเคชั่นมือถือ, เมฆกระพริบตา, และ ห้องสมุด Blynk.

แอพ Blynk เป็นแอปพลิเคชั่นส่วนหน้าที่ติดตั้งบนโทรศัพท์มือถือ มันมีวิดเจ็ตต่าง ๆ ที่ให้คุณออกแบบโครงการที่น่าตื่นเต้น แอพนี้ใช้งานง่ายและใช้งานง่าย

Blynk cloud เป็นฐานข้อมูลชนิดหนึ่งที่รับผิดชอบในการเชื่อมต่อฮาร์ดแวร์กับแอปพลิเคชันมือถือ คุณสามารถเรียกใช้เซิร์ฟเวอร์ Blynk ส่วนตัวของคุณในเครื่องโดยใช้คลาวด์ Blynk นี้ คลาวด์นี้เป็นโอเพ่นซอร์ส อุปกรณ์หลายพันเครื่องสามารถเชื่อมต่อกับระบบคลาวด์ได้ แต่เซิร์ฟเวอร์นี้สามารถสร้างได้โดยใช้ Raspberry Pi เท่านั้น

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

ขั้นตอนที่ 5: การเชื่อมต่อวงจร

ขณะนี้เรามีทุกส่วนและเราทราบดีว่าแนวทางการทำงานหลักของกรอบงานคืออะไร เราสามารถก้าวไปข้างหน้าและเริ่มรวบรวมส่วนต่างๆ ของเราเข้าด้วยกัน สิ่งหนึ่งที่ต้องจำไว้คือต้องย่อวงจรให้เล็กสุดและต้องตั้งค่าเซ็กเมนต์ให้ใกล้เคียงกัน

  1. ใช้ Veroboard แล้วถูด้านข้างด้วยการเคลือบทองแดงด้วยกระดาษขูด
  2. ตอนนี้วางส่วนประกอบอย่างระมัดระวังและใกล้พอเพื่อให้ขนาดของวงจรไม่ใหญ่มาก
  3. ตัดส่วนหัวของตัวเมียสำหรับเซ็นเซอร์ทุกตัวแล้ววางบน Veroboard เซ็นเซอร์ทั้งหมดจะถูกแทรกในส่วนหัวของผู้หญิงเหล่านี้
  4. ทำการเชื่อมต่ออย่างระมัดระวังโดยใช้หัวแร้ง หากเกิดข้อผิดพลาดขณะทำการเชื่อมต่อ ให้ลองถอดการเชื่อมต่อและประสานการเชื่อมต่ออีกครั้งอย่างถูกต้อง แต่ในท้ายที่สุด การเชื่อมต่อจะต้องแน่น
  5. เมื่อทำการเชื่อมต่อทั้งหมดแล้ว ให้ทำการทดสอบความต่อเนื่อง ในทางอิเล็กทรอนิกส์ การทดสอบความต่อเนื่องคือการตรวจสอบวงจรไฟฟ้าเพื่อตรวจสอบว่ากระแสไหลในเส้นทางที่ต้องการหรือไม่ การทดสอบความต่อเนื่องทำได้โดยการตั้งค่าแรงดันไฟฟ้าเล็กน้อย (เดินสายโดยจัดวางด้วยไฟ LED หรือส่วนที่ทำให้เกิดความปั่นป่วน เช่น ลำโพงเพียโซอิเล็กทริก) เหนือทางที่เลือกไว้
  6. หากการทดสอบความต่อเนื่องผ่านไปแสดงว่าทำวงจรได้เพียงพอตามที่ต้องการ ตอนนี้พร้อมที่จะทดสอบแล้ว
  7. ต่อแบตเตอรี่เข้ากับวงจร

ขั้นตอนที่ 6: เริ่มต้นใช้งาน Arduino

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

  1. หากคุณยังไม่ได้ติดตั้งซอฟต์แวร์ ให้คลิกที่นี่เพื่อดาวน์โหลดซอฟต์แวร์
  2. เชื่อมต่อบอร์ด Arduino ของคุณกับพีซีและเปิดแผงควบคุม คลิกที่ ฮาร์ดแวร์และเสียง.เปิดแล้ว อุปกรณ์และเครื่องพิมพ์ และค้นหาพอร์ตที่บอร์ดของคุณเชื่อมต่ออยู่ พอร์ตนี้แตกต่างกันในคอมพิวเตอร์เครื่องอื่น
  3. ตอนนี้เปิด Arduino IDE จากเครื่องมือ ตั้งค่าบอร์ด Arduino เป็น Arduino / Genuino UNO.
  4. จากเมนูเครื่องมือเดียวกัน ให้ตั้งค่าหมายเลขพอร์ต หมายเลขพอร์ตนี้ควรเหมือนกันทุกประการกับหมายเลขพอร์ตที่สังเกตก่อนหน้านี้ในแผงควบคุม
  5. ในการใช้แอพพลิเคชั่น Blynk และอีเธอร์เน็ตชิลด์กับ Arduino IDE เราจำเป็นต้องนำเข้าไลบรารีพิเศษที่จะช่วยให้เราสามารถเบิร์นโค้ดบน Arduino Uno และใช้งานได้ ห้องสมุดทั้งสองนี้แนบมาในลิงค์ด้านล่าง เพื่อรวมห้องสมุด goto ร่าง > รวมไลบรารี > เพิ่มไลบรารี ZIP. กล่องจะปรากฏขึ้น ค้นหาโฟลเดอร์ ZIP บนคอมพิวเตอร์ของคุณแล้วคลิกตกลงเพื่อรวมโฟลเดอร์ ห้องสมุดนี้แนบมาพร้อมกับรหัสในลิงค์ด้านล่าง
  6. ดาวน์โหลดโค้ดที่แนบมาด้านล่างและคัดลอกไปยัง IDE ของคุณ หากต้องการอัปโหลดรหัส ให้คลิกที่ปุ่มอัปโหลด

หากต้องการดาวน์โหลดโค้ด คลิกที่นี่

ขั้นตอนที่ 7: การกำหนดค่าแอปพลิเคชัน

ตอนนี้เมื่อเราเชื่อมต่อวงจรแล้ว ให้เราดาวน์โหลดและติดตั้งแอปพลิเคชั่น Blynk จาก play store ทำตามขั้นตอนด้านล่างเพื่อตั้งค่าแดชบอร์ดดิจิทัล

  1. ติดตั้งอีเธอร์เน็ตชิลด์บน Arduino
  2. เชื่อมต่อบอร์ดนี้กับคอมพิวเตอร์ส่วนบุคคลของคุณ
  3. เปิดร่าง ethernetclient.inoและเพิ่มที่อยู่ IP ของอุปกรณ์ของคุณ หลังจากทำเช่นนี้ ให้อัปโหลดโค้ดบนบอร์ด Arduino การค้นหาโดย Google จะถูกส่งกลับโดยร่างนี้และผลลัพธ์จะถูกดูบนจอภาพแบบอนุกรมเป็น HTML
  4. เปิดร่าง ethernetserver.ino และเพิ่มที่อยู่ IP ของอุปกรณ์ของเรา จากนั้นอัปโหลดภาพร่างนี้บนบอร์ด Arduino ของคุณ ร่างนี้จะสร้างเว็บเซิร์ฟเวอร์โดยใช้ Arduino และอีเธอร์เน็ตชิลด์ ตอนนี้อุปกรณ์ของคุณจะตอบคำขอ HTTP ในภาพร่างนี้ อินเทอร์เน็ตเบราว์เซอร์จะสามารถรับข้อมูลที่ Arduino ของคุณส่งผ่านอีเทอร์เน็ตชิลด์ได้
  5. ตรวจสอบให้แน่ใจว่ามือถือของคุณมีการเชื่อมต่อ Wifi ที่ใช้งานได้ เปิดแอปพลิเคชั่น Blynk ที่คุณดาวน์โหลดไปแล้ว สร้างบัญชีใหม่ในแอปพลิเคชันนี้ บัญชีจะถูกสร้างขึ้นเพื่อบันทึกโครงการของคุณ
  6. หลังจากสร้างบัญชีแล้ว ให้ลงชื่อเข้าใช้บัญชีของคุณและสร้างโครงการใหม่และตั้งชื่อเป็น Pollution Meter หลังจากทำเช่นนี้ เลือกไมโครคอนโทรลเลอร์เป็น Arduino Uno เลือกการเชื่อมต่อของคุณเป็น อีเธอร์เน็ต.
  7. เมื่อคุณคลิกที่ สร้างคีย์การตรวจสอบความถูกต้องจะถูกส่งไปยังอีเมลที่คุณลงทะเบียนไว้ คีย์การตรวจสอบสิทธิ์นี้เป็นคีย์เฉพาะที่ช่วยเชื่อมต่อสมาร์ทโฟนกับฮาร์ดแวร์ของคุณ วางคีย์การตรวจสอบสิทธิ์นี้ในชื่อร่าง Arduino เป็น มลพิษ.ino.
  8. เมื่อเสร็จแล้วให้เปิด มลพิษ.inoร่างใน Arduino IDE และอัปโหลดบนบอร์ด Arduino
  9. เมื่อสร้างโปรเจ็กต์ในแอปพลิเคชัน Android ผืนผ้าใบว่างเปล่าจะปรากฏขึ้นบนหน้าจอ
  10. แตะที่ใดก็ได้บนหน้าจอ กล่องวิดเจ็ตจะปรากฏขึ้นพร้อมวิดเจ็ตทั้งหมดที่สามารถใช้ได้ในแอปพลิเคชัน
  11. จากเมนูวิดเจ็ต ให้เลือก LCD และวางไว้บนเลย์เอาต์หลัก ในทำนองเดียวกัน วาง an LED, วิดเจ็ต RTC, ปุ่มกด และ an สวิตช์เปิด/ปิด, บนเลย์เอาต์หลัก
  12. เมื่อทุกอย่างเสร็จสิ้นให้คลิกที่ปุ่มเล่น ในโหมดการเล่นนี้ แอปของคุณจะสื่อสารกับฮาร์ดแวร์แบบเรียลไทม์ คุณจะสามารถดูข้อมูลบน LCD และควบคุมรีเลย์ของฮาร์ดแวร์ได้จากมือถือของคุณ

ขั้นตอนที่ 8: การทำงานของ Sketches

รหัสสำหรับโครงการนี้ซับซ้อนมากและแบ่งออกเป็นภาพร่างต่างๆ คุณต้องศึกษาในเชิงลึกเพื่อรักษาลำดับการอัปโหลด หากคุณต้องการให้โครงการของคุณทำงานอย่างถูกต้อง โค้ดบางส่วนมีคำอธิบายสั้นๆ ด้านล่าง

1. ethernetclient.ino เป็นภาพร่าง Arduino ที่ใช้เชื่อมต่อบอร์ดกับเว็บไซต์ “www.Google.com” โดยใช้อีเทอร์เน็ตชิลด์ ในภาพร่างนี้ ที่อยู่ mac ของอีเธอร์เน็ตชิลด์ของคุณจะถูกรวมไว้ด้วย ที่อยู่ MAC นี้ระบุไว้บนสติกเกอร์ด้านหลังกระดาน เว็บไซต์และ IP ของเว็บไซต์ที่จะเชื่อมต่อบอร์ดแสดงไว้ในร่างนี้ด้วย ในร่างกายของ การตั้งค่าเป็นโมฆะ (), มีการสร้างการเชื่อมต่อของบอร์ดกับเว็บไซต์ปลายทาง จะได้รับข้อความแสดงข้อผิดพลาดหากการเชื่อมต่อล้มเหลว ใน วงเป็นโมฆะ ()หากมีไบต์เข้ามาจากเซิร์ฟเวอร์ จะถูกอ่านและพิมพ์บนจอภาพแบบอนุกรม

2. ethernetserver.inoเป็นภาพร่าง Arduino ที่เป็นเว็บเซิร์ฟเวอร์อย่างง่ายที่แสดงค่าของพินอินพุตแบบอะนาล็อกโดยใช้ Arduino Wiznet Ethernet shield ในภาพร่างนี้ ที่อยู่ mac ของอีเธอร์เน็ตชิลด์ของคุณรวมอยู่ด้วย ที่อยู่ IP ของเครือข่ายท้องถิ่นจะรวมอยู่ที่นี่ด้วย ใน การตั้งค่าเป็นโมฆะ ()การสื่อสารแบบอนุกรมเปิดขึ้น จากนั้นไมโครคอนโทรลเลอร์จะรอให้พอร์ตเปิด เมื่อเสร็จสิ้น ไมโครคอนโทรลเลอร์จะรอให้พอร์ตอนุกรมเชื่อมต่อ จากนั้นการเชื่อมต่ออีเทอร์เน็ตจะเริ่มขึ้น ใน วงเป็นโมฆะ ()ไมโครคอนโทรลเลอร์คอยรับฟังลูกค้าที่เข้ามา เมื่อคำขอขาเข้าเสร็จสมบูรณ์ สามารถส่งการตอบกลับได้ ดังนั้นส่วนหัวการตอบกลับ HTTP มาตรฐานจึงถูกส่งไปและหลังจากการตอบกลับนี้เสร็จสิ้นการเชื่อมต่อจะถูกปิดโดยอัตโนมัติ หลังจากนี้ข้อมูลที่อ่านจากพินอะนาล็อกก็จะส่งข้อมูลออกเป็นเอาต์พุต เมื่อข้อมูลทั้งหมดถูกส่งไปยังเว็บเบราว์เซอร์ การเชื่อมต่อจะถูกปิด

3. BlynkBlink.inoเป็นภาพสเก็ตช์ Arduino ที่ใช้เชื่อมต่อแอพ Blynk กับฮาร์ดแวร์ รหัสการรับรองความถูกต้องถูกเพิ่มลงในรหัสนี้ซึ่งได้รับจากแอปพลิเคชันผ่านอีเมล ในภาพร่างนี้ การตั้งค่าเป็นโมฆะ ()กำลังตั้งค่าอัตราบอดของไมโครคอนโทรลเลอร์และกำลังเชื่อมต่อฮาร์ดแวร์กับคลาวด์ Blynk โดยใช้คีย์การตรวจสอบสิทธิ์

#define BLYNK_PRINT Serial // เปิดใช้งาน Serial Monitor #include  #รวม  #รวม                   // ส่วนนี้ใช้สำหรับข้อมูลอีเทอร์เน็ต char auth[] = "117a820688214b22b7baf59f8d63c492"; // ใส่ Auth Token ของคุณที่นี่ การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); // การตั้งค่าอัตราบอด Blynk.begin(auth); // เชื่อมต่อบอร์ด Arduino กับ Blynk Cloud } วงเป็นโมฆะ () { Blynk.run (); // Blynk ทำงานที่นี่ }
Facebook Twitter Google Plus Pinterest