Using MakeCode to read the light sensor is just as easy as previously reading the switches.
The code above is a bit longer to ensure it can is easy to understand. A variable called
light gets the value of the sensor from the INPUT group
light level block value. The value that the
light level block returns is
255 (which is different than in CircuitPython).
The code will use the NeoPixel LEDs as the indicator. There are ten LEDs, numbered 0 to 9. The
map block is used to take the value of
light and change it from 0-255 to 0-9. Then that pixel is displayed red.
The code will
pause 0.1 seconds (100 milliseconds), then
clear the NeoPixel and start again,
The map in the example uses 245 instead of 255. My flashlight could not get the 10th NeoPixel to light under bright light so I lowered the value. Feel free to raise or lower the values to get the light range you want.
There are additional blocks in MakeCode to have code run based on whether the light is below a dark threshold or above a light threshold. Use the
set .. light threshold to block from the INPUT group at the start of your code for both light and dark.
With those set you can use the
on light bright and
on light dark to perform any action you want when the light gets bright or dark.
The example code below sets a NeoPixel green when
dark, red when
light. NeoPixel 6 is furthest away from the light sensor so readings would not be affected by the indicator.
You can set the thresholds to values that work in your project.