PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > Разработка программ

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2011, 22:06   #21
Dj Aleks
Старший Пользователь
 
Аватар для Dj Aleks
 
Регистрация: 13.05.2010
Возраст: 40
Город: Воронеж
Регион: 36
Машина: Jetta 6
Сообщений: 899
Dj Aleks is infamous around these parts
По умолчанию

может тогда надо 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
}
__________________
Мой проект http://pccar.ru/showthread.php?t=18618

Поспешишь, AIRBAG распушишь...

Dj Aleks вне форума   Ответить с цитированием
Старый 28.10.2011, 22:22   #22
BlkDem
Старший Пользователь
 
Аватар для BlkDem
 
Регистрация: 21.10.2009
Возраст: 46
Город: Киселевск
Регион: 42
Машина: Kia Sorento 2.5TD AT TOD LSD
Сообщений: 524
BlkDem is just really niceBlkDem is just really niceBlkDem is just really niceBlkDem is just really nice
По умолчанию

Мы твое видение задачи не представляем, поэтому и советуем, считай, на ощупь. Но смысл ты улавливаешь - эт хорошо. Не спеши, разбирайся, понимание не сразу приходит
__________________
Планшет на 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.
BlkDem вне форума   Ответить с цитированием
Старый 28.10.2011, 22:28   #23
Dj Aleks
Старший Пользователь
 
Аватар для Dj Aleks
 
Регистрация: 13.05.2010
Возраст: 40
Город: Воронеж
Регион: 36
Машина: Jetta 6
Сообщений: 899
Dj Aleks is infamous around these parts
По умолчанию

смысл простой...
1. Сделать запуск двигателя по кнопке.
2. Управление питанием усилителей, мониторов, компа. Включение и выключение компа по кнопке.
3. Переключение на камеру заднего вида и назад.

значит...
1 и 2. нажимаем кнопку. Включается АСС. включаем стартер на 10 секунд. через 1 сек подаем питание на блок питания ноутбука и монитора. нажатие кнопки ноутбука. через 30 сек включение усилителей.
нажимаем кнопку еще раз... выключение АСС, усилителей. нажатие на кнопку выключения компа. через 1 минуту выключение блока питания ноутбука...
3. при включении задней передачи, нажатие на кнопку один раз, при выключении нажатие на кнопку 2 раза.. вот весь алгоритм...
__________________
Мой проект http://pccar.ru/showthread.php?t=18618

Поспешишь, AIRBAG распушишь...

Dj Aleks вне форума   Ответить с цитированием
Старый 28.10.2011, 22:37   #24
Dj Aleks
Старший Пользователь
 
Аватар для Dj Aleks
 
Регистрация: 13.05.2010
Возраст: 40
Город: Воронеж
Регион: 36
Машина: Jetta 6
Сообщений: 899
Dj Aleks is infamous around these parts
По умолчанию

я не прошу написать за меня, мне самому не интересен проект будет... Просто ткнуть как говорится носом Пересмотрел по 10 раз весь справочник arduino, перечитал, не могу понять что не так... может протеус глючит... пишу даже простой бегущий огонь на 8 светодиодов с кнопкой... нажимаю кнопку пробегает все и стопорится... нажимаю опять тоже самое... читаю инфу.. loop зацикливает программу... т.е. должны по нажатию кнопки бегать постоянно пока ресет не нажмешь или питание не сдернешь...
__________________
Мой проект http://pccar.ru/showthread.php?t=18618

Поспешишь, AIRBAG распушишь...

Dj Aleks вне форума   Ответить с цитированием
Старый 28.10.2011, 22:58   #25
Dj Aleks
Старший Пользователь
 
Аватар для Dj Aleks
 
Регистрация: 13.05.2010
Возраст: 40
Город: Воронеж
Регион: 36
Машина: Jetta 6
Сообщений: 899
Dj Aleks is infamous around these parts
По умолчанию

все, для камеры переключение, написал... спасибо Hamster за толчок носом в нужную сторону)))) остальное остается актуальным..
__________________
Мой проект http://pccar.ru/showthread.php?t=18618

Поспешишь, AIRBAG распушишь...

Dj Aleks вне форума   Ответить с цитированием
Старый 29.10.2011, 01:15   #26
Dj Aleks
Старший Пользователь
 
Аватар для Dj Aleks
 
Регистрация: 13.05.2010
Возраст: 40
Город: Воронеж
Регион: 36
Машина: Jetta 6
Сообщений: 899
Dj Aleks is infamous around these parts
По умолчанию

Уважаемые Гуру. Работаю в эмуляторе proteus. на atmege328P попробовал поставить atmega8 подключил все так же... загружаю скетч, и не тут то было... не работает.. ставлю назад 328Р все ок... в чем может быть трабл?... от ардуины решил отказаться и усложнить себе задачу))) купить атмегу и самому печатку сделать... 8 атмега просто дешевле)))
__________________
Мой проект http://pccar.ru/showthread.php?t=18618

Поспешишь, AIRBAG распушишь...


