Страница 37 из 41

Re: Подключение контроллера MegaD-328

Добавлено: Пн мар 23, 2015 3:27 pm
Bagir
Bagir писал(а):можно ли заставить таймер вызывать себя 20, 30, 100 раз?
Легко!
В конце скрипта с именем например "HardwareMonitor" пишем его вызов с задержкой

Код: Выделить всё

setTimeOut('HardwareMonitorTimer',"runScript('HardwareMonitor');",10); 
Теперь скрипт будет вызывать сам себя каждые 10 секунд. Попутно можно передавать значение переменной в параметре, и по условию закончить эту рекурсию.
У меня пока нет на чем поиграться с ШИМ. Так что тему еще не изучал.
Еще почитайте тут http://smartliving.ru/forum/viewtopic.p ... 832#p20032

Re: Подключение контроллера MegaD-328

Добавлено: Вт мар 24, 2015 12:11 am
AHgpeu
Bagir писал(а):
AHgpeu писал(а):можно ли заставить таймер вызывать себя 20, 30, 100 раз?
Легко!
В конце скрипта с именем например "HardwareMonitor" пишем его вызов с задержкой

Код: Выделить всё

setTimeOut('HardwareMonitorTimer',"runScript('HardwareMonitor');",10); 
да вот я тоже думал, что легко... только вот 2й раз у меня таймер не срабатывал. обманул систему, сделал вызов

Код: Выделить всё

setTimeOut('HardwareMonitorTimer'.rand(),"runScript('HardwareMonitor');",10); 
так работало, вызывало сколько нужно.

Re: Подключение контроллера MegaD-328

Добавлено: Вт мар 24, 2015 1:26 am
Bagir
Тут причина в том, что нельзя создать два разных таймера с одним именем HardwareMonitorTimer. Но это очень даже удобно. Например, если нужно запускать скрипт каждые 10 секунд, то этот код у меня отлично работает. Причем первоначальный запуск я делаю из onNewMinute, но не просто

Код: Выделить всё

runScript('HardwareMonitor');
а так же

Код: Выделить всё

setTimeOut('HardwareMonitorTimer',"runScript('HardwareMonitor');",10);
При этом, когда скрипт запустит свой таймер в шестой раз, его сразу перезапишет запуск из onNewMinute, и два раза подряд скрипт не будет выполнен.

Очень странно, почему не работает вызов с одним именем. У меня так 3 разные скрипта и один метод крутятся.

Re: Подключение контроллера MegaD-328

Добавлено: Вт мар 24, 2015 10:37 am
AHgpeu
возможно потому, что у меня вызов через секунду (для диммирования же)...

Re: Подключение контроллера MegaD-328

Добавлено: Вт мар 24, 2015 10:39 am
Bagir
Да, очень моет быть. Попробуйте проверить, увеличив немного время. Просто для интереса.

Re: Подключение контроллера MegaD-328

Добавлено: Вт мар 24, 2015 10:47 am
skysilver
AHgpeu, видел Ваше сообщение о самодельном МегаД на базе ардуино про мини. Если не трудно, то подскажите пару моментов.
Какое тактирование atmega328p использовали - от штатного кварца ардуины (16МГц) или от кварца сетевого модуля enc28j60? Работает ли у Вас обновление прошивки по сети?

Re: Подключение контроллера MegaD-328

Добавлено: Вт мар 24, 2015 5:26 pm
AHgpeu
skysilver писал(а):AHgpeu, видел Ваше сообщение о самодельном МегаД на базе ардуино про мини. Если не трудно, то подскажите пару моментов.
Какое тактирование atmega328p использовали - от штатного кварца ардуины (16МГц) или от кварца сетевого модуля enc28j60? Работает ли у Вас обновление прошивки по сети?
по началу тактовался на 16 МГц. Прошивку каждый раз нужно было пересобирать с заменой частоты. Быстро надоело, потому в итоге на всех своих мегах с ардуинок выпаял кварц и подпаялся 1м проводочком к 12.5 МГц (1я нога, если не ошибаюсь, модуля enc28j60).
теперь прошиваюсь по сети и горя не знаю)
Bagir писал(а):Да, очень моет быть. Попробуйте проверить, увеличив немного время. Просто для интереса.
поздно, поскольку Андрей выпустил новую прошивку, нужда в циклах отпала. скрипт теперь совершенно на другой логике вкалывает.
запускает режим "плавного изменения яркости", по отпусканию кнопки просто читает значение из меги и тут же его обратно записывает

Re: Подключение контроллера MegaD-328

Добавлено: Вт мар 24, 2015 5:30 pm
Bagir
skysilver писал(а):поздно, поскольку Андрей выпустил новую прошивку, нужда в циклах отпала.
Угу, читал, но просто интересно.

Re: Подключение контроллера MegaD-328

Добавлено: Ср мар 25, 2015 12:07 pm
skysilver
AHgpeu писал(а):теперь прошиваюсь по сети и горя не знаю)
А каким способом сам загрузчик прошивали? Я правильно понял, что при тактировании от кварца ардуины (16МГц) и при прошитом загрузчике прошивка по сети не работала?

Re: Подключение контроллера MegaD-328

Добавлено: Ср мар 25, 2015 8:57 pm
jonyzs
Можно и от кварца на схеме прошиваться по сети стандартным образом как в настоящей меге,чтоб всё работало надо проста другие фюзы прощить а не те что в оригинальной меге,у меня их сделано 3 штуки(правда не на такой красивой печатке как тут выше было показано) и только у одной я сделал тактирование с енц,обе остальные прекрастно обновляютсья скриптом через сеть и ничего переделивать в прошивках не понадобылось.