Login / Signup
Cart
Your cart is empty
The MonkMakes Sensor Board for micro:bit allows you to sense sound level, temperature and light level.
Connecting to your micro:bit
You only have to wire up the sensors that you are actually using, but you could wire all the sensors up as shown below. The code examples below assume that pin 0 is used for sound, pin 1 for temperature and pin 2 for light. You can use any pin for any of the sensors, but remember to modify the code to match the pin you are using.
The Sensor for micro:bit uses a MEMs (microphone on a chip) and a pre-amplifier. The output of the sound sensor is connected to an analog input where it can be sampled. The sound signal varies about the 1.5V level. So, silence will produce an analog output of around 1.5V. When there is sound the analog readings will oscillate above and below the 1.5V level like this:
This is why 511 is subtracted from the readings in the code examples below.
JavaScript Blocks Editor
Here is an example of using the Sensor Board to display a bargraph to indicate the sound level. Click on the image below to try it out. Making a noise into the microphone will make the LEDs dance.
MicroPython
from microbit import *
def bargraph(a):
display.clear()
for y in range(0, 5):
if a > y:
for x in range(0, 5):
display.set_pixel(x, 4-y, 9)
while True:
sound_level = (pin0.read_analog() - 511) / 100
bargraph(sound_level)
The Sensor for micro:bit uses a thermistor to measure temperature. The temperature output from the board is a voltage that indicates the temperature. This is then measured using an analog input on the micro:bit.
The calculations for converting this voltage reading to an actual temperature are quite complicated and so the code examples here will only give a rough idea of temperature.
If you want your temperatures in Fahrenheit, then multiply the temperature in degrees C by 9, divide the result by 5 and then add 32.
JAVASCRIPT BLOCKS EDITOR
This is an example of using the Sensor Board to display the temperature, try putting your finger on the temperature sensor to warm it up. You can run the example below by clicking on it.
MicroPython
from microbit import *
while True:
reading = pin1.read_analog()
temp_c = int(reading / 13.33 - 14)
display.scroll(str(temp_c))
sleep(500)
The light sensor uses a phototransistor to measure the light level and produces an output voltage that increases as the light level increases. Here is a guide to the kind of light level you might get from the sensor under different conditions (0 to 1023).
Even though the maximum analog read value is 1023, the maximum reading from this sensor is around 900.
JAVASCRIPT BLOCKS EDITOR
Here is an example of using the Sensor Board to display a bargraph to indicate the light level. Click on the image below to try it out. Put your finger over the light sensor to make it dark or shine a flash-light onto it to make more LEDs light up.
MicroPython
from microbit import *
def bargraph(a):
display.clear()
for y in range(0, 5):
if a > y:
for x in range(0, 5):
display.set_pixel(x, 4-y, 9)
while True:
light_level = pin2.read_analog() / 10
bargraph(light_level)