Ардуино в машину
- Войдите на сайт для отправки комментариев
Пт, 12/04/2013 - 11:20
Добрый день. имеется Arduino UNO R3
Хочу установить его в машину, для выполнения 2х задач для начала в будущем доработаю до ещё чего нибудь.
1. Цель: Закрытие авто после постановки на охрану. (авто со smartkey поэтому сигналка работает по принципу метка есть или нет и не умеет закрывать двери, приходится нажимать кнопку smartkey но бывало что забывал).
условия по которым должно выполняться действие:
- автомобиль заглушен (определяется по "плюсу" есть или нету)
- двери закрыты (определяется по "минусу" есть или нету (Могу инвертировать в "Плюс" если нужно)
- у сигнализации есть лампочка которая мигает рас в 2 секунды по несколько раза имеет 2 цвета (зелёный снята с охраны, красный стоит на охране) цель брать пин от красного цвета. Пока по поводу лампочки не уверен не знаю как она устроена к ней идёт 2 провода как горит 2 цвета не понимаю ладно позже разберусь.
в итоги когда все эти условия срабатывают нужно
подать кратко временный сигнал закрытия дверей.
___
Нужно чтобы эта задача срабатывала один рас. И срабатывала заново только после запуска двигатель.
2. Цель подать сигнал после выполнения условий
условие:
- автомобиль заглушен
- если дверь открывалась, отсчитывается 10 секунд. на выполнение следующего условия.
- появляется "Плюс" на один из пин ардуино
и после этого через (0.5 секунды)
подаётся сигнал (на 1 секунды)
В электронике немного соображаю спаять смогу, а вот с программирование чего то как то не складывается.
Не знаю с чего начать. Прошу помочь с кодом.
Возможные варианты:
1. Кто-то пишет скетч за вас
а. Ищите исполнителя за деньги
б. Надеетесь что кому-то будет не лень "просто так" его написать (это возможно, случается)
2. Пишете сами, разбираетесь с програмированием в объеме необходимым для решения задачи.
Вариан 1 - там все очевидно.
В варианте - 2. Читаете документацию, учитесь работать с кнопками, диодами, как согласовывать 5v и 12v. Вообщем дробите задачу на составляющие и ищите их решения (как читать состояние, как "выполнить через 0.5 сек) и т.п. Читаете форум, ищите как другие уже решали эти задачи. Не обязательно это будет "сигнализация в машине", это может быть и "как зажечь диод через 2 секунды после нажатия кнопки на 5 сек". Важно понять принцип. Вообщем "пробуете", что-то не получается - спрашиваете. В этом случае вопросы уже будут более конкретные и видно что "челвек сам пытается". Обычно в таких случаях помогают более охотно.
И еще есть "вариант 3": можете просто не обращать внимание на мои размышления/болтологию :)
Если решите все-таки "сами делать", то
>Не знаю с чего начать
Традиционно начинают со скетча Blink - учатся мигать диодом.
Потом что подключите к дуине обычную кнопку. И научитесь ловить ее нажатие и отправлять в Serial сообщение что она нажата, или зажигать диод встроенный. Почитайте ветку прикрепленную про кнопки, потом... ну если пойдете по этому пути, тогда придумаем что дальше освоить нужно что-бы вашу задачу решить.
Доброго времени суток. Я ещё сам нубик, но могу помочь с кодом, там сложного ничего нет, блинки и кнопки уже прошёл, сейчас колдую с ЖКИ, но тоже нужно решить одну проблемку, которая будет являться частью Вашего кода, это мигание светодиода, точнее распочнать частоту 1 Гц (в Вашем случаи 0,5Гц). Если гуру этого форума нам в этой части кода помогут, остальное заболтаем, смоделируем и воплотите. Для начала нужно немного решить аппаратный вопрос, т.е. в машине 12 вольт, ну нолик и в Африке нолик, главное чтоб не развязанны гальванически были или наоборот развязать через оптопары, тогда не важно что подавать, нолик или + 12В. Ещё более упрощённой схемой будет через резистор, входы подтянуть на 15, а лучше 10 Ком, и останется только подобрать резистор чтоб при подаче 14,5 вольт на пине было не больше 5 вольт. Можно конечно и кренить каждый сигнал......в общем определяйтесь аппаратно, а с кодом поэксперементируем.
во втором случаи, как я понял, нужен звуковой сигнал при открытой, или не плотно закрытой двери, там ещё легче. И...если заинтересует, дуинку можно "попросить" издавать свой сигнал.
Спасибо за помощь.
С ламопчкой разобрался, если +/- то зелёная, если -/+ то красная.
По поводу двери все равно открыта дверь или закрыта. Нужно что бы это событие срабатывало в момоент открытия двери отсчитывало 10 секунд может 15, и чтобы отсчёт продолжался после закрытия двери.
По поводу сигнала не правильно объяснил нужно просто подать питание на одном из конетактов arduino.
>По поводу сигнала не правильно объяснил нужно просто подать питание на одном из конетактов arduino.
Вот тут осторожно. В машине все 12-ти вольтовое. А дуина - пяти вольтова. 12-ть вольт - спалят ее входы.
Так что нужно согласовывать. Благо не сложно.
Принципы тут :Согласование логических уровней 5В и 3.3В устройств / Схемотехника / Сообщество EasyElectronics.ru
Там для согласования 3v/5v, а у вас 5v/12v - но принцип - тот же.
Лично мне импонирует вариант "диодный интерфейс" своем соотношением простота/безопастность. В случае когда нужно просто узнать "есть там напряжение или нет" - не обязательно искать именно диод шотки. Простой диод подойдет. Только с запасом взять. Как минимум на 25v.
Кондер - думаю можно сократить если шума не много. Да и резистор R1 можно ставить, а можно внутрений подтягивающий попытатся включить.
Sergey-88 Ну раз вы определились с сигналами, что подключать, куда подключать, и как подключать. То нарисуйте полную схему, на какой пин через какое согласование что приходит и что, через какое согласование и на какой исполнительный механизм уходит (вам ведь все равно по ней собирать). А уж потом можно и про программу говорить.
Sergey-88, предполагаю, что с этой задачей великолепно справится чип attiny13a. Но с ним сложнее, чем с UNO.
Нарисовал схему, сильно не пинайте...
Так как у меня под рукой только куча не использованных реле, решил на них заморочиться.
Надеюсь все понятно если что спрашивайте...
Первое, на светодиод от сигналки сколько вольт идет? обычно 12,так что лучше поставить тоже реле в развязку.
Второе, при таком подключении к замкам двери, получишь КЗ,и как следствие выгорание предохранителей минимум. Или ты их совсем отключишь от штатной сигнализации?
А остальное вроде правильно. Хотя можно оптопарами развязать, но дело хозяйское.
Значит в итоге будет:
Пин 5 - (выход) закрытие двери,
Пин 6 - (выход) Сделать еще что то,
Пин 9 - (вход) Сигнализация в режиме охраны,
Пин 10- (вход) Дверь открыта,
Пин 11- (вход) Включен замок зажигания.
Светодиод от сигналки точно 5v. от замка двери попробую подключиться в приборной панели там думаю 12v светодиод.
Что значит "можно оптопарами развязать"?
По пинам первоначально так, если нужно можно другие.
Оптопарами это значит что можно просто на светодиод оптопары через резистор подать 12 в. Это напрящение не как ни будет связано с контроллером, а эмитер и колектор той же оптопары посадить на +5В и нужный пин. Это и есть гальваническая развязка. На пин не прийдёт напряжение больше чем питание МК. DIP корпуса будет достаточно.
И зачем Вам китайская зарядка, подавайте на дуину бортпитание, у неё своя кренка установлена. ещё и защита от козы.
От диода сигналки лучше всё-равно добавить резистр на килоом, и так на пине будет логическая еденица, это страховка чтоб порт не спалить.
В случае пяти проводных замков двери, можно(и даже лучше добавить) Еще один сигнал, "дверь заперта"
Реле один и два, можно заменить на оптопары, о чем и говорилось выше.
По пяти проводной я бы и верхнее реле с фото убрал. Те три провода, это управляющие сигналы, можно нолик прям на них подавать (импульсом на один из них), а если определиться со второй задачей, то и другое реле убрать (вобще без этого блока обойтись.
Можно, но если уж делать развязку, то развязывать все. А опто пару я просто изобразил что бы человек понял, на что заменить реле. Кстати и включение оптопары нарисовал не совсем корректно, но главное что бы человек понял.
Кстати по поводу питания ардуино от бортовой сети, где то прочитал что это не очень полезно для ардуино, может начать перегреваться.
ну если с пинами определились то начинаем писать
Ну а дальше по аналогии сам.
Пробуй, спрашивай.
А что греться начнёт!? Там, если я не ошибаюсь, кренка на 1,5 Ампера, Вы будете использовать ресурс не более чем на 10%, с чего ей грется!? Я бы по этому поводу не парился, лишний хард не нужен, зачем усложнять. ИМХО всё нужное не сложно - всё сложное не нужно.
Если использовать питание напрямую от бортовой сети и если землю arduino подключить к массе, то вместь реле можно использовать делители напряжения на резисторах.
При этом подтягиваем 10кОм, входное 22кОм - 24кОм, При значениях Uвх = 14,2В Uвых = 4,2В.
Вчера покапался в двери авто, нашол контакт по каторому можно определить закрыт замок или нет, но есть одно но: когда замок закрыт по нему 0.26v но через ~7 секунд становится 1.8v когда заком открыт там 0.0v. вопрос в следующем 0.26v достаточно для ардуино чтобы понять замок закрыт или нет?
а если к аналоговому входу подключить?
Развяжешь диодом и подтянешь к плюсу.
Вот сочинил код, Возможно где то что то не так...
В коде написал где реально не знаю как писать, прошу помочь.
Написал 2 задачи но не знаю будут ли они так работать?
Сам код буду сегодня вечером проверять.
Ничего для первого раза.
Только импульс на замок не 100мс, а 700.
условие
if
(digitalRead(IgnKeyOn)==LOW)
одинаково в обоих задачах, зачем проверять два раза, заведи в один блокпро отсчет времени почитай http://arduino.ru/tutorials/BlinkWithoutDelay
и убери если не используешь последнее else {}
Собери на прототипке, вместо датчиков кнопки и выключатели, вместо исполнительных светодиоды. Удобнее моментально менять программу и тудже проверять как работает.
Собрал прототип
Вот что получилось
Когда собрал понял что нельзя использовать delay(100) придётся дальше мудрить с кодом.
Кстати заходил в один из магазинчиков за оптопарой, мне девушка дала каталог и говор выбирайте и говорите артикул какой вам нужен... а там их более 100 разновидностей я запутался и ушёл нес чем....
Прошу помочь с оптопарой.
Такая же фигня была, сказал дайте что с краю, взял жменьку, открыл параметры и подогнал под схему, промерел токи на пинах МК, оптопары и транзисторах, 20 - 30% от максимального. Вот пробуйте эти EL817 http://www.sztuofeng.com/pdf/亿光EL817.pdf
резистиор от пина 470 ом, ток 6,5 мА. ток КЭ оптопары 20мА (мах 50мА)