Продолжая тему газовых сенсоров. Датчик в виде макетки, валяющейся на холодильнике и питающейся от USB-БП от телефона хотя и работает, но его параметры нигде не обрабатываются. Решил для пущей безопасности хотя бы пищалку поставить.
Сперва поставил сразу на цифровой выход и +3.3В — не громко, но слышно пищит. Правда, в NodeMCU нет функций пищания, пришлось слепить свою. Сперва написал на задержках (с вычислением задержек и числа повторов для нужных частоты и длительности!). Производительности на Lua в таком режиме хватает максимум на 1кГц. Ну и нормально. А когда уже вчера закончил возиться, наткнулся на то, что PWM на ESP8266 программируется на произвольную частоту до 1000 Гц
Так что сегодня выкинул весь свой код и написал функцию-пищалку в несколько строк (чистыми, без оформительства):
code lua
-- dofile("beep-pwm.lua").beep(1000,200000)
local M do
local function beep(freq, len, loud, timer, pin)
freq = freq or 1000 -- Hz
len = len or 500 -- ms
timer = timer or 4 -- tmr(4) default
pin = pin or 1 -- D1 default
loud = loud or 100 -- 100 = maximum
pwm.setup(pin, freq, loud*512/100)
pwm.start(pin)
tmr.alarm(timer, len, tmr.ALARM_SINGLE, function()
pwm.stop(pin)
gpio.mode(pin, gpio.OUTPUT)
gpio.write(pin, gpio.LOW)
end)
end
M = {
beep = beep,
}
end
return M
А чтобы пищало громче, слепил простенький модуль на 2N2222:
Сегодня слепил первый свой модуль Простейшая конструкция для подключения к цифровому выходу динамика через 2N2222 (функциональный аналог старого КТ315). Сделал, чтобы от 3.3В ESP8266 питать динамик от 12В. Правда, на максимальной скважинности греется. Максимальный ток у 2N2222 равен 800мА, так что при 12В и 15 Омах динамика (а, тем более, я для безопасности ещё 20 Ом резистор поставил на выход) как раз в максимуме, но... Там мощность максимальная 1.8Вт Но всё равно использование только…
// Радиоэлектронный
Стал орать. Особенно громко на 850Гц
Видимо, близко к резонансной частоте пищалки.
До кучи решил поместить всё в корпус и запитать своим БП от 220В. Пока всё ещё на беспаечных макетках, но уже цивильнее. Со временем как-нибудь сделаю уже на макетке, но с пайкой.
Потестировал с газом от плиты. Раньше тестировал только с газом от зажигалки. Кажется, MQ-2 намного чувствительнее к пропану, чем к метану! На газ от зажигалки реагирует мгновенно, а вот на газ из плиты — слабо и как-то нечётко. Понятно, что если газ будет долго из открытой конфорки хлестать, то сработает, но как-то не то... Надо будет попробовать другие сенсоры.
В общем, так получилось. Пищалка торчит, так как поломало дырку под неё отдельно делать