Introduction: Arduino Air Sensor
In this project I will be showing how i created a Arduino air sensor that can measure the temperature, humidity, CO2 levels and particulate matter levels
Step 1: Gathering Materials
For this project you will need:
1x Arduino UNO
1x DHT11 temperature & humidity sensor
1x SSD1306 0.96" OLED display
1x MH-H14 Co2 sensor
1x PMS5003 particulate matter sensor with cable
1x PMS5003 breakout board
(In my case I mounted the breakout board on a protoshield)
Step 2: OLED and DHT11
To start this project you will need to get the first things working starting with the DHT11 and OLED.
The SSD1306 OLED is a 0.96 inch display that communicates over the I2C protocol. This way you only have 2 pins to communicate with, this makes the wiring a lot easier.
The DHT11 is a temperature and humidity sensor that is very easy to use. this way you can practice using the screen with it.
The connections are as following:
Arduino.D2 - DHT11.OUT
Arduino.SDA - OLED.SDA
Arduino.SCL - OLED.SCK
VCC on the OLED and DHT11 are connected to 5v
OLED and DHT11 GND are connected to Arduino GND
Attachments
Step 3: Adding the Co2 Sensor
To add the Co2 sensor we need to connect to pin 6 on the MH-Z14 sensor. In my case i got a board on top of the sensor but I don't think this affects the working of the sensor. This board does come with a cable and connector. However the data cable coming from it is not the one i want to use. I fixed this by rerouting a extra cable to the correct pin. This pin needs to be connected to pin D3 on the Arduino.
Attachments
Step 4: Adding the PMS
The PMS needs to be connected to the RX and TX port of the Arduino. This means that when you reprogram the arduino the IDE will give a error. So I made a protoshield with switches to make it easier to disconnect. I also mounted the PMS breakout board to the protoshield. I have made some connectionpoint on the protoshield to easily connect the sensors but are still connected to the same pins.
The PMS is connected to the 0 and 1 pins of the arduino with the following diagram:
Arduino.TX --- PMS.RX
Arduino.RX --- PMS.TX