нужна помощь таймер с использованием фоторезистора
- Войдите на сайт для отправки комментариев
Чт, 18/09/2014 - 00:19
#define SVET_PIN 9 // Вывод к котрому подключена нагрузка #define TIME_ON_SVET 500 // Время в течении, которого на выводе 1 #define TIME_OFF_SVET 100 // Время в течении, которого на выводе 0 boolean state_svet = 1; // Переменная для хранения состояния вывода unsigned long new_millis_svet = millis(); // Переменная для хранения времени int sensePin = 0; void setup() { pinMode(SVET_PIN, OUTPUT); // Настраиваем вывод на выход } void loop(){ if(millis() > new_millis_svet){ state_svet = !state_svet; int val = analogRead(sensePin); if(val < 50)digitalWrite(SVET_PIN, state_svet); if(state_svet){ new_millis_svet = millis() + TIME_ON_SVET; } else{ new_millis_svet = millis() + TIME_OFF_SVET; } } }
задача скетча вкл. и выкл. релле на определенное время при изменение освещенности. проблема в том что выкл. осуществляется так же как и вкл. только тогда когда val <50 а нужно чтоб он выключался в любом случае через определенный промежуток времяни. сильно не пинайте я нуб в программирование.
А готовый купить не вариант? Они сейчас копейки стоят.
Или разбирайтесь в программировании или платите за готовое решение, за Вас тут делать никто не будет. Помочь - это пожалуйста, но сделать за Вас...
Давайте Вы попробуете сами составить логику программы и описать ее любым доступным Вам языком. И увидите как все на самом деле просто, а иначе не интересно даже.
что то я не понял. если почти нет света, светильник который висит на 9 пине должен моргать?
Мне кажется это защита от домушников. Вроде в доме кто то есть, свет моргает.. А в приведенном скетче лампочка не выключится, если будет светло.. Помоему так
но моргать капитально будет. 500 и 100мс
время стоит для примера. таймер у меня есть но он не подходит. мне нужно чтоб при отсуствии света релле грубо говоря переходило в режим 30 мин выкл. 5 мин вкл. и дальше по кругу пока не появится свет. скетч работает почти но проблема в том что при изменении освещенности цикл может остановиться и не выкл. (((( помогите плиз
время стоит для примера. таймер у меня есть но он не подходит. мне нужно чтоб при отсуствии света релле грубо говоря переходило в режим 30 мин выкл. 5 мин вкл. и дальше по кругу пока не появится свет. скетч работает почти но проблема в том что при изменении освещенности цикл может остановиться и не выкл. (((( помогите плиз
... скетч работает почти но проблема в том что при изменении освещенности цикл может остановиться и не выкл. (((( помогите плиз
Естественно, ведь изменение Пина происходит только при "var<50". Соответственно, при большей яркости освещения изменения (выключения/включения) не происходит.
Какой напрашивается вывод?
Вариантов как понимаете моооре.
Вам нужно, чтобы при высокой освещенности могло произойти выключение, думайте.
У вас идет проверка на освещенность и если она низкая, то происходит смена статуса освещения. А если освещение яркое то статус не поменяется, а нам надо что? Нам, тоесть Вам, надо переключать в режим "выключено" всегда. А что для этого достаточно сделать? А для этого достаточно убедиться, что сейчас у нас статус "включено". И что мы имеем в сумме? А имее мы следущее: Нам надо поменять статус если освещение низкое или сейчас "включено". Вот думайте, пока не пришел пухлявый и не назвал Вас дураком.
нарисуйте граф состояний.... блок-схему алгоритма....
в старшем ифе - следите за освещённостью , во вложенном ифе - за графиком вкл/выкл
или постройте систему флагов - чё когда делать
да и логику надо менять , с таким графиком вкл/выкл вас за 2...3 часа раскусят, что там живёт дрон
всем спасибо с вашей помощью додумал скетч
не понял ?
расписание вкл/выкл заточить под время суток, ибо никто не включает свет с 02:00 до 05:30 - пока в туалет не захоцца....
проанализируйте вкл света при нахождении в квартире 1....4 человека...
ну не всю же ночь гонять освещение 50 мин - темнота , 10 мин - свет !
Тогда куда проще определять когда стемнеет и запускать скрипт включил, подождал час, выключил, подождал пол часа, включил на 10 минут и так далее, а на следующий день все опять. Хотя опять же, для таких целей есть готовые решения в виде розеток таймеров. А вот что можно сделать с помощью ардуины, так это подключить RGB светоленту для иммитации работы телевизора (такие устройства были популярны в некоторых странах)
Тогда куда проще определять когда стемнеет и запускать скрипт включил, подождал час, выключил, подождал пол часа, включил на 10 минут и так далее, а на следующий день все опять. Хотя опять же, для таких целей есть готовые решения в виде розеток таймеров. А вот что можно сделать с помощью ардуины, так это подключить RGB светоленту для иммитации работы телевизора (такие устройства были популярны в некоторых странах)
может быть моя не правильно написал....
имитировать вкл/выкл света нужно вечером и утром , работу телека - с 20:00 до 02:00 и с 06:00 до 08:00....
а не тупо - 50 мин выкл , 10 мин вкл - и так всю ночь ! люди так не живут ( не пользуются светом )
может быть моя не правильно написал....
имитировать вкл/выкл света нужно вечером и утром , работу телека - с 20:00 до 02:00 и с 06:00 до 08:00....
а не тупо - 50 мин выкл , 10 мин вкл - и так всю ночь ! люди так не живут ( не пользуются светом )
Скорее твоя неправильно понял. Пишем скрипт:
стемнело? да - поехали
включить на десять минут
выключить на 20
включить на час
выключить на 7 минут
включить на 3 часа
выключить на 4
включить на 3 минуты (пошел в туалет)...
выключить... и все, дальше можно не включать, утро уже.. ну можно еще раз проверить часа через 4, чтоб утром если темно включить, а дальше ждать следущего вечера
#14 - тоже самое :)
этот скетч был собран из несколько других и предназначен он для включения режима вентиляции в теплице при разной освещенности. днем находиться в постоянном рабочем режиме ночью включаеться только в течении 5 минут через каждые 20 минут.
а то что было почти всеми вами написано выше не фига для меня не понятно
дык, спрашивайте :)
просто мне это и не нужно было
так что у нас с фоторезистор-ом?
резисторнул?