Mide la intensidad luminosa del entorno. Perfecto para automatizar iluminacion, detectar dia/noche y crear proyectos reactivos a la luz.
Tres pasos sencillos para tener tu sensor de luz funcionando con micro:bit.
Inserta la micro:bit en una shield de expansion (como la KittenBot Robotbit, Elecfreaks Octopus, o similar). Asegurate de que los pines coincidan correctamente.
Conecta el sensor de luz a un puerto ANALOGICO de la shield (P0, P1 o P2). La lectura analogica requiere estos pines especificos.
Usa el bloque 'valor analogico del pin' en MakeCode. Los valores van de 0 (oscuro) a 1023 (muy luminoso). Puedes calibrar con valores reales de tu entorno.
Codigo listo para usar en MakeCode (bloques y JavaScript) y MicroPython.
Son programas de ejemplo que ya funcionan. Copia el código con el botón Copiar y pégalo en la pestaña JavaScript de MakeCode. Así de fácil:
// Sensor de Luz - Leer intensidad luminosa // Conectado al pin P0 basic.forever(function () { // Leer nivel de luz (0 = oscuro, 1023 = muy luminoso) let luz = pins.analogReadPin(AnalogPin.P0) if (luz < 200) { // Oscuridad - noche basic.showIcon(IconNames.StickFigure) pins.digitalWritePin(DigitalPin.P1, 1) } else if (luz < 600) { // Penumbra - atardecer basic.showIcon(IconNames.SmallSquare) pins.digitalWritePin(DigitalPin.P1, 0) } else { // Mucha luz - dia basic.showIcon(IconNames.Diamond) pins.digitalWritePin(DigitalPin.P1, 0) } basic.pause(500) })
# Sensor de Luz - Leer intensidad luminosa # Conectado al pin P0 from microbit import * while True: # Leer nivel de luz (0 = oscuro, 1023 = luminoso) luz = pin0.read_analog() if luz < 200: display.show(Image.ASLEEP) pin1.write_digital(1) elif luz < 600: display.show(Image.CONFUSED) pin1.write_digital(0) else: display.show(Image.HAPPY) pin1.write_digital(0) sleep(500)
basic.forever(function () { if (pins.analogReadPin(AnalogPin.P0) < 300) { pins.digitalWritePin(DigitalPin.P1, 1) basic.showIcon(IconNames.Square) } else { pins.digitalWritePin(DigitalPin.P1, 0) basic.clearScreen() } basic.pause(200) })
basic.forever(function () { let nivel = Math.map( pins.analogReadPin(AnalogPin.P0), 0, 1023, 0, 5) basic.showNumber(Math.round(nivel)) basic.pause(500) })
let luzAnterior = pins.analogReadPin(AnalogPin.P0) basic.forever(function () { let luzActual = pins.analogReadPin(AnalogPin.P0) if (luzAnterior > 400 && luzActual < 200) { music.playTone(880, 500) basic.showIcon(IconNames.Skull) } luzAnterior = luzActual basic.pause(300) })
basic.forever(function () { let solar = pins.analogReadPin(AnalogPin.P0) serial.writeValue("luz", solar) if (solar < 250) { basic.showIcon(IconNames.Sad) basic.pause(2000) } else { basic.showIcon(IconNames.Happy) } basic.pause(1000) })
Disponible en varias tiendas online especializadas en electronica educativa.
Kit de sensores Keyestudio con modulo LDR incluido. Ideal para empezar con un pack completo de componentes para micro:bit.