Попытка создать ботовые огни для автомобиля. Скажем так с ноля! Под свои потребности, ну и потренироваться в программировании Arduino .
Имеем в наличии:
Имеем в наличии:
- Радиоуправляемая машина монстр KYOSHO EP MT 4WD rs DMT VE-R
- FlySky iT4 4-х канальный 2.4 ГГц
- Arduino Nano
- Горсть светодиодов, резисторов к ним.
- Свободное время, распрямленные руки, и светлую голову.
И так приступим! Возмем схему Ардуино в интернете. Смотрим на блок схему
На контакты 5 и 6 выведены прерывания, их используем для захвата сигнала PPM с приемника.
5 - канал газа, 6- канал поворотов.
9,10,13,14,15- ый Т.К эти выходы имеют ШИМ, будем их использовать для плавного зажигания "основных фар" и стоп сигналов - они же задние габариты.
пин 8 - фара внутренняя (при движении плавно разгорается. как ксенон :) при остановке тухнет.)
пин 9 - фара внутренняя (при движении плавно разгорается. как ксенон :) при остановке тухнет.)
пин 10 - фара внешняя (горит постоянно при подаче питания)
пин 11 - фара внешняя (горит постоянно при подаче питания)
На 12,13 ногу весим левый/правый стоп-габарит. (при нажатии на тормоз горит в полную силу, иначе в пол накала)
пин 14 - бипер
пин 15 - лампа заднего хода
пин 19 - указатель поворота левый передний
пин 20- указатель поворота левый задний
пин 21 - указатель поворота правый передний
пин 22 - указатель поворота правый задний
Подключение светодиодов осуществляется к соответствующим пинам на ардуино описанным выше через токоограничивающий резистор, если параметры светодиода известны. потребляемый ток светодиода не должен превышать 50 Ма.
Калькуляторов по расчету светодиодов полно в сети.
Я брал светодиоды в автомагазине, проверяя потребление лабораторным БП.
Настройка:
Для настройки нейтралей вашего пульта потребуется:
Подключить приемник к соответствующим пинам на ардуино.
в скетче найти строки
Serial.println();
//Serial.println(ms_rul);
// Serial.println( ms_gaz );
//
раскомментировав одну из строк, залить скетч в ардуино. и через монитор порта посмотреть текущие значения каждого канала
записать в соответствующие строки скетча средние настройки нейтрали
ms_rul=1475;
ms_gaz=1475;
не забыть залить скетч в ардуино.
В стоках скетча можно настроить "мертвую" зону отклонения стиков аппаратуры от среднего значения вашей нейтрали.
maxgaz=1550; // настраиваемая переменная включения фар;
mingaz=1400; // настраиваемая переменная включения стопов;
maxrul=1500; // настраиваемая переменная включения правого поворота;
minrul=1400; // настраиваемая переменная включения левого поворота ;
Собираем согласно описанию, для любителей гонять по лужам и снегу герметезируем удобным для вас способом, проверяем.
Монтируем на место.
Катаемся
скетчь выложу позже, если будет интерес.
вот он!(sketch_apr16a.1449812517882.ino)
Радиоуправляемый ключ на Arduino Nano за 2 доллара.+72
6 декабря 2015 года в 22:45 | Дмитрий Никонов Москва
Статья //www.parkflyer.ru/blogs/view_entry/12874/
С удовольствием на досуге опробую ваше решение, для моего четырех канального пульта более чем актуально.
Спасибо!
о какой инициализации вы говорите? проверка работоспособности светодиода ? то что при подаче питания лампа заднего хода не загорается, как другие... ? если это так это просто сделано для индикации что контроллер подключен.
если вам надо чтобы он мигнул, добавте строки в скетч
digitalWrite(zx, HIGH);
delay (500);
digitalWrite(zx, LOW);
delay (500);
в любое место по вашему усмотрению:
tone (11,3000);
delay (50);
noTone (11);
сдесь
digitalWrite(right1, HIGH); digitalWrite(left1, HIGH);
delay (500);
digitalWrite(right1, LOW); digitalWrite(left1, LOW);
delay (500);
тут можно
digitalWrite(right2, HIGH); digitalWrite(left2, HIGH);
delay (500);
digitalWrite(right2, LOW);digitalWrite(left2, LOW);
delay (500);
или здесь
analogWrite(gabar_stop1, 255 ); analogWrite(gabar_stop2, 255);
delay (500);
analogWrite(gabar_stop1, 10 ); analogWrite(gabar_stop2, 10);
delay (500);
здесь тоже не запрещено
delay (500);
sketch_apr16a.1449812517882.ino:31: error: 'zx' was not declared in this scope
sketch_apr16a.1449812517882.ino: In function 'void loop()':
sketch_apr16a.1449812517882.ino:148: error: 'zx' was not declared in this scope
sketch_apr16a.1449812517882.ino:155: error: 'zx' was not declared in this scope
переменная не задекларирована
Если найдете что то еще, с удовольствием исправлю.