วิธีสร้างวงจรวัดมลพิษทางอากาศ LED ด้วย Arduino

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





ในโครงการนี้เราจะสร้างเครื่องวัดมลพิษทางอากาศโดยใช้เซ็นเซอร์ MQ-135 และ arduino ระดับมลพิษในอากาศแสดงเป็นชุด LED 12 ดวง หากจำนวน LED ที่ส่องสว่างสูงขึ้นปริมาณมลพิษในอากาศก็จะยิ่งสูงขึ้นและในทางกลับกัน



ภาพรวม

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

แม้ว่าเราจะไม่สามารถคาดหวังความแม่นยำในระดับสูงกับโครงการนี้ได้ แต่ก็สามารถให้แนวคิดที่ดีพอสมควรเกี่ยวกับระดับมลพิษในบรรยากาศของคุณ



มลพิษในอากาศอาจเป็นก๊าซคาร์บอนไดออกไซด์คาร์บอนมอนอกไซด์บิวเทนมีเทนและก๊าซที่ไม่มีกลิ่น เซ็นเซอร์ไม่สามารถแยกความแตกต่างระหว่างก๊าซได้ แต่จะนำตัวอย่างก๊าซทั้งหมดจากอากาศไปใช้

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

คนส่วนใหญ่เพิกเฉยต่อมาตรการคุณภาพอากาศในที่อยู่อาศัยคาดว่าอินเดียเพียงประเทศเดียวทำให้มีผู้เสียชีวิต 1.59 ล้านคนทุกปีซึ่งรวมถึงมลพิษในร่มและกลางแจ้ง

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

เอาล่ะตอนนี้คำเตือนแยกกันไปดำน้ำในวงจรกัน

การออกแบบ:

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

วิธีการสร้างวงจรวัดมลพิษทางอากาศ LED

แผนผังข้างต้นแสดงวิธีเชื่อมต่อเซ็นเซอร์กับ arduino มีการใช้แหล่งจ่ายไฟภายนอกสำหรับขดลวดฮีตเตอร์ของเซ็นเซอร์ ด้านข้างของเซ็นเซอร์สามารถเปลี่ยนได้

พิน A0 ของ arduino ตรวจจับการเปลี่ยนแปลงของแรงดันไฟฟ้าในเซ็นเซอร์เนื่องจากการเปลี่ยนแปลงของมลพิษในอากาศ

เซ็นเซอร์ทำหน้าที่เป็นตัวต้านทานแบบแปรผัน (เพื่อตอบสนองต่อมลภาวะ) และ 10K เป็นตัวต้านทานคงที่ซึ่งทำหน้าที่เป็นตัวแบ่งแรงดันไฟฟ้า arduino มี ADC 10 บิตซึ่งช่วยให้ LED เรืองแสงได้อย่างไม่น่าเชื่อเพื่อตอบสนองต่อระดับมลพิษทางอากาศซึ่งเป็นฟังก์ชันอะนาล็อก

วงจรวัดมลพิษทางอากาศ LED พร้อม Arduino

เมื่อระดับแรงดันไฟฟ้าแบบอะนาล็อกเกินระดับเกณฑ์ที่กำหนดไว้ล่วงหน้าในโปรแกรมไฟ LED จะเปิดขึ้น

LED ที่ต่อเนื่องจะถูกกำหนดไว้ล่วงหน้าด้วยระดับเกณฑ์ที่สูงขึ้น

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

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

ไม่จำเป็นต้องใช้จอภาพอนุกรมในโครงการนี้ แต่อาจเป็นเครื่องมือที่มีประโยชน์สำหรับการทดสอบ

ภาพต้นแบบ:

ทดสอบวงจรวัดมลพิษทางอากาศ LED ต้นแบบกับ Arduino

วิธีทดสอบ:

