Квадрокоптер Syma X5

frozenboy

Тогда придется расширять и словарный запас передатчика.
И до кучи снабжать его дополнительными тумблерами…

bigdigital
Alex_Belousov:

поэтому можно “расширить” его словарь параллельно впаяв ардуину и зашив в нее свои команды )

Паралельно скорее всего не выйдет, так как сам контроллер симы непоймет команды и веротнее всего просто откинет пакет как ложный, нужно будет в разрыв между приемником и контроллером цеплятся, принимать данные по своему формату и выдавать по сима совместимому, тоже нужно и в пульте проделать.

По поводу обратной связи, вероятней всего не выйдет, пульт шлет данные с частотой 300 Гц, перевод приемника и передатчика в разные режимы а также сама передача не уместится по времени в етот интервал.

Также увеличение длины посылки уменьшает дальность приема, хотя тут если добавить 1 байт я думаю не очень скажется на дальности.

Вот писать показания датчиков можно, только на практике зачем? Я и видео то не всегда пересматриваю с него а тут любоваться на графики.

TheTERMINATOR
Alex_Belousov:

соберите себе очень простой осциллограф на комп www.ferra.ru/ru/system/s17758/#.VQqK2OG_RaQ как показометр сойдет вполне!

И вы пользуетесь такой ерундой?
Показометр в виде тестера больше полезен. В связи с невостребованностью, у меня Хамелеон лежит так до конца и не настроенный.

Alex_Belousov
bigdigital:

Паралельно скорее всего не выйдет, так как сам контроллер симы непоймет команды и веротнее всего просто откинет пакет как ложный, нужно будет в разрыв между приемником и контроллером цеплятся, принимать данные по своему формату и выдавать по сима совместимому, тоже нужно и в пульте проделать.

По поводу обратной связи, вероятней всего не выйдет, пульт шлет данные с частотой 300 Гц, перевод приемника и передатчика в разные режимы а также сама передача не уместится по времени в етот интервал.

Также увеличение длины посылки уменьшает дальность приема, хотя тут если добавить 1 байт я думаю не очень скажется на дальности.

Вот писать показания датчиков можно, только на практике зачем? Я и видео то не всегда пересматриваю с него а тут любоваться на графики.

Есть команда на фото - туда и подключимся, как и писали выше

Вот и надо ардуиной отследить длительность сигнала и при соответствии 0.3 сек. включить пищалку, при приходе орчередного сигнала 0.3 сек. - выключить.

а показания датчиков писать, это так чисто побаловаться) мне больше высотомер интересен был бы.
Кстати, как я писал выше у нас и на пульте и на коптере полноценный приемопередатчик - только он используется в одну сторону… если ардуиной переключать его скажем 1 раз в 10 секунд (для того чтобы на пульт послать сигнал о низком заряде батарей) с примника в передатчик ничего страшного не произойдет, да, могут потеряться несколько пакетов от пульта - ничего страшного с точки зрения пользователя не произойдет (если конечно у нас нет пилотов которые могут зафиксировать что пульт перестал управлять коптером на пару миллисекунд) , так что считаю что включить ардуину параллельно основного контроллера вполне оправдано. По поводу пульта - вы правы, скорее всего там нужно будет проделать что-то аналогичное - чтобы обработать пришедший сигнал от коптера и выключить зуммер

TheTERMINATOR:

И вы пользуетесь такой ерундой?
Показометр в виде тестера больше полезен. В связи с невостребованностью, у меня Хамелеон лежит так до конца и не настроенный.

у меня полноценный осцилл есть) собственно поэтому этой ерундой не пользуюсь… но этой ерундой посмотреть ориентировочно сигнал до нескольких кГц вполне возможно )

TheTERMINATOR
Alex_Belousov:

поэтому этой ерундой не пользуюсь

И не стоит другим советовать.

Alex_Belousov
TheTERMINATOR:

И не стоит другим советовать.

простите, мне показалось “замерил китайским тестером” импульс менее секунды… это намного менее точно чем осцилл из звуковой платы ))

TheTERMINATOR
Alex_Belousov:

это намного менее точно чем осцилл из звуковой платы ))

Прочитайте еще раз исходное сообщение. Задача стояла четко. Она была решена на 100% конкретным оборудованием.

Alex_Belousov
TheTERMINATOR:

Смотрел простым китайским тестером, а он импульсы показывает абы как. Мне был важен принцип.

согласен, если просто узнать что проскакивает положительный импульс - то вполне и тестером сойдет )

BOV
Alex_Belousov:

согласен, если просто узнать что проскакивает положительный импульс - то вполне и тестером сойдет )

Arduino
pulseIn()
Считывает длину сигнала на заданном порту (HIGH или LOW). Например, если задано считывание HIGH функцией pulseIn(), функция ожидает пока на заданном порту не появиться HIGH. Когда HIGH получен, включается таймер, который будет остановлен когда на порту вход/выхода будет LOW. Функция pulseIn() возвращает длину сигнала в микросекундах. Функция возвращает 0, если в течение заданного времени (таймаута) не был зафиксирован сигнал на порту. (от 10 микросекунд до 3 минут)

Alex_Belousov
BOV:

Arduino
pulseIn()
Считывает длину сигнала на заданном порту (HIGH или LOW). Например, если задано считывание HIGH функцией pulseIn(), функция ожидает пока на заданном порту не появиться HIGH. Когда HIGH получен, включается таймер, который будет остановлен когда на порту вход/выхода будет LOW. Функция pulseIn() возвращает длину сигнала в микросекундах. Функция возвращает 0, если в течение заданного времени (таймаута) не был зафиксирован сигнал на порту. (от 10 микросекунд до 3 минут)

