MQ-135 Sensor with Raspberry Pi 3
๐ฏ Objective
In this project, we will use the MQ-135 Air Quality Sensor with Raspberry Pi 3 to monitor air pollution levels. This sensor is often used in indoor air quality systems.
๐งฐ Components Required
Component | Quantity |
Raspberry Pi 3 | 1 |
MQ-135 Air Quality Sensor | 1 |
MCP3008 ADC Module | 1 |
Breadboard | 1 |
Jumper Wires | As needed |
Power Supply | 1 |
๐ก MQ-135 provides analog output. RPi needs MCP3008 ADC to convert analog to digital.
⚡ Circuit Connections
Sensor to MCP3008:
From (MQ-135) | To |
VCC | 5V (RPi3) |
GND | GND (RPi3) |
AOUT | CH1 (MCP3008) |
MCP3008 to RPi3:
MCP3008 Pin | RPi3 GPIO |
VDD, VREF | 3.3V |
AGND, DGND | GND |
CLK | GPIO11 |
DOUT | GPIO9 |
DIN | GPIO10 |
CS | GPIO8 |
๐ง Python Code
import spidev
import time
spi = spidev.SpiDev()
spi.open(0, 0)
spi.max_speed_hz = 1350000
def read_channel(channel):
adc = spi.xfer2([1, (8 + channel) << 4, 0])
data = ((adc[1] & 3) << 8) + adc[2]
return data
try:
while True:
air_quality = read_channel(1)
print("Air Quality Level:", air_quality)
time.sleep(2)
except KeyboardInterrupt:
spi.close()
๐ Output
- Prints air quality value every 2 seconds.
- Higher value = Poor air quality ๐ช️
- Lower value = Clean air ๐
๐ก Applications
- Smart homes ๐
- Pollution detection systems ๐จ
- Ventilation automation ๐
๐ซ️ MQ-135 เคธेเคจ्เคธเคฐเคธเคน เคฐाเคธ्เคชเคฌेเคฐी เคชाเคฏ 3 เคंเคเคฐเคซेเคธ เคเคฐเคฃे (เคฎเคฐाเค ी)
๐ฏ เคเคฆ्เคฆिเคท्เค
เคฏा เคช्เคฐเคเคฒ्เคชाเคค เคเคชเคฃ MQ-135 เคเค
เคฐ เค्เคตाเคฒिเคी เคธेเคจ्เคธเคฐ เคเคฃि เคฐाเคธ्เคชเคฌेเคฐी เคชाเคฏ 3 เคตाเคชเคฐूเคจ เคนเคตेเคฎเคงीเคฒ เคช्เคฐเคฆूเคทเคฃाเคी เคชाเคคเคณी เคฎोเคเคฃाเคฐ เคเคนोเคค.
๐งฐ เคฒाเคเคฃाเคฐे เคเคเค
เคเคเค | เคธंเค्เคฏा |
เคฐाเคธ्เคชเคฌेเคฐी เคชाเคฏ 3 | 1 |
MQ-135 เคธेเคจ्เคธเคฐ | 1 |
MCP3008 ADC เคฎॉเคก्เคฏूเคฒ | 1 |
เคฌ्เคฐेเคกเคฌोเคฐ्เคก | 1 |
เคंเคชเคฐ เคตाเคฏเคฐ | เคเคฐเคेเคจुเคธाเคฐ |
เคชॉเคตเคฐ เคธเคช्เคฒाเคฏ | 1 |
๐ก MQ-135 analog เคธिเค्เคจเคฒ เคฆेเคคो, เคฎ्เคนเคฃूเคจ MCP3008 ADC เคเคตเคถ्เคฏเค เคเคนे.
⚡ เคธเคฐ्เคिเค เคเคจेเค्เคถเคจ
เคธेเคจ्เคธเคฐ เคคे MCP3008:
MQ-135 เคชाเคธूเคจ | เคोเค े เคोเคกाเคฏเคे |
VCC | 5V (RPi3) |
GND | GND (RPi3) |
AOUT | CH1 (MCP3008) |
MCP3008 เคคे RPi3:
MCP3008 เคชिเคจ | RPi3 GPIO |
VDD, VREF | 3.3V |
AGND, DGND | GND |
CLK | GPIO11 |
DOUT | GPIO9 |
DIN | GPIO10 |
CS | GPIO8 |
๐ง เคชाเคเคฅเคจ เคोเคก
import spidev
import time
spi = spidev.SpiDev()
spi.open(0, 0)
spi.max_speed_hz = 1350000
def read_channel(channel):
adc = spi.xfer2([1, (8 + channel) << 4, 0])
data = ((adc[1] & 3) << 8) + adc[2]
return data
try:
while True:
air_quality = read_channel(1)
print("เคนเคตेเคฎเคงीเคฒ เคช्เคฐเคฆूเคทเคฃ เคชाเคคเคณी:", air_quality)
time.sleep(2)
except KeyboardInterrupt:
spi.close()
๐ เคเคเคเคชुเค
- เคช्เคฐเคค्เคฏेเค 2 เคธेเคंเคฆाเคฒा เคช्เคฐเคฆूเคทเคฃ เคชाเคคเคณी เคเคฐ्เคฎिเคจเคฒเคตเคฐ เคฆเคฐ्เคถเคตเคคे.
- เคाเคธ्เคค เคต्เคนॅเคฒ्เคฏू = เคเคฐाเคฌ เคนเคตा ๐ซ️
- เคเคฎी เคต्เคนॅเคฒ्เคฏू = เคธ्เคตเค्เค เคนเคตा ๐ฟ
๐ก เคตाเคชเคฐ:
- เคธ्เคฎाเคฐ्เค เคเคฐाเคคीเคฒ เคนเคตेเคी เคคเคชाเคธเคฃी
- เคช्เคฐเคฆूเคทเคฃ เคกिเคेเค्เคถเคจ เคธिเคธ्เคเคฎ
- เคต्เคนेंเคिเคฒेเคถเคจ เคเคोเคฎेเคถเคจ
Comments