Управление подсветкой приборной панели... не получается...
- Войдите на сайт для отправки комментариев
Здравствуйте уважаемые Ардуинщики, у меня к Вам вопрос, так как перекопав весь форум я всетаки пришел к тому что надо создать тему, ибо я ничего не понял... я только начинающий в этом, пришло мне в голову сделать мини блочек управления подсветкой приборки, но без участия кучи конденсаторов и резисторов... колхозно да и трудно подстраивать, заказал Ардуинку с Китая и ковыряюсь теперь... вроде все написал, работает, НО требуется задержка, в ней как раз таки я и закопался по самую...
И так логика примерно примерно такая:
1) Включаем зажигание, сразу включаются подсветка стрелок, затем спустя 2 секунды запускается плавное включение подсветки шкал
2) Выключаем зажигание, все должно быть в обратном порядке, сначала плавно тухнут шкалы, спустя 2 секунды стрелки
3) Технические вопросы с подключением я все разобрал, управлять подсветкой буду через ULN2003, сигнал с зажигания буду получать через делитель.
И собственно пердставляю Вашему вниманию сам код, который я навоял.... жду ваши комментарии по моим ошибкам в нем, может упростить можно, ну и как собственно мне эту задержку организовать... ибо бошка уже дымиться ничего не получается....
int sigPin = 8; int ALPin = 9; int SLPin = 10; int sigState = 0; int brightness = 0; int fade = 5; void setup() { pinMode(ALPin, OUTPUT); pinMode(SLPin, OUTPUT); pinMode(sigState, INPUT); } void loop(){ sigState = digitalRead(sigPin); if (sigState == HIGH) { digitalWrite(ALPin, HIGH); analogWrite(SLPin, brightness); if (brightness < 255) { brightness = brightness + fade; } delay(50); } else if (sigState == LOW) { analogWrite(SLPin, brightness); if (brightness > 0) { brightness = brightness - fade; } if (brightness == 0) { digitalWrite(ALPin, LOW); } delay(50); } }
2) Выключаем зажигание, все должно быть в обратном порядке, сначала плавно тухнут шкалы, спустя 2 секунды стрелки
после завершения этой задачи не забудьте обесточить ардуину, иначе она быстро разрядит ваш аккумулятор на стоянке.
Логично... а как это реализовать? Ведь для полного цикла ей нужно постоянное питание, поэтому я брал сигнал при включении зажигания....
питание на ардуину подаем с ключа зажигания через диод, туда же через диод питание подаем с реле, которое при включении подключает 12В с контакта где напряжение есть всегда. Диоды нужны, чтобы развязать питание, чтобы реле не включало все зажигание. Реле включаем ардуиной сразу в setup(). После выключения зажигания гасим подсветку и отключаем реле
Такс, с диодами чтобы обратки не было, я разберусь, если я правильно понял у нас схема такая:
1) питание Ардуино (плюс с управляющего, и плюс постоянный)
2) пропадает плюс с управляющего исчезает плюс с постояннки
Что-то недопонял.... а как мне тогда завершить функцию плавного тушения если у меня оно все вырубит как только пройдет первый цикл уменьшения яркости по ШИМ?
ШИМ будет уменьшаться от 255 до 0 в каждом цикле (например), вот вставляем условие которое будет срабатывать при уровне ШИМ 0 (погасили подсветку) и в этом условии делаем все дела по обесточиванию.
ШИМ будет уменьшаться от 255 до 0 в каждом цикле (например), вот вставляем условие которое будет срабатывать при уровне ШИМ 0 (погасили подсветку) и в этом условии делаем все дела по обесточиванию.
Благодарю за ответ, а можно как нибудь понаглядней, мне бы сам код увидеть чтобы понять, у меня больше тяга к практике чем теории, пока сам не увижу и не потыкаю, то от прочитанного я много чему не научусь....
Если я все правильно понял, то схема подключения должна быть, примерно, такой:
K1.1
к + Arduino <-----*--------/ -----------< + Аккумулятора
|
|
| D1
----|<|---------------< + От замка зажигания
K1
+--+
к выходу ULN <-------------| |------< + Аккумулятора
+--+
а код, такой:
Извиняюсь. Исправил код. В таком виде все работает:
2) Выключаем зажигание, все должно быть в обратном порядке, сначала плавно тухнут шкалы, спустя 2 секунды стрелки
после завершения этой задачи не забудьте обесточить ардуину, иначе она быстро разрядит ваш аккумулятор на стоянке.
А Вы в курсе какой ток потребляет ардуино?
Сравните ток ардуины с током автомобильного блока управления и автомобильной сигнализации. Зачем давать вредные советы?
UB8JAK Спасибо за помощь, понял свою ошибку, я не знал что кроме функций SETUP и LOOP можно создавать другие.....
carduino.ru если она будет потреблять более 50мА то за 3 дня в зиму она способна посадить АКБ, но я учту ваше предложение, замерю ток потребления, если он будет 10-20мА в режиме ожидания, то оставлю как есть!
UB8JAK Спасибо за помощь, понял свою ошибку, я не знал что кроме функций SETUP и LOOP можно создавать другие.....
carduino.ru если она будет потреблять более 50мА то за 3 дня в зиму она способна посадить АКБ, но я учту ваше предложение, замерю ток потребления, если он будет 10-20мА в режиме ожидания, то оставлю как есть!
10мА светодиод Power и 5мА сам контроллер ардуино. 24х15=360мА в сутки, 30х0,36=10,8А в месяц
Если установить импульсный стабиллизатор, то ток потребления ардуино из бортовой сети автомобиля будет меньше боле чем в два раза, менее 5А в месяц
Еще можно отключить светодиод Power и потребление сократится еще на 2/3
Еще можно отключить светодиод Power и потребление сократится еще на 2/3
Это программно можно сделать? Или его выпаивать нужно?
Можно выпаять токоограничивающий резистор идущий на этот светодиод
Можно этот резистор заменить на другой(3,3к), что бы он ограничивал ток до 1-2мА
светодиод будет светится только с низкой яркостью
Спасибо еще раз, я думаю лучше увеличить номинал сопротивления тогда... хотя ее и не видно будет, но 1-2мА думаю лучше чем 15-20 )))
А чем вам не нравится вариант с полным отключением? Контроллоер же больше никаких функций, кроме управления подсветкой, не выполняет.
Есть небольшое замечание по коду. Если эта система будет в автомобиле, то советую максимально избавляться от delay(). А то в результате можете удивиться скорости реакции на ваши действия.
Я думаю, пока не соберу все в кучу, ничего отладить не получится, для меня это как теория без практики, толку ноль, мне главное было узнать в какую сторону "копать", а там я уже разберусь! Тем более что я пальнул ардуинку, пока следующая приедет, недели три ждать, как раз за это время соберу приборку! ) Всем еще раз спасибо! )