именно так я и хочу сделать ) в принципе скетч для ардуины написать совсем не сложно под нашу задачу - он элементарный )) осталось только мне купить симу чтобы в реале это сделать))

mturunov

Выпустил симу из окна, квартира на 12 этаже. Очень хорошо управляется, и запас мощности показался большим, т.к. при снижении приходилось чуть ли не вырубать движки. И да, это адреналин 😁 А после первого такого вылета вчера вечером (темно было и видео не получилось) у меня буквально тряслись руки.

www.youtube.com/watch?v=GNgqEppVQLU

SergBeg

Что-то я запутался…
Инфа найденная в инете:
На mode 1 передатчике ручки управления расположены таким образом:

  • левый стик движением вверх/вниз управляет наклоном носовой/хвостовой частью и движением влево/вправо управляет изменением курса по/против часовой стрелке.
  • правый стик движением вверх/вниз управляет полетом вверх/вниз и движением влево/вправо управляет наклоном вертолёта влево/вправо
    На mode 2 передатчике ручки управления расположены таким образом:
  • левый стик движением вверх/вниз управляет полетом вверх/вниз и движением влево/вправо управляет изменением курса по/против часовой стрелке.
  • правый стик движением вверх/вниз управляет наклоном носовой/хвостовой частью и движением влево/вправо управляет наклоном вертолёта влево/вправо
    На mode 3 передатчике ручки управления расположены таким образом:
  • левый стик движением вверх/вниз управляет наклоном носовой/хвостовой частью и движением влево/вправо управляет наклоном вертолёта влево/вправо
  • правый стик движением вверх/вниз управляет полетом вверх/вниз и движением влево/вправо управляет изменением курса по/против часовой стрелке.
    На mode 4 передатчике ручки управления расположены таким образом:
  • левый стик движением вверх/вниз управляет полетом вверх/вниз и движением влево/вправо управляет наклоном вертолёта влево/вправо
  • правый стик движением вверх/вниз управляет наклоном носовой/хвостовой частью и движением влево/вправо управляет изменением курса по/против часовой стрелке.

у симы

то есть у симы mode2 это фактически mode4, а mode1 - это и есть mode 2 в общеупотребительном смысле ?

TheTERMINATOR

Результаты покраски корпуса.

Посмотреть, как будет выглядеть на улице, в ближайшее время не получится. Что-то я сделал не так и теперь не работает гироскоп. При любом маневре квадрик не пытается выровнять себя и переворачивается.
“Будем искать…” (С) Бриллиантовая рука.

Simonz
TheTERMINATOR:

При любом маневре квадрик не пытается выровнять себя и переворачивается.

У меня был подобный случай, когда коптер - словно потерял горизонт. Сколько не подкидывал - тупо падал.
Произошло - после падения во флипе (кверх брюхом упал), в траву.
Включения\выключения - ни к чему не привели. Раздвигание стиков в стороны - тоже.
пришлось высоко подкинуть, успеть быстро зажать кнопку флипа, сделать флип - и только после этих манипуляций, квад начал работать. Правда через 10 минут загнулся моторчик, щетка накрылась, но - это уже другая история.
Кстати, после стабилизирования - квад почему-то висел над землей, примерно в 10см, даже при почти полном газе (вроде не батарея виновата).

appolinari
frozenboy:

… так вот, когда нажимаю кнопку фото, все время горит красная лампочка, т.е. микросхема ждет видеосигнал…

Часто красная лампочка горит при проблемах с SD карточкой. Например, при её отсутствии…

semen_nedam
appolinari:

… так вот, когда нажимаю кнопку фото, все время горит красная лампочка, т.е. микросхема ждет видеосигнал…

Проверьте наличие свободного места на карточке.

Даже если на ней не видно файлов.

frozenboy

Карточку проверял, менял на другую - не помогло. К тому же видеофайл записывается, но без изображения - т.е. при просмотре черный экран и звук пропеллеров. Здесь что-то именно с видеотрактом как мне кажется

TheTERMINATOR
frozenboy:

что-то именно с видеотрактом

Камера, шлейф к ней.

Alex_Belousov
frozenboy:

Карточку проверял, менял на другую - не помогло. К тому же видеофайл записывается, но без изображения - т.е. при просмотре черный экран и звук пропеллеров. Здесь что-то именно с видеотрактом как мне кажется

в камеру лазили ? если да, то вполне могли подпалить входы на контроллер видео, он очень боится статики… нежная штука (

BOV

Подключил Симу к ардуине (камера желтый -> 7 ардуино, камера черный -> GND ардуино).

Сигнал с пульта “фото” ловится от 210000 до 220000 микросекунд отлично. Включение видео - не ловится (наверное больше секунды), выключение видео - обведено красным.

Пищалку не доделал - поздно было.

Код такой:

/*
SYMA X5C-1
*/

int camButton = 7;
unsigned long duration;
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
pinMode(camButton, INPUT);
}
void loop()
{
duration = pulseIn(camButton, LOW);

if ( duration < 210000) goto zanovo;
if ( duration > 220000) goto zanovo;

else{
Serial.println(duration);
}

zanovo:
delay(1);
}

Вместо Serial.println(duration); вставить включатель выключатель пищалки. У Ардуины нано 40 ма на выход интересно выдержит пищалку без транзистора?