Cada sensor tem prioridade e alerta diferente.
// Pinagem Alarme
// Chamas → P0 (digital em P0)
// PIR → P1
// Colisão → P2 (0=activado)
// LED R → P8, G → P9, B → P10
// Campainha → P3 (music)
function setCor(r:number,g:number,b:number){
pins.analogWritePin(AnalogPin.P8,r)
pins.analogWritePin(AnalogPin.P9,g)
pins.analogWritePin(AnalogPin.P10,b)
}
lcd.LCDinit(39)
basic.forever(function() {
if (pins.digitalReadPin(DigitalPin.P0)==0) {
setCor(1023,200,0) // Laranja — fogo
music.playTone(2000,150) ; music.playTone(1500,150)
lcd.showString("!! FOGO !!",0,0)
} else if (pins.digitalReadPin(DigitalPin.P1)==1) {
setCor(1023,0,0) // Vermelho — intruso
music.playTone(880,300)
lcd.showString("INTRUSO PIR",0,0)
} else if (pins.digitalReadPin(DigitalPin.P2)==0) {
setCor(0,0,1023) // Azul — impacto
music.playTone(600,500)
lcd.showString("COLISAO!",0,0)
} else {
setCor(0,200,0) // Verde — seguro
lcd.showString("Sistema OK ",0,0)
}
basic.pause(300)
})