![]() |
Вопрос по микроконтроллерам
Вложений: 1
Здравствуйте. Подскажите пожалуйста на чем можно собрать такую схему с задержками? Где с 1 по 5 выход. А в качестве входа используется кнопка.... 5 канал подает импульс на включение pc и в конце на выключение.
|
Все конечно зависит от длины задержек...
Если это не наносекунды, а микро и > то arduino хватит выше крыши. И не спрашивай пожалуйста, что такое arduino :) Да, единственное - импульсы выходные слаботочные, если надо реальную нагрузку, то придется на выходах arduino ставить ключи. |
Цитата:
|
Цитата:
Если знаешь, что такое ардуина, то должен знать, что окромя с++ можно программить из оболочки ардуино, где язык попроще, более высокоуровневый, как раз "для массовки" :) Программа будет из десятка-двух строк. |
простите за глупый вопрос... из оболочки это как??? программа какая то??? Если да то не подскажите?
|
вот этот пойдет? http://carmonitor.ru/ru/arduinonanoc...ov4-p-108.html
|
Да, конечно.
Про проекты на ардуино можно тутова почитать: http://www.compcar.ru/forum/forumdisplay.php?f=57 |
пасиб громадное! :drinks_cheers:
|
В такой простой задаче ни к чему использовать дорогую ардино. Гораздо проще взять микроконтроллер PIC какой-нибудь за 30 рублей и на нем запрограммировать, С++ компиляторов под PIC полно.
|
Цитата:
|
Цитата:
|
Цитата:
|
Да в том то и дело, что ардуина удобна для тех, кто не на "ты" с микроконтроллерами :)
Воткнул в USB и вперед :) |
о чем и речь... только в графике немного лоханулся.. на графике хочу сделать кнопку start stop engene которая параллельно управляла бы компом... но забыл тот факт что вариант заглохнуть есть))) соответственно комп пойдет на выключение... :( как решить эту проблемму тогда? может запитать выключение от сигналки? или отсрочить 5 канал не на 5 секунд?
1 канал это кнопка сама 2 канал АСС 3 канал стартер 4 канал remote усилков 5 канал импульс на включение и выключение компа... |
А не проще ли комп запускать от ACC, а ACC подавать тогда, когда двигатель уже стартанул?
|
может и проще... но с чего брать тогда сигнал? с тахометра? и как тушить тогда комп?
|
Подскажите еще люди добрые. что такое Burn in и N.R.? не могу сюда еще раз вставить фотку http://pccar.ru/showpost.php?p=198954&postcount=21
|
я взял с управляющего провода печки (она у меня не работает, когда машина не заведена).
К зиме сделаю включение через реле, чтоб комп включался, если выполняется 2 условия: запущен двигатель и вставлен ключ. (чтоб при прогревах комп зря не включался туда-сюда) |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
а по монитору никто не знает?
|
Цитата:
|
Цитата:
|
Здравствуйте Уважаемые Гуру.. Выдалось 10 минут свободного времени и накидал несколько строк для arduino. сильно не пинайте, это мой первый проект с контроллерами.... есть несколько вопросов... ткните носом плиз если есть ошибки. :)
int StartPin=0; //вход для кнопки start stop engine int TormPin=1; //вход для лягушки педали тормоза int CamPin=2; //вход для камеры заднего вида int ACCPin=2; //выход на реле зажигания АСС int StPin=3; //выход на реле стартера int MBPin=4; //выход на Блок питания ноутбука int RemPin=5; //выход на включение усилителя (remote) int CamPin=6; //выход кнопки переключения камеры заднего вида int RSPin=7; //Выход кнопки для старта ноутбука void setup() { PinMode(StartPin, INPUT); //объявляем вход PinMode(TormPin, INPUT); //объявляем вход PinMode(CamPin, INPUT); //объявляем вход PinMode(ACCPin, OUTPUT); //объявляем выход PinMode(StPin, OUTPUT); //объявляем выход PinMode(MBPin, OUTPUT); //объявляем выход PinMode(RemPin, OUTPUT); //объявляем выход PinMode(CamPin, OUTPUT); //объявляем выход PinMode(RSPin, OUTPUT); //объявляем выход } выше вроде все понятно, думаю ошибок нет... void loop() { if (digitalRead(StartPin) == HIGH) //проверяем кнопку start stop engine if (digitalRead(TormPin) == HIGH) //проверяем нажатие педали тормоза вот с проверкой старта и педали правильно? чтобы ниже программа начала выполнятся только при условии HIGH на этих двух входах... и не будет потом что в дороге при нажатии педали тормоза она что то зациклит? { digitalWrite(ACCPin, HIGH); //включаем зажигание digitalWrite(StPin, HIGH); //включаем стартер delay(10000); //пауза 10 сек digitalWrite(StPin, LOW); //выключаем стартер через 10 сек delay(5000) //пауза 5 сек перед включением компьютера digitalWrite(MBPin, HIGH); //Подаем напряжение на блок питания ноутбука delay(1000) //пауза 1 сек перед стартом ноутбука digitalWrite(RSPin, HIGH); //старт ноутбука delay(700) //длительность нажатия кнопки старта ноутбука digitalWrite(RSPin, LOW); delay(15000) //пауза на включение усилителя digitalWrite(RemPin, HIGH); //remote усилителя } } как сделать при повторном нажатии кнопки чтобы начать с задержками гасить компы усилки двигатель? if (digitalRead(StartPin) == LOW) и дальше все выключать как выше? |
и еще маленький вопросик за основу будет браться http://www.ebay.com/itm/Arduino-Uno-...item27bdcb55da
у него входы с 0 по 5 а выходы с 0 по 13??? и правильно ли я расставил входа и выхода в программе на номера arduino? Заранее благодарен. |
Цитата:
|
Цитата:
стартер крутить 10 секунд будет уже запущенный двигатель, или я чего-то не понял?? |
Цитата:
Необходимо во-первых, иметь параметрическую настройку для времени кручения стартера. И не 10 сек, а 0,5 - 3 сек :) Во-вторых, и самое главное - иметь обратную связь от двигателя, чтобы знать когда он запустился и отрубить в этот момент стартер. Обычно в сигналках с автозапуском обратная связь осуществляется либо по сигналу тахометра (обороты стали скажем выше 800), либо по напряжению (заработал гена). |
Цитата:
|
Цитата:
|
вроде ответил на ваши вопросы... :) а что с кодом? где ошибки?)))
|
Цитата:
|
Часовой пояс GMT +4, время: 16:17. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot