Здравствуйте Форумчане! Не так давно я занимался проектами Arduino и всё бы хорошо, но в Arduino много подводных камней. По этому было решено купить модули ESP8266 V3 с NodeMCU на борту. Категорически не понимаю, так как пока что не хватает знаний как в Английском языке, так и в языке Lua. В общем задача такова: Имеется датчик влажности DHT22 и 2х-канальное реле. Нужно реализовать такую систему:
Если датчик HDT22 досупен и температура меньше < 20 градусов, мы зажигаем первое реле и ждем к примеру 5 сек, после чего выключаем.
Такой же вариант с датчиком DHT22 только в обратную сторону, только зажигаем второе реле и так же выключаем его через 5 сек. Я не могу разобраться с таймером или чем то подобным в этой прошивке.
Мне нужна функция delay как в ардуино или что то подобное. Буду благодарен за любые ответы, код напишу ниже. Спасибо.
Если датчик HDT22 досупен и температура меньше < 20 градусов, мы зажигаем первое реле и ждем к примеру 5 сек, после чего выключаем.
Такой же вариант с датчиком DHT22 только в обратную сторону, только зажигаем второе реле и так же выключаем его через 5 сек. Я не могу разобраться с таймером или чем то подобным в этой прошивке.
Мне нужна функция delay как в ардуино или что то подобное. Буду благодарен за любые ответы, код напишу ниже. Спасибо.
Код:
tmr.alarm(0, 5000, 1, function()
left = 5
right = 6
gpio.mode(left, gpio.OUTPUT)
gpio.mode(right, gpio.OUTPUT)
status, temperature = dht.read(2)
if status == dht.OK and temperature < 20 then
gpio.write(left, gpio.HIGH)
elseif status == dht.OK and temperature > 20 then
gpio.write(right, gpio.HIGH)
elseif status == dht.ERROR_CHECKSUM then
print("Sensor DHT checksum error.")
elseif status == dht.ERROR_TIMEOUT then
print("The DHT sensor is not available.")
end
end)