12 julho, 2016

Utilizando o LED LDR e Sensor de Luminosidade do Mini NodeMCU

Utilizando o LED LDR do Mini NodeMCU

Nesse artigo vamos utilizar o Led LDR em conjunto com o sensor de luminosidade que veem embutidos no Mini NodeMCU. Quando a luminosidade estiver abaixo do valor 400 (Pode-se ajustar esse valor) vamos ligar a luz verde e quando estiver acima vamos ligar a luz vermelha. Você pode testar colocando a mão sob o sensor de luminosidade e depois retirar a mão.

Código Lua:


print("Waiting Startup")
tmr.alarm(0, 30000, 1, function() 
    print("Startup")
    tmr.stop(0)
    start()
end)


function start()

LDR_GREEN=6
LDR_BLUE=7
LDR_RED=8

gpio.mode(LDR_RED, gpio.OUTPUT)
gpio.mode(LDR_GREEN, gpio.OUTPUT)
gpio.mode(LDR_BLUE, gpio.OUTPUT)

gpio.write(LDR_RED, gpio.LOW)
gpio.write(LDR_GREEN, gpio.LOW)
gpio.write(LDR_BLUE, gpio.LOW) 


lumins=adc.read(0)

if (lumins > 400) then
    state = 1
    gpio.write(LDR_RED, gpio.HIGH)
    gpio.write(LDR_GREEN, gpio.LOW)
else
    gpio.write(LDR_GREEN, gpio.HIGH)
    gpio.write(LDR_RED, gpio.LOW)
    state = 0
end


lastState = state
while 1 do
    lumins=adc.read(0)
    if (lumins > 400) then
        state = 1
    else
        state = 0
    end

    if (lastState ~= state) then
        print("state change")
        if (state == 1) then
            gpio.write(LDR_RED, gpio.HIGH)
            gpio.write(LDR_GREEN, gpio.LOW)
        else
            gpio.write(LDR_GREEN, gpio.HIGH)
            gpio.write(LDR_RED, gpio.LOW)
        end
        lastState = state
    end
    
    tmr.delay(1000000);
end

end

Nenhum comentário:

Postar um comentário