Последний раз редактировалось Dj Aleks; 29.10.2011 в 21:09.
Dj Aleks вне форума   Ответить с цитированием
Старый 29.10.2011, 21:11   #27
Dj Aleks
Старший Пользователь
 
Аватар для Dj Aleks
 
Регистрация: 13.05.2010
Возраст: 40
Город: Воронеж
Регион: 36
Машина: Jetta 6
Сообщений: 899
Dj Aleks is infamous around these parts
По умолчанию

вот схема подключения
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.JPG
Просмотров: 1119
Размер:	104.8 Кб
ID:	24167  
__________________
Мой проект http://pccar.ru/showthread.php?t=18618

Поспешишь, AIRBAG распушишь...

Dj Aleks вне форума   Ответить с цитированием
Старый 30.10.2011, 18:35   #28
awtoap
Гуру
 
Аватар для awtoap
 
Регистрация: 19.09.2009
Возраст: 46
Город: Мелитополь
Регион: Украина
Сообщений: 2,022
awtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to beholdawtoap is a splendid one to behold
По умолчанию

На вскидку могу сказать отличаются адреса и количество регистров у процов и тд. Поставь мегу 48,88,168 по идее это её братья, только с меньшей памятью программ.
awtoap вне форума   Ответить с цитированием
Старый 30.10.2011, 23:25   #29
Dj Aleks
Старший Пользователь
 
Аватар для Dj Aleks
 
Регистрация: 13.05.2010
Возраст: 40
Город: Воронеж
Регион: 36
Машина: Jetta 6
Сообщений: 899
Dj Aleks is infamous around these parts
По умолчанию

не идет все равно... на 6 выходе постоянно HIGH...
__________________
Мой проект http://pccar.ru/showthread.php?t=18618

Поспешишь, AIRBAG распушишь...

Dj Aleks вне форума   Ответить с цитированием
Старый 07.12.2012, 22:44   #30
ide16rus
Старший Пользователь
 
Аватар для ide16rus
 
Регистрация: 27.03.2011
Город: Казань
Регион: 16, 116
Машина: ОКА 1.1l MPI EURO-2
Сообщений: 222
ide16rus will become famous soon enoughide16rus will become famous soon enough
По умолчанию

Тоже задумал сделать систему Start/Stop по кнопке с помощью ардуино уно, но, ёптель, я никак не помышлял о том, чтобы тупо стартером 200мс крутить Я думал, что нужно для запуска двигателя по кнопке следующее:
1. Контрольный вход кнопки Start/Stop
2. Контрольный вход "Состояние сигнализации" (т.е. проверить на охране или нет)
3. Контрольный вход "ключ зажигания" (т.е. наличие разрешающего сигнала с некоего контрольного устройства, активируемого дистанционно или посредством вставки ключа или совмещённое с ним).
4. Контрольный вход "тахометр".
5. Контрольный вход "спидометр".
6. Управляющий выход "Зажигание".
7. Управляющий выход "Стартер".

Логику работы этого дела представлял себе так:
1. Ардуино без ключа работать не должно. Включаться и запускать циклическую программу должно только при вставке ключа (грубо говоря это дублирует контрольный вход 3. Можно от него отказаться заменив просто подачей питания на ардуино).
2. Далее при вставке ключа циклическая программа запускается и начинает опрашивать контрольные входы. Главным условием для разрешения является состояние "снято в охраны" на входе "состояние сигнализации".
3. Затем каким-то образом требуется проконтролировать состояние скорости. Если на входе "спидометра" нет импульсов (машина стоит на месте), то кнопка старт/стоп сработает... Если авто в движении - кнопка старт/стоп блокирована и не реагирует на нажатия.
4. Также необходимо как-то проконтролировать обороты двигателя. Притом там несколько функций: с одной стороны отсутствие оборотов должно при нажатии кнопки старт/стоп режим запуска двигателя. Если обороты уже есть до нажатия на кнопку, то должна быть выполнена остановка двигателя и через секунду отключение зажигания. Но помимо этого в цикле запуска двигателя этот вход должен помимо всего прочего проконтролировать нарастание оборотов двигателя. Т.е., скажем, ардуина крутит стартером 2,5-3 секунды ИЛИ пока на входе "тахометр" не появятся обороты выше, скажем, 400-500 об/мин. Вот это я вообще пока не знаю как можно реализовать... какими циклами, чтобы и интервал измерений небольшой был, и при этом нормальная разрешающая способность (т.е. чтоб уж обороты не сотнями считать, а хотя бы десятки различать).

Притом, скажем, постоянно контролировать обороты двигателя и реализовать такую функцию, чтобы, скажем, если на ходу сигнал на входе "тахометр" пропал (двигатель заглох) не зависимо от скорости (может заглох при трогании), то ардуина автоматически должна вырубить зажигание, чтобы дать возможность повторно запустить движок.

Короче, может быть кто-нибудь уже сделал нормальный старт/стоп на ардуине? Или может вообще без неё!?
__________________
Проект: -=ОКАРПС=-
ide16rus вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 02:32.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot