Experiment 26: MQ-2 Smoke Sensor Experiment

From Diustou Wiki
Revision as of 17:27, 12 February 2025 by Yousimaier17 (talk | contribs) (Created page with "*Basic Experiment Kits For Arduino *Basic Experiment Kits For Raspberry Pi == Arduino == === Experimental Phenomenon === * Print data collected by the module through t...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Arduino

Experimental Phenomenon

  • Print data collected by the module through the serial port.

Notes

  • After powering on, wait for 1 minute for preheating before measurement. After preheating, you can feel significant heat from the probe.

Circuit Connection

  • 实验二十六:MQ-2烟雾传感器实验 接线.png

Reference Program

void setup()
{
  Serial.begin(9600); //Set serial baud rate to 9600 bps
}
void loop()
{
  int val;
  val=analogRead(0);//Read Gas value from analog 0
  Serial.println(val,DEC);//Print the value to serial port
  delay(100);
}

Raspberry Pi

Circuit Connection

  • 实验二十六:MQ-2烟雾传感器实验 接线1.png

Program Execution

Python

  • Install the gpiozero library
    • You can use the following command to install the library:
sudo apt update
sudo apt install python3-gpiozero
  • For other systems on the Raspberry Pi, you can use the following command to install the library:
sudo pip3 install gpiozero
  • Run the following command to view the GPIO pin definitions on the Raspberry Pi:
pinout
  • Enable the SPI interface
sudo raspi-config
Select Interfaces oOptions -> SPI -> “Would you like the SPI interface to be enabled? ”Select Yes -> “The SPI interface is enabled” Select Yes -> Select finish
  • Shut down the Raspberry Pi. With the power off, connect the corresponding modules to the circuit according to the provided circuit connection, and then start the Raspberry Pi.
  • Download the Raspberry Pi reference example, unzip the file, copy it to the user directory, and run it:
cd raspberrypi/26/python_gpiozero
python sensor.py
  • You can see the Raspberry Pi running the program correctly. To exit, press ctrl+C.
  • Instruction Description: gpiozero.Button(pin, pull_up, active_state, bounce_time, hold_time, hold_repeat)
    • Button inherits from DigitalInputDevice and represents a simple button or switch. One end of the button is connected to the ground, and the other end is connected to any GPIO pin; alternatively, one end of the button is connected to the 3V3 pin, and the other end is connected to any GPIO pin. Then, set pull_up to False in the Button's initialization method.
    • Main Parameters:
      • pin: GPIO pin number;
      • pull_up: Internal pull-up/pull-down resistor setting,
        • When set to True (default), the GPIO pin is pulled high, and the other end of the button should be connected to ground.
        • When set to False, the GPIO pin is pulled low, and the other end of the button should be connected to 3V3.
        • When set to None, the GPIO pin is floating, and gpiozero cannot guess the active state; you must set active_state.
      • active_state:
        • When set to True, the software considers the pin state as "high" when the hardware pin state is "high".
        • When set to False, the input polarity is reversed; when the hardware pin state is "high", the software considers the pin state as "low".
        • Use this parameter to set the unknown pin active state when pull_up is set to None.
        • When pull_up is set to True or False, the pin's active state is automatically assigned.
      • bounce_time: Software debounce time. Generally, a switch has unstable signals within about 20ms, known as "switch bounce".
        • When set to None, no software debounce compensation is performed; otherwise, this parameter is the length of time (in seconds) that the component ignores after an initial change, with a default of 1s.
      • hold_time: The time after pressing the button until when_held is triggered, in seconds.
      • hold_repeat:
        • If True, when_held will continue to be triggered every hold_time interval as long as the button remains pressed.
        • If False, when_held will only trigger once.

Example Download

Related Examples

Basic Experiment Kits and Examples for Arduino and Raspberry Pi
教程名2
  • 列表2
教程名3
  • 列表3
教程名4
  • 列表4
教程名5
  • 列表5
教程名6
  • 列表6