Mide la intensidad luminosa del entorno. Perfecto para automatizar iluminacion, detectar dia/noche y crear proyectos reactivos a la luz.
Un sensor analogico con fotoresistencia LDR que varia su resistencia segun la intensidad de luz recibida.
El sensor de luz usa una fotoresistencia (LDR) cuya resistencia disminuye cuando recibe mas luz. La micro:bit lee este cambio como un valor analogico entre 0 (oscuridad total) y 1023 (luz maxima). Es ideal para proyectos de automatizacion del hogar, alarmas nocturnas y experimentos sobre el comportamiento de la luz.
Viene montado en una plaquita con conector de 3 pines (S, V, G). Se conecta a cualquier pin analogico (P0, P1, P2) de la shield de expansion.
⚡ micro:bit V1 & V2
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.