Activity

Независимые автоматические складные ноги для коптера - от идеи к рабочему прототипу

Сделал рабочий прототип в макетном исполнении.
Все работает так, как и задумывалось.
Осталось теперь водрузить это на коптер.
В итоговом варианте будет стоять ардуина мини и сонар HC-SR04. места не занимает, весит ничего.

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


#include "Servo.h" //библеотека серво
Servo myservo;
const int Trig = 8; //подключаем вход Триггер сонара к 8 цифровому пину ардуины
const int Echo = 9; //подключаем выход Эхо сонара к 9 цифровому пину ардуины
const int ledPin = 13;  // 13 – если будете использовать встроенный в Arduino светодиод


void setup()
{
myservo.attach(10); // Servo присоединен к 10 выводу
myservo.writeMicroseconds(700); // устанавливаем ноги в положиние для старта при подачи питания, если они уже в нем не стоят
delay(5000); //ждем 5 с после подачи питания(все равно, пока инициализируются гиры, компас жпс итд.)
pinMode(Trig, OUTPUT);
pinMode(Echo, INPUT);
pinMode(ledPin, OUTPUT);
 Serial.begin(9600);

}

unsigned int time_us=0;

unsigned int distance_sm=0;

void loop()
{


digitalWrite(Trig, HIGH); // Подаем сигнал на выход микроконтроллера
delayMicroseconds(10); // Удерживаем 10 микросекунд
digitalWrite(Trig, LOW); // Затем убираем
time_us=pulseIn(Echo, HIGH); // Замеряем длину импульса
distance_sm=time_us/58; // Пересчитываем в сантиметры
Serial.println(distance_sm); // Выводим на порт для проверки сонара и расстояния

if (distance_sm<200) // Если расстояние до земли менее 200 сантиметром(расстояние можно менять в пределах характеристик сонара HC-SR04 )
{
   digitalWrite(ledPin, 1);

myservo.writeMicroseconds(700);  // то складываем ноги
  delay(500); // ждем 0,5с для защиты от дребезга и ложных сработок
}
else
{
   digitalWrite(ledPin, 0);
  myservo.writeMicroseconds(2300); //если меньше 200 см, то раскладываем для посадки
  delay(500);
}

delay(100);

}
Независимые автоматические складные ноги для коптера

набросок идеи, чтоб не забыть.

пришла в голову идея сделать автоматические складные ноги для коптера.
Идея заключается в том, что при достижении определенной заданной заранее высоты ноги складываются/раскладываются.
Реализовано за счет ардуинки с кодом и дешевого сонара HS4
устройство полностью автономно, кроме питания.
цель - освободить канал на приемнике
мне кажется, именно за счет этого работает механика в новомодном ДЖИ Инспире 1

Алгоритм такой - коптер на земле _ расстояние от сонара до земли < 2(например) метров - ноги разложены.

Задаем время ожидания - если не взлетели вы
взлетаем, растояние увеличивается - ноги складываем, не увеличивается - не складываем(30 сек например)
летаем, расстояние увеличилось, время вышло, ноги сложились, летаем
садимся
расстояние стало между 5- и 2мя метрами - ноги разложились. учитываем скорость посадки и и время, за которое разложаться ноги!!! - надо знать характеристики сонара, и насколько далеко он гарантированно определяет расстояние до твердой поверхности. С травы и на траву не летаем
опять тайм аут на увеличение расстояния расстояние уменьшается - ноги остаются разложенными - садимся.

Клон квадрика TBS

Пришел вот
Взвесил и снял размеры: вес собранной рамы с шасси- 485 грамм, без шасси - 310 грамм, диаметр отверстия- 54 мм, расстояние между крепежными отверстиями для платы мозгов - 45 мм.