Skip to content

Activity

Disco lights

Beginner | MakeCode, Python | LED display, Microphone | Input/output

Step 1: Make it

What is it?

Make your own disco light show with the new micro:bit! The LED lights pulse in time to music picked up by the built-in microphone. The louder the sounds, the brighter they glow.

Introduction

Coding guide

What you'll learn

  • How to use the new micro:bit's built-in microphone sensor to measure how loud a sound is
  • How to vary the brightness of the LED display output in response to sensor input readings

How it works

  • The microphone measures loudness of the sounds it picks up as numbers from 0-255. 0 is the quietest sound, 255 is the loudest.
  • All the LEDs on the display are switched on when the program starts.
  • The brightness of the LEDs can also be set using numbers from 0-255. 0 is the darkest (off) and 255 is the brightest.
  • A loop constantly sets the brightness of LEDs to match the amount of sound picked up by the microphone sensor.
  • The louder the sound, the brighter it makes the LEDs shine.
  • Flash this program on to a new micro:bit with sound, play some music with a strong beat and watch the lights pulse in time to the music!

What you need

  • new micro:bit with sound (or MakeCode simulator)
  • MakeCode or Python editor
  • battery pack (optional)

Step 2: Code it

1from microbit import *
2
3lights = Image("11111:"
4              "11111:"
5              "11111:"
6              "11111:"
7              "11111")
8
9while True:
10    display.show(lights * microphone.sound_level())

Step 3: Improve it

  • Modify the program to use your own images or patterns
  • If you're in a class or group, flash the program on to multiple micro:bits, dim the lights, play some music and have a light show!
  • Can you make the lights get darker with louder sounds?