![]() |
![]() |
#11 |
Junior Member
Регистрация: 18.05.2020
Сообщений: 6
Вес репутации: 0 ![]() |
![]()
Здравствуйте!
Дернуло что-то на карантине покрутить ардуину. Сразу оговорюсь, познания в программировании и аппаратных делах у меня неочень. Но как говорится очень хочется. Поэтому заранее извиняюсь за, возможно, глупые вопросы. Перейду сразу к делу. Имеется готовый диммер с алика. В качестве управлялки использую ардуино нано. Никак не могу заставить эту парочку корректно работать вместе. Начну с самого начала. Подключение вроде стандартное. ![]() vcc - 5v, gnd - gnd, z-c - pin2, pwm - pin4 Естественно есть входное 220 на зеленую колодку и лампа на синюю. Далее использую следующий код. PHP код:
При включении всей системы лампа загорается на максимум и постоянно горит. При попытке в порт внести одно любое значение, например 100 или 200 или 50 - ничего не меняется. Яркость постоянная и максимальная. Если ввести 255 - лампа гаснет. Если внести 0 - лампа загорается. Промежуточные значения не работают по какой-то причине. Собственно эту причину и хочу выяснить. Так как я новичек, могу сейчас совсем что-то странное сказать, но я попробовал провести проверочные манипуляции. Например я пробовал вынуть контакт из пин4 и соединить его с +5. В таком случае при вынимании лампа гаснет, при контакте с +5 она горит. Далее пробовал в функции detect_up и detect_down добавить вывод в порт какого-то значения. Я знаю что Serial.println() очень долгая команда и ее не стоит использовать, но все же при ее добавлении я видел в мониторе постоянные срабатывания на FALLING и RISING. После этого я убрал эти строчки. ТАким образом получается что диммер вроде рабочий, но управление им происходит некорректно. Да, еще хотел добавить, что я так же пробовал использовать родную библиотеку от производителя. С ней все хорошо работает, но все же мне стало интересно как добиться работы с использованием вашего подхода, если это конечно возможно. Заранее спасибо. |
![]() |
![]() |
Здесь присутствуют: 9 (пользователей: 0 , гостей: 9) | |
|
|