Description
Gas:Bit - Gas Sensor for MicroBit (BBC micro:bit) - MQ Sensor Range
Our Gas:Bit enables you to easily add a gas sensor to the BBC micro:bit, hence Gas Sensor for microbit.
This Gas Sensor Breakout Board for the BBC Micro:bit is a simple to use, best-seller, and very popular with schools for a range of chemistry, physics, and science projects. The gas:bit adds a range of gas detection capabilities to the Micro:Bit, including hydrogen, methane, propane, smoke & more.
Manufactured by Proto-PIC in Scotland, the Gas:Bit is designed to interface with the MQ-3, MQ-4, MQ-6 and MQ-8 gas sensors which all use the same footprint. The gas:bit MQ gas sensor breakout board is a very economical and easy-to-use add-on for the Micro:Bit, in order, to detect a range of gases including butane or propane, compressed natural gas or butane, alcohol or benzine, and flammable gas.
The MQ gas sensor breakout board for the Micro:bit, connects to an analog input and gives you a reading based on the concentration of the detectable gas.
The gas:bit will not give you a PPM reading due to the resolution of the analog input, but can be great for detecting if the gas is in the air!
We have used it with an alcohol sensor to make our own breath alcohol detector, giving an output when the concentration of alcohol on the breath was over a given value!
Please note: This board does NOT come with any sensors or micro:bit. You will need to attach a BBC Micro:Bit and a gas sensor. These can be purchased separately from Proto-PIC.
Use the Gas:Bit with the following Sensors:
MQ8 - Hydrogen
MQ6 - LPG (Butane or Propane)
MQ4 - Methane or Compressed Natural Gas
MQ3 - Alcohol or Benzine
MQ2 - Flammable Gas and Smoke High Sensitivity for LPG, Propane, and Hydrogen
MQ9 - Carbon Monoxide and Flammable Gas Sensor
Sample uPython code :
The GAS:BIT will give an analogue reading of the concentration of gas or vapor in the air, there is no calibration of the sensor, so an accurate Part Per Million figure is impossible to work out. You can set a threshold for example, but this would require a reference sample. It would be easier to have a base reading, and an arbitrary threshold, to provide a yes/no reading, rather than a 1000PPM reading. The ADC of the micro:bit is also 10bit, so this would only give you 1024 levels!
The sensor requires a pre-heat time of around a minute, then it is ready to take readings. I have found taking the average of 10-50 readings will give a more steady reading due to natural air flow disruptions.
firea = Image("00900:"
"00990:"
"09590:"
"95959:"
"09990")fireb = Image("00900:"
"09900:"
"09590:"
"95559:"
"09990")# Wait for 60 Seconds - allow sensor to heat up
for x in range(0,60):
display.show(firea)
sleep(500)
display.show(fireb)
sleep(500)threshold = 800
while True:
reading = pin2.read_analog()
if (reading > threshold):
display.show(Image.HAPPY)
else :
display.show(Image.SAD)