6 Кнопочный PPM переключатель для трейнер порта

Как собрать и запрограммировать робота на Arduino(Freeduino, Roboduino, Seeduino ...). Используем Wiring и Processing.

6 Кнопочный PPM переключатель для трейнер порта

Сообщение Акелла » 04 фев 2015, 01:02

Занимаясь полетами на коптере, решил сделать себе кнопочный пульт для переключения режимов.
Долгие поиски в интернете привели меня к 2 разным скетчам для ардуины. Один работает с LCD дисплеем + кнопки он работает хорошо с трейнер входом в пульте.
Второй сделан для управления сигналом вместо крутилки на пульте.
Проблема в том что в первом мне не нравится как работают кнопки. Они подключаются все 6 через один аналоговый вход и делятся резисторами, иногда возинкают ошибки чтения и сигнал скачет.
Во втором управление кнопками реализованно через 6 аналоговых выходов, но мне не хочется вскрывать пульт чтобы подключить кнопки, через трейнер удобнее.
Я пытался как-то обьеденить эти 2 скетча, но моих познаний в этом деле не хватило, и в итоге ничего не выходит.

Это код первого скетча с LCD дисплеем
display.ino
Скетч с LCD
(6.28 КиБ) Скачиваний: 314

Это скетч с хорошим переключением кнопок но он не генерирует PPM сигнал
MODESW2_x6_megapilotpsb.ino
Скетч с кнопками
(2.29 КиБ) Скачиваний: 321


Это скетч для генерации PPM сигнала без кнопок управления
Generate_PPM_signal_nodelay.ino
Генератор РРМ
(2.22 КиБ) Скачиваний: 297



Помогите собрать код воедино.
Чтобы работало как вариант 2 но сигнал выдавало как в варианте 1. Ну и поддержка LCD желательно, для визуального отображения выбранного режима.
Косель мини, плата управления DUET на reprap firmware от DC42, E3Dv6
Распечатаю на заказ.
Kossel config E3D.h
Акелла
 
Сообщения: 771
Зарегистрирован: 27 май 2014, 13:35
Откуда: London. UK
Skype: pioneerko
ФИО: Александр

Re: 6 Кнопочный PPM переключатель для трейнер порта

Сообщение dccharacter » 04 фев 2015, 04:48

Я не понял, что ты хочешь, если честно. Пульт уже собран, распаян и тебе неохота его переделывать? При чем тогда тут скетч с кнопками на 6-ти аналоговых входах?
У тебя уже нет шести аналоговых входов. У тебя есть только один и резисторная лестница. Может с ним разобраться и понять, что не работает?

Добавлено спустя 5 минут 20 секунд:
У тебя в первом скетче, где идет обработка кнопок, всегда в цикле БЕЗУСЛОВНО обновляется экран. Это отнимает много времени, из-за этого лагает считывание кнопок и генерация сигнала. Тебе надо обновлять ЛСД _только_ тогда, когда обнаружено _новое_ нажатие кнопки.
Пока не пояснишь, что такое "ошибки чтения" и "сигнал скачет" дельше траблшутить смыла нет.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: 6 Кнопочный PPM переключатель для трейнер порта

Сообщение Акелла » 04 фев 2015, 13:29

Обьясняю что это такое и для чего я это затеял. :)
У меня есть пульт для управления Spectrum dx8
вот такой
dx8-glamour.png


А затеял я вот такую штуку или вот тут намного лучше показанно
но проблемма у этих двух вариантов что они подключаются вместо крутилки на пульте. (это нужно разбирать пульт чтобы подключить)

В том скетче что я писал выше с дисплеем он подключается в трейнер порт пульта и работает как buddy box и его можно с легкостью переставлять на любой друй пульт.
В MODESW2_x6_megapilotpsb.ino я собрал этот вариант пробывал подключить вместо крутилки, все работает отлично.
В варианте с дисплеем я сказал что ошибки чтения это когда я смотю в пульте проверку движения осей то при переключениях кнопок сигнал должен меняться от -100 до 100, и на каждой кнопке свой уровеь 1 -100, 2 -80, 3 -40, 4 40, 5 80, 6 100, (цыфры не точные), но вместо того чтобы двигать на заданный сигнал оно его включает например 4 и параметр скачет от 35 до 60 и т.п при каждом нажатии оно скачет по разному иногда разброс больше иногда его совсем нету
Косель мини, плата управления DUET на reprap firmware от DC42, E3Dv6
Распечатаю на заказ.
Kossel config E3D.h
Акелла
 
Сообщения: 771
Зарегистрирован: 27 май 2014, 13:35
Откуда: London. UK
Skype: pioneerko
ФИО: Александр

Re: 6 Кнопочный PPM переключатель для трейнер порта

Сообщение Акелла » 04 фев 2015, 20:59

Вообщем я сделал то что хотел, остался один вопрос сейчас все работает но сигнал выдается для 1 канала, как сделать так чтобы сигнал выдавался для 6 канала
т.е. это выглядит так
Код: Выделить всё
   -----  -----     -----
___|    |_|    |___|     |_|
     1ch    2ch      3ch    ......

меняются режимы на 1 канале остальные идут в 50% т.е. в 0
как сделать чтобы 1-5 было в 50%, 6 канал менялся -100% до 100% как сейчас это делает 1 канал, 7 и 8 были 50%
Вот рабочий скетч
APM_mode_switch_w_ino.ino
(4.08 КиБ) Скачиваний: 328
Косель мини, плата управления DUET на reprap firmware от DC42, E3Dv6
Распечатаю на заказ.
Kossel config E3D.h
Акелла
 
Сообщения: 771
Зарегистрирован: 27 май 2014, 13:35
Откуда: London. UK
Skype: pioneerko
ФИО: Александр


Вернуться в Arduino и другие Xduino

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15

cron