Можно ли реализовать на одном контроллере
Добрый день.
Хочу на ардуине реализовать три задачки
1) Работу как slave модуля сигнализации, т.е. ловим определенные сигналы с авто и отключаем-включаем внешний модуль сигнализации
2) Работу с радар детектором - подключаем ардуину к пину датчика скорости и по импульсам считаем, когда скорость более 40 км включаем исполнительное устройство, менее 40 устройство отключаем, реализуем я так понимаю на прерываниях
3) Поворот зеркал заднего вида вниз при включении заднего хода, тут тоже все понятно, ловим сигнал заднего хода и включаем, отключаем исполнительное устройство.
Так вот вопрос: можно ли все эти три задачи реализовать на одном контроллере, или прийдется покупать два?
Re: Можно ли реализовать на одном контроллере
Одного должно хватить. Только не очень понятно, что такое "определенные сигналы", и как ардуина будет общаться с модулем сигнализации.
Re: Можно ли реализовать на одном контроллере
Помогите реализовать работу с прерываниями в этом случае.
Я так понимаю мне нужно работать с двумя прерываниями а) внешним, считать импульсы и б) по таймеру, что бы раз в секунду (или быстрее) их посчитать и включить-отключить исполнительное
Re: Можно ли реализовать на одном контроллере
Здесь на форуме вкладывали несколько вариантов обработки спидометра. Все имеют право на жизнь.
Я бы сделал примерно так:
PHP код:
void speed_int()
{
tick++;//импульсы датчика скорости
if(tick>=6)//проехали 1 м
{
tick=0;//обнуляем
v=3516/time_speed;//считаем скорость
time_speed=0;
}
}
ISR(TIMER2_OVF_vect)
{
time_speed++;//считаем время
}
Re: Можно ли реализовать на одном контроллере
Цитата:
Сообщение от
tdn2
3) Поворот зеркал заднего вида вниз при включении заднего хода, тут тоже все понятно, ловим сигнал заднего хода и включаем, отключаем исполнительное устройство.
Задумка интересная...
Re: Можно ли реализовать на одном контроллере
manu_245
Спасибо, попробую отпишусь. Но тут вы применяете С, а не стандартные команды как я понимаю?
Re: Можно ли реализовать на одном контроллере
Да. А что за стандартные команды? Это ассемблер имеется ввиду?
Забыл еще уточнить настройки:
PHP код:
pinMode(2, INPUT);//pin 2 input
digitalWrite(2, HIGH);//включаем подтяжку
TCCR2B = 1<<CS22 | 0<<CS21 | 0<<CS20; //250 KHz
TIMSK2 = 1<<TOIE2;//interrupts
attachInterrupt(0, speed_int, FALLING);//прерывание по датчику скорости. по спаду.
Соответственно при изменении частоты таймера константу в расчете скорости необходимо изменить.
Re: Можно ли реализовать на одном контроллере
Ну вот стандартные команды http://arduino.ru/Reference
Там вот таких нет
Цитата:
TIMSK2 = 1<<TOIE2
Re: Можно ли реализовать на одном контроллере
В общем реализовал первый этап - отключаю динамик радар детектора при достижении 40 км в час, вход простейший делитель, импульсы скорости. Выход оптрон с шунтирующим резистором который подает на пин управления громкости усилителя НЧ радар детектора землю и тем глушит громкость.
Re: Можно ли реализовать на одном контроллере
Реализовал второй этап, slave модуль на базе ардуино. Схема аналогична управлению динамиком радар детектора. Через резистивные делители, подаем сигналы со штатного центрального замка и сигналы поворотников на ардуино, алгоритм определяет момент включения штатной сигнализации и подает-снимает управляющий сигнал на вход нештатной сигнализации. Аналогичный модуль стоит от двух тысяч рублей и больше размерами.