Если у тебя в детстве не было велосипеда, а ты вырос и купил себе машину, то у тебя все равно в детстве не было велосипеда"
народная мудрость.
А у меня в детстве не было машинки на радиоуправлении, поэтому 1-ое что мне захотелось как то воплотить так это ее. И сделать максимально все самому. При помощи 3Д принтера конечно. Худо бедно, но машинка появилась, а параллельно с ней появилась нужда в каком то устройстве для управления ей. Первое что было это два потенциометра подключенные к ардуино (про NRF писать не буду, понятно, что оно было). Машинка ездила, управлялось. Но не так как хотелось бы.
Идея № 2! сделать качалку из 2-х потенциометров. Идея была частично реализована в части механики, но почти сразу отвергнута. Не понравилось малая часть используемого диапазона. Надо было либо менять потенциометры, либо городить передаточные шестерни. Фото прилагаю.
Идея №3! Использовать стандартный ардуино джойстик. В таком виде было собрано на пальцах 2 пульта. Оба рабочих. Один с нано и без батарейки, т.е. привязанный USB проводом к компу, второй на базе pirania UNO и аккумуляторного шилда к нему. Оба работают, но душа моя не лежит к ним, не могу я этими пипками управлятиь.
Голова вспомнила о управлении пистолетного типа, где руль крутишь одной рукой, а газ жмешь пальцем. Надо делать такое.
Определил, что мне надо из управления?
1) Ездить вперед и назад. Курок можно сделать так, что в одну сторону будет вперед, а в другую назад. Но мне так не нравиться. будет так: одна сторона "СТОП", вторая "ПОЛНЫЙ ВПЕРЕД". Если надо дать задний ход, то курок в положение "СТОП" и нажимаем кнопку реверса. (кнопка №1).
2) Пусть будет включение-выключение света. (кнопка №2).
3) Клаксон! Буду ехать и пищатьматом. Хочу. (кнопка №3).
4) Режим ускорения. Чем не форсаж ? Будет работать только в режиме полного газа и определенное время. Восстановление со временем. (кнопка №4).
5) Может быть стрелять. Чем не знаю, как не знаю , но подумаю. (кнопка №5).
Рулевое колесо решил сделать на базе какого-нибудь простого энкодера с кнопкой. И так что бы энкодер было просто поменять. Поворот в обе стороны без ограничения колеса, пропуски не смертельны. Ограничение программно, до максимума. Нажатием на кнопку будет свистеть пьезопищалка на машине. (пока на машине нет ни света, ни звука). В разработке.
Курок газа задал мне задачу.. Он должен быть достаточно чувствительным, не дергат ьмашину туда-сюда, удобным, небольшого размера. Была куча попыток и проектов, на фото часть идей. (№3 - по настоящее время).
И вот последняя ЧАСТЬ. Коробочка с курком и 3-мя кнопками.
Это рабочий вариант. Ну кнопками я похвастался рано, реально из списка тут только 1 кнопка и 2 концевых выключателя. Крайние позиции фиксируются концевиками, соотв. они и указывают положения "СТОП" и "ПОЛНЫЙ ВПЕРЕД". Если в положении "ПОЛНЫЙ ВПЕРЕД" еще чуть надавить курок, то сработает копка "НИТРО" . Реализовано мягким креплением концевика (резиночку подсунул).
Код для тестирования, может кому пригодиться. Тут нет реализации приема и передачи. только получение данных с курка и вывод их в окно порта. Временно нажатие кнопки "НИТРО" висит на 2-ом прерывании, потом будет на другом, одном из дополнительных.
На плате с соединительными разъемами присутствуют RC-фильтры для кнопок (с обратной стороны). Спаяны моими кривыми ручонками из SMD деталей. Показывать не буду , больно криво. Стыдно. Паял SMD 1-ый раз. Но свою работу выполняют. Прикрепил STL файлы.
Теперь буду делать рулевое колесо из энкодера. Здравые идеи приветствуются. На вопросы отвечу.
народная мудрость.
А у меня в детстве не было машинки на радиоуправлении, поэтому 1-ое что мне захотелось как то воплотить так это ее. И сделать максимально все самому. При помощи 3Д принтера конечно. Худо бедно, но машинка появилась, а параллельно с ней появилась нужда в каком то устройстве для управления ей. Первое что было это два потенциометра подключенные к ардуино (про NRF писать не буду, понятно, что оно было). Машинка ездила, управлялось. Но не так как хотелось бы.
Идея № 2! сделать качалку из 2-х потенциометров. Идея была частично реализована в части механики, но почти сразу отвергнута. Не понравилось малая часть используемого диапазона. Надо было либо менять потенциометры, либо городить передаточные шестерни. Фото прилагаю.
Идея №3! Использовать стандартный ардуино джойстик. В таком виде было собрано на пальцах 2 пульта. Оба рабочих. Один с нано и без батарейки, т.е. привязанный USB проводом к компу, второй на базе pirania UNO и аккумуляторного шилда к нему. Оба работают, но душа моя не лежит к ним, не могу я этими пипками управлятиь.
Голова вспомнила о управлении пистолетного типа, где руль крутишь одной рукой, а газ жмешь пальцем. Надо делать такое.
Определил, что мне надо из управления?
1) Ездить вперед и назад. Курок можно сделать так, что в одну сторону будет вперед, а в другую назад. Но мне так не нравиться. будет так: одна сторона "СТОП", вторая "ПОЛНЫЙ ВПЕРЕД". Если надо дать задний ход, то курок в положение "СТОП" и нажимаем кнопку реверса. (кнопка №1).
2) Пусть будет включение-выключение света. (кнопка №2).
3) Клаксон! Буду ехать и пищать
4) Режим ускорения. Чем не форсаж ? Будет работать только в режиме полного газа и определенное время. Восстановление со временем. (кнопка №4).
5) Может быть стрелять. Чем не знаю, как не знаю , но подумаю. (кнопка №5).
Рулевое колесо решил сделать на базе какого-нибудь простого энкодера с кнопкой. И так что бы энкодер было просто поменять. Поворот в обе стороны без ограничения колеса, пропуски не смертельны. Ограничение программно, до максимума. Нажатием на кнопку будет свистеть пьезопищалка на машине. (пока на машине нет ни света, ни звука). В разработке.
Курок газа задал мне задачу.. Он должен быть достаточно чувствительным, не дергат ьмашину туда-сюда, удобным, небольшого размера. Была куча попыток и проектов, на фото часть идей. (№3 - по настоящее время).
И вот последняя ЧАСТЬ. Коробочка с курком и 3-мя кнопками.
Это рабочий вариант. Ну кнопками я похвастался рано, реально из списка тут только 1 кнопка и 2 концевых выключателя. Крайние позиции фиксируются концевиками, соотв. они и указывают положения "СТОП" и "ПОЛНЫЙ ВПЕРЕД". Если в положении "ПОЛНЫЙ ВПЕРЕД" еще чуть надавить курок, то сработает копка "НИТРО" . Реализовано мягким креплением концевика (резиночку подсунул).
Код для тестирования, может кому пригодиться. Тут нет реализации приема и передачи. только получение данных с курка и вывод их в окно порта. Временно нажатие кнопки "НИТРО" висит на 2-ом прерывании, потом будет на другом, одном из дополнительных.
C++:
volatile int c = 0, oldc = 0;
volatile int MinP = 80, MaxP = 970;
void potch()
{
c = !digitalRead(2);
}
void setup() {
Serial.begin (115200);
pinMode (2, INPUT_PULLUP);
pinMode (3, INPUT_PULLUP);
pinMode (4, INPUT_PULLUP);
attachInterrupt(0, potch, CHANGE);
}
long int oldp = -10, p = 0;
void loop() {
long int s = 0;
for (int i = 0; i < 20; i++)
{
s = s + analogRead(A0);
};
p = map(s / 20, MinP, MaxP, 0, 100);
p = max(0, p); p = min(100, p);
if (oldp != p) {
Serial.print(digitalRead(3));
Serial.print(":");
Serial.print(digitalRead(4));
Serial.print(":");
Serial.print(s / 20);
Serial.print(":");
Serial.print(p);
Serial.print(":");
Serial.println(c);
oldp = p;
}
if (!digitalRead(3)) {
MaxP = analogRead(A0);
};
if (!digitalRead(4)) {
MinP = analogRead(A0);
};
if (c != oldc) {
if (c) {
Serial.println("Nitro ON");
}
else {
Serial.println("Nitro OFF");
};
oldc = c;
}
}
Теперь буду делать рулевое колесо из энкодера. Здравые идеи приветствуются. На вопросы отвечу.
Вложения
-
47 KB Просмотры: 3
-
34.6 KB Просмотры: 0
-
37.2 KB Просмотры: 0
-
28.2 KB Просмотры: 2
-
59.4 KB Просмотры: 1
Изменено: