Skip to main content

๐ŸŒซ️ Interfacing Raspberry Pi 3 with MQ-135 Air Quality Sensor

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

ComponentQuantity
Raspberry Pi 31
MQ-135 Air Quality Sensor1
MCP3008 ADC Module1
Breadboard1
Jumper WiresAs needed
Power Supply1

๐Ÿ’ก MQ-135 provides analog output. RPi needs MCP3008 ADC to convert analog to digital.

⚡ Circuit Connections

Sensor to MCP3008:

From (MQ-135)To
VCC5V (RPi3)
GNDGND (RPi3)
AOUTCH1 (MCP3008)

MCP3008 to RPi3:

MCP3008 PinRPi3 GPIO
VDD, VREF3.3V
AGND, DGNDGND
CLKGPIO11
DOUTGPIO9
DINGPIO10
CSGPIO8

๐Ÿง  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 เคตाเคชเคฐूเคจ เคนเคตेเคฎเคงीเคฒ เคช्เคฐเคฆूเคทเคฃाเคšी เคชाเคคเคณी เคฎोเคœเคฃाเคฐ เค†เคนोเคค.

๐Ÿงฐ เคฒाเค—เคฃाเคฐे เค˜เคŸเค•

เค˜เคŸเค•เคธंเค–्เคฏा
เคฐाเคธ्เคชเคฌेเคฐी เคชाเคฏ 31
MQ-135 เคธेเคจ्เคธเคฐ1
MCP3008 ADC เคฎॉเคก्เคฏूเคฒ1
เคฌ्เคฐेเคกเคฌोเคฐ्เคก1
เคœंเคชเคฐ เคตाเคฏเคฐเค—เคฐเคœेเคจुเคธाเคฐ
เคชॉเคตเคฐ เคธเคช्เคฒाเคฏ1

๐Ÿ’ก MQ-135 analog เคธिเค—्เคจเคฒ เคฆेเคคो, เคฎ्เคนเคฃूเคจ MCP3008 ADC เค†เคตเคถ्เคฏเค• เค†เคนे.

⚡ เคธเคฐ्เค•िเคŸ เค•เคจेเค•्เคถเคจ

เคธेเคจ्เคธเคฐ เคคे MCP3008:

MQ-135 เคชाเคธूเคจเค•ोเค े เคœोเคกाเคฏเคšे
VCC5V (RPi3)
GNDGND (RPi3)
AOUTCH1 (MCP3008)

MCP3008 เคคे RPi3:

MCP3008 เคชिเคจRPi3 GPIO
VDD, VREF3.3V
AGND, DGNDGND
CLKGPIO11
DOUTGPIO9
DINGPIO10
CSGPIO8

๐Ÿง  เคชाเค‡เคฅเคจ เค•ोเคก

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

Popular posts from this blog

Interfacing Load Cell with Raspberry Pi 3 (via HX711) ⚖️

Interfacing Load Cell with Raspberry Pi 3 (via HX711) ⚖️ Interfacing Load Cell with Raspberry Pi 3 (via HX711) ⚖️ A load cell is a transducer that converts force (weight) into an electrical signal. The HX711 is a precision 24-bit analog-to-digital converter (ADC) designed for weigh scales. Today we’ll connect a load cell to Raspberry Pi 3 using the HX711 module. ๐Ÿงช ๐Ÿ”ง Components Required Component Quantity Raspberry Pi 3 1 Load Cell 1 HX711 Module 1 Jumper Wires 6 Breadboard (optional) 1 ๐Ÿ”Œ Pin Connections HX711 Pin Raspberry Pi Pin Pin Number VCC 5V Pin 2 GND Ground Pin 6 DT GPIO 5 Pin 29 SCK GPIO 6 Pin 31 Figure: Load Cell connected to Raspberry Pi 3 via HX711 ๐Ÿ’ป Python Code from hx711 import HX711 import RPi.GPIO as GPIO import time hx = HX711(dout_pin=5, pd_sck_pin=6) hx.set_reading_format("MSB", "MSB") hx.set_reference_unit(1) hx.reset()...

Interfacing Sound Sensor with Raspberry Pi 3

๐Ÿ”น Overview The KY-037 is a high-sensitivity sound detection sensor that can detect noise levels in the environment. It provides both analog and digital outputs. In this tutorial, we’ll interface the digital output of KY-037 with Raspberry Pi 3 Model B+ (without using an ADC like MCP3008) and detect sound events.

Interfacing Water Flow Sensor with Raspberry Pi 3 ๐Ÿšฟ

Interfacing Water Flow Sensor with Raspberry Pi 3 ๐Ÿšฟ ๐ŸŽฏ Objective To measure the flow rate of water using a Water Flow Sensor (YF-S201) and Raspberry Pi 3. Useful in smart irrigation and water management systems. ๐Ÿงฐ Components Required Component Quantity Raspberry Pi 3 1 YF-S201 Water Flow Sensor 1 10K Pull-down Resistor 1 Jumper Wires As required Breadboard 1 ⚡ Circuit Connections Sensor Pin Connect To Red (VCC) 5V (Raspberry Pi) Black (GND) GND (Raspberry Pi) Yellow (Pulse Out) GPIO18 (Pin 12) with pull-down resistor ๐Ÿง  Python Code import RPi.GPIO as GPIO import time FLOW_SENSOR = 18 pulse_count = 0 def countPulse(channel): global pulse_count pulse_count += 1 GPIO.setmode(GPIO.BCM) GPIO.setup(FLOW_SENSOR, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.add_event_detect(FLOW_SENSOR, GPIO.FALLING, callback=countPulse) try: while True: pulse_count = 0 time.sleep(1) flow_rate = (pulse_count / 7.5) ...