| Pino micro:bit | Função | Notas |
|---|---|---|
| P1 | Sinal digital | 1 = movimento detetado · 0 = sem movimento |
| 3V | Alimentação | 3,3 V |
| GND | Massa | Obrigatório |
Liga LED quando detecta movimento. Mantém aceso 5 segundos após o último movimento.
let ultimoMov = 0
basic.forever(function() {
if (pins.digitalReadPin(DigitalPin.P1) == 1) {
ultimoMov = input.runningTime() // Actualiza timestamp
pins.digitalWritePin(DigitalPin.P2, 1)
basic.showIcon(IconNames.Eye)
}
// Desliga 5s após último movimento
if (input.runningTime() - ultimoMov > 5000) {
pins.digitalWritePin(DigitalPin.P2, 0)
basic.clearScreen()
}
basic.pause(100)
})Conta o número de vezes que detecta movimento e mostra no display.
let cont = 0
let prev = 0
basic.forever(function() {
let pir = pins.digitalReadPin(DigitalPin.P1)
if (pir == 1 && prev == 0) { // Borda ascendente
cont++
basic.showNumber(cont)
}
prev = pir
basic.pause(100)
})