2. Light Sensor

2.1. Introduction

This sensor aims to detect the light intensity in the current environment.

../_images/05001_01.png

2.2. Characteristic


  • Designed in RJ11 connections, easy to plug.

2.3. Specification


Item Parameter
SKU EF05001
Connection RJ11
Type of Connection Analog output
Working Voltage 3.3V
Size 55.8 x 23.8 mm

2.4. Outlook


../_images/05001_02.png

2.5. Quick to Start


Materials Required and Diagram


  • Connect the light sensor to J1 port and the OLED module to IIC port in the Nezha expansion board as the picture shows.

../_images/05001_03.png

2.6. MakeCode Programming


Step 1

Click “Advanced” in the MakeCode drawer to see more choices.

../_images/05001_04.png

We need to add a package for programming, . Click “Extensions” in the bottom of the drawer and search with “PlanetX” in the dialogue box to download it.

../_images/05001_05.png

Note: If you met a tip indicating that the codebase will be deleted due to incompatibility, you may continue as the tips say or build a new project in the menu.

Step 2

Code as below:

../_images/05001_06.png

Result

  • The light intensity’s value displays on the OLED module.

2.7. Python Programming


Step 1

Download the package and unzip it: PlanetX_MicroPython

Go to Python editor

../_images/05001_072.png

We need to add enum.py and light.py for programming. Click “Load/Save” and then click “Show Files (1)” to see more choices, click “Add file” to add enum.py and light.py from the unzipped package of PlanetX_MicroPython.

../_images/05001_081.png ../_images/05001_091.png ../_images/05001_10.png

Step 2

Reference


from microbit import *
from enum import *
from light import *

while True:
    light = LIGHT(J1)
    light_value = int(light.get_lightlevel())
    display.scroll(str(light_value))
    sleep(2000)

Result

  • The light intensity’s value displays on the micro:bit.

2.8. Relevant File


2.9. Technique File