สร้างโครงการสถานีอากาศที่เรียบง่ายสำหรับบ้านและสำนักงาน

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





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



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

โครงการนี้อาจวางไว้ในสภาพภายในอาคารหรือกึ่งในร่มซึ่งวงจรอยู่ห่างจากแสงแดดโดยตรงหรือลมแรงหรือความชื้นซึ่งอาจทำให้เซ็นเซอร์บนบอร์ดเสื่อมสภาพได้



การออกแบบ:

โครงการวงจรสถานีอากาศขนาดเล็กที่นำเสนอสร้างขึ้นรอบ ๆ Arduino ซึ่งเป็นสมองของสถานีตรวจอากาศซึ่งรวบรวมข้อมูลจำนวนมากจากเซ็นเซอร์ต่างๆและประมวลผลและแสดงบนหน้าจอ LCD 16x2

คุณสามารถเลือกบอร์ด arduino ที่คุณชื่นชอบสำหรับโครงการนี้ วงจรประกอบด้วยเซ็นเซอร์สามตัว MQ-135, BMP180 และ DHT11 มาดูรายละเอียดว่าเซ็นเซอร์แต่ละตัวทำอะไรกันบ้าง

MQ-135 เซนเซอร์:

MQ-135 เป็นเซ็นเซอร์ตรวจวัดคุณภาพอากาศซึ่งสามารถตรวจจับก๊าซคาร์บอนไดออกไซด์แอลกอฮอล์เบนซินควันบิวเทนโพรเพนเป็นต้นหากความเข้มข้นของสารเคมีก๊าซเหล่านี้อยู่ในอากาศสูงเราสามารถพูดได้ว่าอากาศเป็นมลพิษ

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

การเปลี่ยนแปลงแรงดันไฟฟ้าจากเซ็นเซอร์จะถูกป้อนเข้ากับ Arduino เรามีระดับเกณฑ์ที่กำหนดไว้ล่วงหน้าในโปรแกรม เมื่อผ่านระดับขีด จำกัด ไมโครคอนโทรลเลอร์จะบอกเราว่าอากาศปลอดภัยหรือไม่

แผนภูมิวงจรรวม

อินเทอร์เฟซเซ็นเซอร์ MQ135 พร้อมวงจรสถานีอากาศ

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

องค์ประกอบความร้อนช่วยให้เซ็นเซอร์อุ่นและช่วยเก็บตัวอย่างความเข้มข้นของสารเคมีในอากาศในปริมาณที่เหมาะสม เซ็นเซอร์จะใช้เวลาประมาณสองถึงสามนาทีในการถึงอุณหภูมิที่เหมาะสม

DHT11 เซนเซอร์:

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

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

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

แผนภูมิวงจรรวม:

อินเทอร์เฟซ DH11 กับ arduino

การเชื่อมต่อวงจรจากเซ็นเซอร์ไปยัง Arduino นั้นง่ายมาก เอาต์พุตของเซ็นเซอร์เชื่อมต่อกับขา A1 ของ arduino แหล่งจ่าย Vcc และ GND เชื่อมต่อกับพินแหล่งจ่ายไฟของ arduino

หมายเหตุ: โปรดตรวจสอบให้แน่ใจว่าเซ็นเซอร์ของคุณมีตัวต้านทานแบบดึงขึ้นในตัวหากไม่มีตัวใดให้เชื่อมต่อตัวต้านทานแบบดึงขึ้น 4.7K ที่ขาเอาต์พุตของเซ็นเซอร์ DHT11

เซ็นเซอร์ BMP180:

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

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

แผนภูมิวงจรรวม:

เชื่อมต่อ BM180 กับ Arduino
ใช้โปรโตคอลการสื่อสาร I2C พิน SDA ไปที่ A4 ของ arduino และ SCL ไปที่ A5 ของ arduino Vcc และ GND เชื่อมต่อกับพินแหล่งจ่ายไฟของ arduino

การเชื่อมต่อ LCD:

เซ็นเซอร์ความชื้นโดยใช้ Aduino


หน้าจอ LCD แสดงข้อมูลทั้งหมดจากเซ็นเซอร์ การเชื่อมต่อระหว่างจอแสดงผล LCD และ arduino เป็นมาตรฐานที่เราสามารถค้นหาการเชื่อมต่อที่คล้ายกันได้ในโครงการอื่น ๆ ที่ใช้ LCD ปรับโพเทนชิออมิเตอร์ 10K เพื่อการมองเห็นที่ดีที่สุดจากจอ LCD

