28.10.2011, 22:06 | #21 |
Старший Пользователь
Регистрация: 13.05.2010
Возраст: 40
Город: Воронеж
Регион: 36
Машина: Jetta 6
Сообщений: 899
|
может тогда надо else if????
Оператор If..else Конструкция if..else предоставляет больший контроль над процессом выполнения кода, чем базовый оператор if, позволяя осуществлять несколько проверок, объединенных вместе. Например, аналоговый вход может быть проверен и выполнено одно действие, если на входе меньше 500, или другой действие, если на входе 500 или больше. Код при этом может выглядеть так: if (pinFiveInput < 500) { // действие A } else { // действие B } Другой способ создания переходов со взаимоисключающими проверками использует оператор switch case. Else позволяет делать отличную от указанной в if проверку, чтобы можно было осуществлять сразу несколько взаимоисключающих проверок. Каждая проверка позволяет переходить к следующему за ней оператору не раньше, чем получит логический результат ИСТИНА. Когда проверка с результатом ИСТИНА найдена, запускается вложенная в нее блок операторов, и затем программа игнорирует все следующие строки в конструкции if..else. Если ни одна из проверок не получила результат ИСТИНА, по умолчанию выполняется блок операторов в else, если последний присутствует, и устанавливается действие по умолчанию. Отметим, что конструкция else if может быть использована с или без заключительного else и наоборот. Допускается неограниченное число таких переходов else if. if (pinFiveInput < 500) { // выполнять действие A } else if (pinFiveInput >= 1000) { // выполнять действие B } else { // выполнять действие C } |
28.10.2011, 22:22 | #22 |
Старший Пользователь
Регистрация: 21.10.2009
Возраст: 46
Город: Киселевск
Регион: 42
Машина: Kia Sorento 2.5TD AT TOD LSD
Сообщений: 524
|
Мы твое видение задачи не представляем, поэтому и советуем, считай, на ощупь. Но смысл ты улавливаешь - эт хорошо. Не спеши, разбирайся, понимание не сразу приходит
__________________
Планшет на Android -> USB-DAC (PCM2704 - SPDIF) -> Clarion HX-D2 -> Helix H500 Esprit -> Dynaudio MD100 + Миды из комплекта Pioneer TS-C131 PRS, доработанные Михаилом Nitro + Hertz F20 + Alpine PDX-1.600 + Auditor RIP 380. |
28.10.2011, 22:28 | #23 |
Старший Пользователь
Регистрация: 13.05.2010
Возраст: 40
Город: Воронеж
Регион: 36
Машина: Jetta 6
Сообщений: 899
|
смысл простой...
1. Сделать запуск двигателя по кнопке. 2. Управление питанием усилителей, мониторов, компа. Включение и выключение компа по кнопке. 3. Переключение на камеру заднего вида и назад. значит... 1 и 2. нажимаем кнопку. Включается АСС. включаем стартер на 10 секунд. через 1 сек подаем питание на блок питания ноутбука и монитора. нажатие кнопки ноутбука. через 30 сек включение усилителей. нажимаем кнопку еще раз... выключение АСС, усилителей. нажатие на кнопку выключения компа. через 1 минуту выключение блока питания ноутбука... 3. при включении задней передачи, нажатие на кнопку один раз, при выключении нажатие на кнопку 2 раза.. вот весь алгоритм... |
28.10.2011, 22:37 | #24 |
Старший Пользователь
Регистрация: 13.05.2010
Возраст: 40
Город: Воронеж
Регион: 36
Машина: Jetta 6
Сообщений: 899
|
я не прошу написать за меня, мне самому не интересен проект будет... Просто ткнуть как говорится носом Пересмотрел по 10 раз весь справочник arduino, перечитал, не могу понять что не так... может протеус глючит... пишу даже простой бегущий огонь на 8 светодиодов с кнопкой... нажимаю кнопку пробегает все и стопорится... нажимаю опять тоже самое... читаю инфу.. loop зацикливает программу... т.е. должны по нажатию кнопки бегать постоянно пока ресет не нажмешь или питание не сдернешь...
|
28.10.2011, 22:58 | #25 |
Старший Пользователь
Регистрация: 13.05.2010
Возраст: 40
Город: Воронеж
Регион: 36
Машина: Jetta 6
Сообщений: 899
|
все, для камеры переключение, написал... спасибо Hamster за толчок носом в нужную сторону)))) остальное остается актуальным..
|
29.10.2011, 01:15 | #26 |
Старший Пользователь
Регистрация: 13.05.2010
Возраст: 40
Город: Воронеж
Регион: 36
Машина: Jetta 6
Сообщений: 899
|
Уважаемые Гуру. Работаю в эмуляторе proteus. на atmege328P попробовал поставить atmega8 подключил все так же... загружаю скетч, и не тут то было... не работает.. ставлю назад 328Р все ок... в чем может быть трабл?... от ардуины решил отказаться и усложнить себе задачу))) купить атмегу и самому печатку сделать... 8 атмега просто дешевле)))
Последний раз редактировалось Dj Aleks; 29.10.2011 в 21:09. |
29.10.2011, 21:11 | #27 |
Старший Пользователь
Регистрация: 13.05.2010
Возраст: 40
Город: Воронеж
Регион: 36
Машина: Jetta 6
Сообщений: 899
|
вот схема подключения
|
30.10.2011, 18:35 | #28 |
Гуру
Регистрация: 19.09.2009
Возраст: 46
Город: Мелитополь
Регион: Украина
Сообщений: 2,022
|
На вскидку могу сказать отличаются адреса и количество регистров у процов и тд. Поставь мегу 48,88,168 по идее это её братья, только с меньшей памятью программ.
|
30.10.2011, 23:25 | #29 |
Старший Пользователь
Регистрация: 13.05.2010
Возраст: 40
Город: Воронеж
Регион: 36
Машина: Jetta 6
Сообщений: 899
|
не идет все равно... на 6 выходе постоянно HIGH...
|
07.12.2012, 22:44 | #30 |
Старший Пользователь
Регистрация: 27.03.2011
Город: Казань
Регион: 16, 116
Машина: ОКА 1.1l MPI EURO-2
Сообщений: 222
|
Тоже задумал сделать систему Start/Stop по кнопке с помощью ардуино уно, но, ёптель, я никак не помышлял о том, чтобы тупо стартером 200мс крутить Я думал, что нужно для запуска двигателя по кнопке следующее:
1. Контрольный вход кнопки Start/Stop 2. Контрольный вход "Состояние сигнализации" (т.е. проверить на охране или нет) 3. Контрольный вход "ключ зажигания" (т.е. наличие разрешающего сигнала с некоего контрольного устройства, активируемого дистанционно или посредством вставки ключа или совмещённое с ним). 4. Контрольный вход "тахометр". 5. Контрольный вход "спидометр". 6. Управляющий выход "Зажигание". 7. Управляющий выход "Стартер". Логику работы этого дела представлял себе так: 1. Ардуино без ключа работать не должно. Включаться и запускать циклическую программу должно только при вставке ключа (грубо говоря это дублирует контрольный вход 3. Можно от него отказаться заменив просто подачей питания на ардуино). 2. Далее при вставке ключа циклическая программа запускается и начинает опрашивать контрольные входы. Главным условием для разрешения является состояние "снято в охраны" на входе "состояние сигнализации". 3. Затем каким-то образом требуется проконтролировать состояние скорости. Если на входе "спидометра" нет импульсов (машина стоит на месте), то кнопка старт/стоп сработает... Если авто в движении - кнопка старт/стоп блокирована и не реагирует на нажатия. 4. Также необходимо как-то проконтролировать обороты двигателя. Притом там несколько функций: с одной стороны отсутствие оборотов должно при нажатии кнопки старт/стоп режим запуска двигателя. Если обороты уже есть до нажатия на кнопку, то должна быть выполнена остановка двигателя и через секунду отключение зажигания. Но помимо этого в цикле запуска двигателя этот вход должен помимо всего прочего проконтролировать нарастание оборотов двигателя. Т.е., скажем, ардуина крутит стартером 2,5-3 секунды ИЛИ пока на входе "тахометр" не появятся обороты выше, скажем, 400-500 об/мин. Вот это я вообще пока не знаю как можно реализовать... какими циклами, чтобы и интервал измерений небольшой был, и при этом нормальная разрешающая способность (т.е. чтоб уж обороты не сотнями считать, а хотя бы десятки различать). Притом, скажем, постоянно контролировать обороты двигателя и реализовать такую функцию, чтобы, скажем, если на ходу сигнал на входе "тахометр" пропал (двигатель заглох) не зависимо от скорости (может заглох при трогании), то ардуина автоматически должна вырубить зажигание, чтобы дать возможность повторно запустить движок. Короче, может быть кто-нибудь уже сделал нормальный старт/стоп на ардуине? Или может вообще без неё!?
__________________
Проект: -=ОКАРПС=- |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|