In this lesson, we will carry out an interesting experiment to make a smart light with a Micro:bit.
13.1 Components to be prepared
13.2 LED display
The front LED display of Micro:bit consists of 25 5x5 lattice LEDs.
25 LEDs arranged in a 5x5 grid make up the display for showing pictures, words and numbers.
13.3 Light sensor
(1)As well as working as an output, the LEDs on your micro:bit can also work as an input device light sensor, measuring the amount of light falling on them.A light sensor is an input device that measures light levels. Your BBC micro:bit uses the LEDs to sense the levels of light and lets you program your micro:bit as a light sensor.
In this lesson, we will make a smart light that can measure the amount of light. When your Micro:bit is in the dark, its LED screen will automatically light up. When your Micro:bit is exposed to light, it automatically turns off the LED.
More information about the light sensor is available in the following link:
https://www.microbit.org/get-started/user-guide/features-in-depth/#light-sensor
13.4 Circuit
Connect micro:bit and PC with a Micro USB cable.
13.5 MakeCode programming
We will use an online MakeCode Editor to complete the experiment in this lesson, as shown below.
13.5.1 Start programming
(1) Log in to the website
1. You need to enter the URL in the address bar of Google Browser:
https://makecode.microbit.org/
2. After the website is successfully opened, the interface as shown below will appear:
(2) Import a project
1. In the HOME interface, click the "Import" button to import the external ".hex" file:
In the pop-up dialog box, select the "Import File", as shown in the following figure:
Click the "Choose File":
Find the code file for this lesson:
BBC_Microbit_Sensor\Code\Lesson_13\BlockCode
Select the file in ".hex" format and click the Open:
2. Notice whether the file has been loaded into the following window, and then click the "Go ahead!" button, as shown in the following figure:
3. Open the file successfully, as shown in the following figure:
13.5.2 Run the program
1. After the program is written, connect micro:bit and PC with a Micro USB cable.
2. After micro:bit is connected to the computer, you need to first "Pair device". Click the button on the right of in the lower left corner, and then click the option, as shown in the following figure:
Then click in the lower right corner:
Then the following dialog box will pop up, select , and then click
After the device is successfully paired, the button changes to
3. Start to download the program to Micro:bit, and click the button. Generally, the program will be downloaded directly to the Micro:bit. After the download is completed, your Micro:bit will restart and run the program just downloaded.Observe the LED screen of the Micro:bit. If your Micro:bit is exposed to a high intensity of light, every LED will be turned off. If your Micro:bit is in the dark, the LED screen will light up, as shown in the figure below:
[Note]:
If Micro:bit doesn't respond after clicking the , you need to click the button on the right of the , and then click the , and observe the situation of the Micro:bit again, as shown in the following figure:
If you have problems, please send us an email: support@adeept.com
13.5.3 Learn the code program
In the program, we use the following instruction blocks, which are explained as follows:
Block | Function |
| This is an instruction block to detect the intensity of light. |
| This is an instruction block to turn off every LED. |
| This is an instruction block for conditional judgment. |
| It uses selection to sense if the light falling on the micro:bit falls below a certain level – is less than (<) 80. If it is dark, it lights up the micro:bit display, else it clears the screen so the LEDs are dark.You may need to adjust the threshold number 100 depending on the lighting conditions where you are. |
| This is an instruction block to control delay, and the number indicates a delay of 1s. |
13.6 Python programming
13.6.1 Run the program
1.Connect micro:bit and PC with a Micro USB cable.
2. Open the Mu Editor installed on the computer, and click the button [Load] in the upper left corner to open the source code program of this lesson:
Find the code file for this lesson:
BBC_Microbit_Sensor\Code\Lesson_13\PythonCode
Select the file in ".py" format and click the Open:
3. Click the [Flash] button to download the program to Micro:bit, as shown in the following figure:
4.After the program is downloaded, your Micro:bit will restart and run the program you just downloaded. Observe the LED screen of the Micro:bit. If your Micro:bit is exposed to a high intensity of light, every LED will be turned off. If your Micro:bit is in the dark, the LED will light up, as shown in the following figure:
【Note】:
After you click the [Flash] button, if there is no change on the LED screen of Micro:bit, you need to restart the Micro:bit, and then click the [Flash] button again.
If you have problems, please send us an email: support@adeept.com
13.6.2 Learn the code program
The source codes are as follows:
1 2 3 4 5 6 7 8 9 10 11 12 | from microbit import * while True: if display.read_light_level() < 100: display.show(Image( "99999:" "99999:" "99999:" "99999:" "99999")) else: display.clear() sleep(2000) |
(1) The method of the read_light_level() can read the intensity of light, and the data in 0~255 can be read.
3 | if display.read_light_level() < 100: |
(2) The method of the display.clear() can turn off every LED.
11 | display.clear() |