ต้นแบบของผู้แต่ง:

ภาพต้นแบบสถานีอากาศ

นี่คือต้นแบบของวงจรตรวจสอบสภาพอากาศขนาดเล็กของผู้เขียนที่เซ็นเซอร์ทั้งหมดที่แสดงในแผนผังเชื่อมต่อกับบอร์ด arduino

หมายเหตุ: การเชื่อมต่อวงจรจากเซ็นเซอร์และจอ LCD แต่ละตัวควรเชื่อมต่อกับบอร์ด arduino เดียว เราได้ให้การเชื่อมต่อเซ็นเซอร์แบบไม่ต่อเนื่องในแต่ละวงจรเพื่อหลีกเลี่ยงความสับสนในขณะที่ทำซ้ำวงจร

ดาวน์โหลดไฟล์ไลบรารีก่อนอัปโหลดโค้ด:

ห้องสมุด DHT11: https://arduino-info.wikispaces.com/file/detail/DHT-lib.zip

ห้องสมุด BMP180: github.com/adafruit/Adafruit_BMP085_Unified.git

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

#include
#include
#include
#include
#define DHTxxPIN A1
LiquidCrystal lcd(12,11,5,4,3,2)
dht DHT
Adafruit_BMP085 bmp
int ack
int input = A0
unsigned long A = 1000L
unsigned long B = A * 60
unsigned long C = B * 2
int low = 300
int med = 500
int high = 700
int x = 4000
void setup()
{
Serial.begin(9600)
lcd.begin(16,2)
lcd.setCursor(0,0)
lcd.print('Sensors are')
lcd.setCursor(0,1)
lcd.print('getting ready')
delay(C)
}
void loop()
{
ack=0
int chk = DHT.read11(DHTxxPIN)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack=1
break
}
if(ack==0)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Temp(*C)= ')
lcd.print(DHT.temperature)
lcd.setCursor(0,1)
lcd.print('Humidity(%) = ')
lcd.print(DHT.humidity)
delay(x)
}
if(ack==1)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('NO DATA')
lcd.setCursor(0,1)
lcd.print('Check Sensor')
delay(x)
}
if (!bmp.begin())
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('BMP180 sensor')
lcd.setCursor(0,1)
lcd.print('not found')
while (1) {}
}
lcd.clear()
lcd.setCursor(0,0)
lcd.print('----Pressure---- ')
lcd.setCursor(0,1)
lcd.print(bmp.readPressure())
lcd.print(' Pascal')
delay(x)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('----Altitude----')
lcd.setCursor(0,1)
lcd.print(bmp.readAltitude(101500))
lcd.print(' meter')
delay(x)
lcd.clear()
lcd.setCursor(0,0)
lcd.print(' Air Quality:')
if(analogRead(input)==0)
{
lcd.setCursor(0,1)
lcd.print(' Sensor Error')
delay(x)
}
if(analogRead(input)0)
{
lcd.setCursor(0,1)
lcd.print(' GOOD')
delay(x)
}
if(analogRead(input)>low && analogRead(input) {
lcd.setCursor(0,1)
lcd.print(' GETTING BAD')
delay(x)
}
if(analogRead(input)>=med && analogRead(input) {
lcd.setCursor(0,1)
lcd.print(' VERY POOR')
delay(x)
}
if(analogRead(input)>=high)
{
lcd.setCursor(0,1)
lcd.print(' WORST')
delay(x)
}
}

บันทึก:

วงจรสถานีตรวจอากาศขนาดเล็กที่อธิบายไว้จะใช้เวลา 2 นาทีในการแสดงค่าที่อ่านได้จากเซ็นเซอร์จนกว่าจะแสดงข้อความ 'เซ็นเซอร์กำลังเตรียมพร้อม' เนื่องจากเซ็นเซอร์ MQ-135 ใช้เวลา 2 นาทีเพื่อให้ได้อุณหภูมิในการทำงานที่เหมาะสม




คู่ของ: วิธีสร้างเครื่องอบผ้าแบบง่ายสำหรับฤดูฝน ถัดไป: Clap Operated Toy Car Circuit