•เปิด arduino และแหล่งจ่ายไฟภายนอก การทดสอบ LED จะเริ่มขึ้นและทำงานเพียงครั้งเดียว
•โปรแกรมจะรอ 5 นาทีเพื่อให้เซ็นเซอร์ร้อนขึ้น
•เมื่อค่าที่อ่านปรากฏบนจอมอนิเตอร์แบบอนุกรมให้นำไฟแช็กซิการ์มาและทำให้แก๊สรั่วโดยไม่ต้องเผา
•ในไม่ช้าการอ่านจะสูงขึ้นและไฟ LED จำนวนมากขึ้นก็เริ่มเรืองแสง
•เมื่อคุณหยุดการไหลของก๊าซบนเซ็นเซอร์แล้วไฟ LED จะค่อยๆดับลง ตอนนี้เครื่องวัดมลพิษทางอากาศ LED ของคุณพร้อมให้บริการคุณในห้องแล้ว

รหัสโปรแกรม:

//--------------Program developed by R.Girish---------------//
int input=A0
int a=2
int b=3
int c=4
int d=5
int e=6
int f=7
int g=8
int h=9
int i=10
int j=11
int k=12
int l=13
int T=750
unsigned long X = 1000L
unsigned long Y = X * 60
unsigned long Z = Y * 5
void setup()
{
Serial.begin(9600)
Serial.println('Sensor is getting ready, please wait for 5 min.')
pinMode(a,OUTPUT)
pinMode(b,OUTPUT)
pinMode(c,OUTPUT)
pinMode(d,OUTPUT)
pinMode(e,OUTPUT)
pinMode(f,OUTPUT)
pinMode(g,OUTPUT)
pinMode(h,OUTPUT)
pinMode(i,OUTPUT)
pinMode(j,OUTPUT)
pinMode(k,OUTPUT)
pinMode(l,OUTPUT)
pinMode(a,HIGH)
delay(T)
digitalWrite(a,HIGH)
delay(T)
digitalWrite(b,HIGH)
delay(T)
digitalWrite(c,HIGH)
delay(T)
digitalWrite(d,HIGH)
delay(T)
digitalWrite(e,HIGH)
delay(T)
digitalWrite(f,HIGH)
delay(T)
digitalWrite(g,HIGH)
delay(T)
digitalWrite(h,HIGH)
delay(T)
digitalWrite(i,HIGH)
delay(T)
digitalWrite(j,HIGH)
delay(T)
digitalWrite(k,HIGH)
delay(T)
digitalWrite(l,HIGH)
delay(T)
delay(Z)
}
void loop()
{
Serial.println(analogRead(input))
if(analogRead(input)>=85) digitalWrite(a,1)
if(analogRead(input)>=170) digitalWrite(b,1)
if(analogRead(input)>=255) digitalWrite(c,1)
if(analogRead(input)>=340) digitalWrite(d,1)
if(analogRead(input)>=425) digitalWrite(e,1)
if(analogRead(input)>=510) digitalWrite(f,1)
if(analogRead(input)>=595) digitalWrite(g,1)
if(analogRead(input)>=680) digitalWrite(h,1)
if(analogRead(input)>=765) digitalWrite(i,1)
if(analogRead(input)>=850) digitalWrite(j,1)
if(analogRead(input)>=935) digitalWrite(k,1)
if(analogRead(input)>=1000) digitalWrite(l,1)
delay(1000)
if(analogRead(input)<=85) digitalWrite(a,0)
if(analogRead(input)<=170) digitalWrite(b,0)
if(analogRead(input)<=255) digitalWrite(c,0)
if(analogRead(input)<=340) digitalWrite(d,0)
if(analogRead(input)<=425) digitalWrite(e,0)
if(analogRead(input)<=510) digitalWrite(f,0)
if(analogRead(input)<=595) digitalWrite(g,0)
if(analogRead(input)<=680) digitalWrite(h,0)
if(analogRead(input)<=765) digitalWrite(i,0)
if(analogRead(input)<=850) digitalWrite(j,0)
if(analogRead(input)<=935) digitalWrite(k,0)
if(analogRead(input)<=1000) digitalWrite(l,0)
}
//--------------Program developed by R.Girish---------------//




ก่อนหน้านี้: LPG Leakage SMS Alert โดยใช้ MQ-135 - รับข้อความเตือนในโทรศัพท์มือถือของคุณ ถัดไป: LM317 แหล่งจ่ายไฟโหมดสวิตช์ตัวแปร (SMPS)