Квадрокоптер Syma X5
соберите себе очень простой осциллограф на комп www.ferra.ru/ru/system/s17758/#.VQqK2OG_RaQ как показометр сойдет вполне!
И вы пользуетесь такой ерундой?
Показометр в виде тестера больше полезен. В связи с невостребованностью, у меня Хамелеон лежит так до конца и не настроенный.
Паралельно скорее всего не выйдет, так как сам контроллер симы непоймет команды и веротнее всего просто откинет пакет как ложный, нужно будет в разрыв между приемником и контроллером цеплятся, принимать данные по своему формату и выдавать по сима совместимому, тоже нужно и в пульте проделать.
По поводу обратной связи, вероятней всего не выйдет, пульт шлет данные с частотой 300 Гц, перевод приемника и передатчика в разные режимы а также сама передача не уместится по времени в етот интервал.
Также увеличение длины посылки уменьшает дальность приема, хотя тут если добавить 1 байт я думаю не очень скажется на дальности.
Вот писать показания датчиков можно, только на практике зачем? Я и видео то не всегда пересматриваю с него а тут любоваться на графики.
Есть команда на фото - туда и подключимся, как и писали выше
Вот и надо ардуиной отследить длительность сигнала и при соответствии 0.3 сек. включить пищалку, при приходе орчередного сигнала 0.3 сек. - выключить.
а показания датчиков писать, это так чисто побаловаться) мне больше высотомер интересен был бы.
Кстати, как я писал выше у нас и на пульте и на коптере полноценный приемопередатчик - только он используется в одну сторону… если ардуиной переключать его скажем 1 раз в 10 секунд (для того чтобы на пульт послать сигнал о низком заряде батарей) с примника в передатчик ничего страшного не произойдет, да, могут потеряться несколько пакетов от пульта - ничего страшного с точки зрения пользователя не произойдет (если конечно у нас нет пилотов которые могут зафиксировать что пульт перестал управлять коптером на пару миллисекунд) , так что считаю что включить ардуину параллельно основного контроллера вполне оправдано. По поводу пульта - вы правы, скорее всего там нужно будет проделать что-то аналогичное - чтобы обработать пришедший сигнал от коптера и выключить зуммер
И вы пользуетесь такой ерундой?
Показометр в виде тестера больше полезен. В связи с невостребованностью, у меня Хамелеон лежит так до конца и не настроенный.
у меня полноценный осцилл есть) собственно поэтому этой ерундой не пользуюсь… но этой ерундой посмотреть ориентировочно сигнал до нескольких кГц вполне возможно )
поэтому этой ерундой не пользуюсь
И не стоит другим советовать.
И не стоит другим советовать.
простите, мне показалось “замерил китайским тестером” импульс менее секунды… это намного менее точно чем осцилл из звуковой платы ))
это намного менее точно чем осцилл из звуковой платы ))
Прочитайте еще раз исходное сообщение. Задача стояла четко. Она была решена на 100% конкретным оборудованием.
Смотрел простым китайским тестером, а он импульсы показывает абы как. Мне был важен принцип.
согласен, если просто узнать что проскакивает положительный импульс - то вполне и тестером сойдет )
согласен, если просто узнать что проскакивает положительный импульс - то вполне и тестером сойдет )
Arduino
pulseIn()
Считывает длину сигнала на заданном порту (HIGH или LOW). Например, если задано считывание HIGH функцией pulseIn(), функция ожидает пока на заданном порту не появиться HIGH. Когда HIGH получен, включается таймер, который будет остановлен когда на порту вход/выхода будет LOW. Функция pulseIn() возвращает длину сигнала в микросекундах. Функция возвращает 0, если в течение заданного времени (таймаута) не был зафиксирован сигнал на порту. (от 10 микросекунд до 3 минут)
Arduino
pulseIn()
Считывает длину сигнала на заданном порту (HIGH или LOW). Например, если задано считывание HIGH функцией pulseIn(), функция ожидает пока на заданном порту не появиться HIGH. Когда HIGH получен, включается таймер, который будет остановлен когда на порту вход/выхода будет LOW. Функция pulseIn() возвращает длину сигнала в микросекундах. Функция возвращает 0, если в течение заданного времени (таймаута) не был зафиксирован сигнал на порту. (от 10 микросекунд до 3 минут)
именно так я и хочу сделать ) в принципе скетч для ардуины написать совсем не сложно под нашу задачу - он элементарный )) осталось только мне купить симу чтобы в реале это сделать))
Выпустил симу из окна, квартира на 12 этаже. Очень хорошо управляется, и запас мощности показался большим, т.к. при снижении приходилось чуть ли не вырубать движки. И да, это адреналин 😁 А после первого такого вылета вчера вечером (темно было и видео не получилось) у меня буквально тряслись руки.
Что-то я запутался…
Инфа найденная в инете:
На mode 1 передатчике ручки управления расположены таким образом:
- левый стик движением вверх/вниз управляет наклоном носовой/хвостовой частью и движением влево/вправо управляет изменением курса по/против часовой стрелке.
- правый стик движением вверх/вниз управляет полетом вверх/вниз и движением влево/вправо управляет наклоном вертолёта влево/вправо
На mode 2 передатчике ручки управления расположены таким образом: - левый стик движением вверх/вниз управляет полетом вверх/вниз и движением влево/вправо управляет изменением курса по/против часовой стрелке.
- правый стик движением вверх/вниз управляет наклоном носовой/хвостовой частью и движением влево/вправо управляет наклоном вертолёта влево/вправо
На mode 3 передатчике ручки управления расположены таким образом: - левый стик движением вверх/вниз управляет наклоном носовой/хвостовой частью и движением влево/вправо управляет наклоном вертолёта влево/вправо
- правый стик движением вверх/вниз управляет полетом вверх/вниз и движением влево/вправо управляет изменением курса по/против часовой стрелке.
На mode 4 передатчике ручки управления расположены таким образом: - левый стик движением вверх/вниз управляет полетом вверх/вниз и движением влево/вправо управляет наклоном вертолёта влево/вправо
- правый стик движением вверх/вниз управляет наклоном носовой/хвостовой частью и движением влево/вправо управляет изменением курса по/против часовой стрелке.
то есть у симы mode2 это фактически mode4, а mode1 - это и есть mode 2 в общеупотребительном смысле ?
При любом маневре квадрик не пытается выровнять себя и переворачивается.
У меня был подобный случай, когда коптер - словно потерял горизонт. Сколько не подкидывал - тупо падал.
Произошло - после падения во флипе (кверх брюхом упал), в траву.
Включения\выключения - ни к чему не привели. Раздвигание стиков в стороны - тоже.
пришлось высоко подкинуть, успеть быстро зажать кнопку флипа, сделать флип - и только после этих манипуляций, квад начал работать. Правда через 10 минут загнулся моторчик, щетка накрылась, но - это уже другая история.
Кстати, после стабилизирования - квад почему-то висел над землей, примерно в 10см, даже при почти полном газе (вроде не батарея виновата).
… так вот, когда нажимаю кнопку фото, все время горит красная лампочка, т.е. микросхема ждет видеосигнал…
Часто красная лампочка горит при проблемах с SD карточкой. Например, при её отсутствии…
… так вот, когда нажимаю кнопку фото, все время горит красная лампочка, т.е. микросхема ждет видеосигнал…
Проверьте наличие свободного места на карточке.
Даже если на ней не видно файлов.
Карточку проверял, менял на другую - не помогло. К тому же видеофайл записывается, но без изображения - т.е. при просмотре черный экран и звук пропеллеров. Здесь что-то именно с видеотрактом как мне кажется
что-то именно с видеотрактом
Камера, шлейф к ней.
Карточку проверял, менял на другую - не помогло. К тому же видеофайл записывается, но без изображения - т.е. при просмотре черный экран и звук пропеллеров. Здесь что-то именно с видеотрактом как мне кажется
в камеру лазили ? если да, то вполне могли подпалить входы на контроллер видео, он очень боится статики… нежная штука (
Подключил Симу к ардуине (камера желтый -> 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 ма на выход интересно выдержит пищалку без транзистора?
На надежный хостинг фотки выложи.
На надежный хостинг фотки выложи.
Поменял хостинг.