Подписываемся на VK

Ежедневные новости, видео и приколы...

YouTube канал

Подбор моторов

TOP статьи

Вход




RC Магазины





Для удобства пользования форумом и поиска информации прошу придерживаться правила: 1 тема = 1 вопрос.

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

Исключение только в разделе Вопросы и обсуждения по статьям

Как выложить фото, Как опубликовать видео

С уважением,

Константин.

KolhozCopter

Re: KolhozCopter

Скетч для передатчика:
#include <VirtualWire.h>
const int transmit_pin = 9; // вывод Data передатчика подключаем к выводу 9 Arduino
const int start = 8; // кнопка старт на 8 порту
void setup()
{
  vw_set_tx_pin(transmit_pin);
  vw_setup(4000);     // Скорость передачи
}
void loop()
{
  if (digitalRead(start) == HIGH)
  {
    const char *msg = "0123"; // текст сообщения
    vw_send((uint8_t *)msg, strlen(msg)); // отправляем сообщение
    vw_wait_tx(); //
  } 
 
}

можно качнуть тут
https://vk.com/doc218882995_480408691

fortekom
Владимир (СПБ)
Пилот
ranks
useravatar
Offline
621 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Re: KolhozCopter

Как видно при нажатии кнопки Старт (8 порт) отправляется сообщение "0123", это шифр для того что бы приемник случайно не сработал от шума.

fortekom
Владимир (СПБ)
Пилот
ranks
useravatar
Offline
621 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Re: KolhozCopter

Приемник
https://pp.userapi.com/c849236/v849236000/b079b/JhUR4mPvIbM.jpg
Не стал заморачиваться, оставил на макетной плате, просто корпус по больше выбрал.
Три  светодиода, один на включение питания, второй на поступление сигнала, а третий контроль целостности воспламенителя.

fortekom
Владимир (СПБ)
Пилот
ranks
useravatar
Offline
621 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Re: KolhozCopter

https://pp.userapi.com/c830400/v830400000/1c90f3/u4ZEndh84aA.jpg
Фиксатор воспламенителя это разъем с быстрой фиксацией.

fortekom
Владимир (СПБ)
Пилот
ranks
useravatar
Offline
621 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Re: KolhozCopter

Прошивка приемника:
#include <VirtualWire.h>

byte message[VW_MAX_MESSAGE_LEN];
byte messageLength = VW_MAX_MESSAGE_LEN;
const int receiver_pin = 11; // подключаем вывод Data приемника к 11 выводу Arduino
const int pusk_led = 12; //
const int pusk = 8; //
void setup()
{
  pinMode(pusk_led, OUTPUT);
  pinMode(pusk, OUTPUT);
  vw_set_rx_pin(receiver_pin); // вывод Data приемника 
  vw_setup(4000); // скорость передачи
  vw_rx_start(); // начало приема
}
void loop()
{
  if (vw_get_message(message, &messageLength)) // если что-то приняли.
  {
    if (message[0] == 48 && message[1] == 49 && message[2] == 50 && message[3] == 51)
    {
      digitalWrite(pusk, LOW);
      digitalWrite(pusk_led, HIGH);
      delay(200);
    }
  }
  else {
      digitalWrite(pusk, HIGH);
      digitalWrite(pusk_led, LOW);
  }
}

https://vk.com/doc218882995_480472551

fortekom
Владимир (СПБ)
Пилот
ranks
useravatar
Offline
621 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Re: KolhozCopter

Перед запуском ракеты, добавлю схему высотомера, которую я собрал три года назад.
http://files.balancer.ru/cache/forums/attaches/2015/12/640x480/27-4056946-skhema-breo-byudzhet.jpg
Высота записывается в память, потом можно посмотреть на максимальную высоту и скорость.
А так же в апогее активирует вышибной заряд.
Прошивка:
/*
* Raketa-mini или альтиметр в бюджетном варианте.
* Программа для записи летных характеристик ракеты
* Используется контролер микро ардуино,
* барометр BMP085 (лучше использовать BMP180)
* ЗУМ(6), кнопка(8) для стирания, светодиод(7) для индикации
* база транзистора (9) для вышибного заряда
* ПЗУ используется встроенное всего 1кБайт, поэтому
* высота записывается 255 раз с выборкой ttt мсек.
* в 0 адрес записывается максимальная высота
* Высота округляется до 1м.
*/

//Добавляем библиотеки
#include <EEPROM.h>
#include <Wire.h>
#include <BMP085.h>

BMP085 dps = BMP085();      // Digital Pressure Sensor

long Al1 = 0; // высота с барометра
int hmax = 0; // максимальная высота полета
int led = 7;  // номер порта для светодиода
int knop = 8; // номер порта для кнопки очистки памяти
int fire = 9; // номер порта для вышибного заряда
int p = 6;    // номер порта пьезодинамик
int hh = 3; // высота с которой начинается запись полета в память
// а так же высота снижения при котором сработает вышибной заряд
unsigned long tt = 0; // сюда записывает время начало полета
unsigned long t = 1; //время кратное ttt
int ttt = 80; //будем записывать каждые ttt мсек (от 20 до 1000 мсек)
//20 = 255*20=5100 это примерно 5 сек полета
//1000 = 255 секунд полета
boolean rec = 0;// 0=память чистая, 1=в памяти хранятся данные о полете

void setup()
{
  pinMode(led, OUTPUT);     
  pinMode(p, OUTPUT); //объявляем пин как выход
  pinMode(knop, INPUT);     
  pinMode(fire, OUTPUT);     
  digitalWrite(fire, LOW);
  Wire.begin();
  Serial.begin(9600);  // запуск последовательного порта
  dps.init(MODE_STANDARD, 0, true);

}

void loop()
{
  digitalWrite(led, HIGH);   //включаем светодиод
// Проверяем есть ли данные
if (EEPROM.read(0)>1)//если по адресу 0 есть данные подымаем флаг
   {
     rec = 1;
   } 
int h = 0;//высота полета
if (rec == 1)//если есть данные в памяти
{
   vyvod();//вывод информации на экран
   while (digitalRead(knop) == 0) //ждем нажатия кнопки стирания
   {
   delay (100);
   }
   digitalWrite(led, HIGH);   //включаем светодиод
   delay (200);
   digitalWrite(led, LOW);   //выключаем светодиод
   for (int i = 0; i < 512; i++)
     EEPROM.write(i, 0);//стираем память
//   EEPROM_int_write(0, 0);
   Serial.println("Clear");     // печатает в порт
   rec = 0;//ставим флаг - память чистая
}else //если данных нет
{
   do
   {
     dps.getAltitude(&Al1);//берем высоту из барометра
     h=round(Al1*0.01);//округляем высоту до 1м
   }   while (h < hh);// ждем когда ракета подымится на высоту hh
   digitalWrite(led,LOW);
   tt = millis();//запоминаем сколько прошло времени с начало работы контролера
   // начинаем записывать данные
   for (int i=2; i<511; i++)//начиная со 2 адресса
  {
     if (hmax < h)//если текущая высота выше максимальной(значит идет набор высоты)
       {
         hmax = h;//записываем новое значение максимальной высоты
         EEPROM_int_write(0, hmax);//по адресу 0 записываем макс.высоту
       }
     else //начинаем снижатся
       {
         if (hmax > (h+hh))//ждем пока не опустится ниже hh от макс.высоты
           {
           digitalWrite(fire, HIGH);   // активируем вышибной заряд
           }
       }
     EEPROM_int_write(i, h);//записываем текущую высоту по адресу i
     while ((t*ttt)>(millis()-tt)) ;
     t++;
     dps.getAltitude(&Al1);
     h=round(Al1*0.01);
     i++;
  }
  t = 1;
//  Serial.print(" mil=");     // печатает в порт
//  Serial.println(millis()-tt);     // печатает в порт
  rec=1;
  digitalWrite(fire, LOW);   // turn the LED on (HIGH is the voltage level)
  while(millis()>0)// будет пищать пока есть питание smile
  {
    tone (p, 500); //включаем на 500 Гц
    delay(100); //ждем 100 Мс
    tone(p, 1000); //включаем на 1000 Гц
    delay(100); //ждем 100 Мс
  }
}
}


// запись в пямять по 2 байта
void EEPROM_int_write(int addr, int num) {
  byte raw[2];
  (int&)raw = num;
  for(byte i = 0; i < 2; i++) EEPROM.write(addr+i, raw[i]);
}
// чтение из памяти по 2 байта
int EEPROM_int_read(int addr) {   
  byte raw[2];
  for(byte i = 0; i < 2; i++) raw[i] = EEPROM.read(addr+i);
  int &num = (int&)raw;
  return num;
}
// вывод на экран результат полета
int vyvod(){
  Serial.println(" Polet =");     // печатает в порт
  Serial.print(" max=");     // печатает в порт
  Serial.println(EEPROM_int_read(0));     // печатает в порт
  for (int i=2; i<512; i++)
  {
    digitalWrite(led, HIGH);
    Serial.println(EEPROM_int_read(i));     // печатает в порт
    i++;
    digitalWrite(led, LOW);
    delay (50);
  }
 
}

fortekom
Владимир (СПБ)
Пилот
ranks
useravatar
Offline
621 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Re: KolhozCopter

Схема передатчика
https://pp.userapi.com/c846018/v846018715/120358/6C5a4vB9hrM.jpg

fortekom
Владимир (СПБ)
Пилот
ranks
useravatar
Offline
621 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Re: KolhozCopter

Схема приемника
https://pp.userapi.com/c851232/v851232952/4080e/5p1hCXxn0Qg.jpg

fortekom
Владимир (СПБ)
Пилот
ranks
useravatar
Offline
621 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Re: KolhozCopter

Пришла мелочевка ...
https://pp.userapi.com/c848736/v848736275/ba6a0/ivtgda-cz8w.jpg
Пару джойстиков, пару нрф24, экранчик для продвинутого пульта, контроллер СТМ32 - 32битный с ядром Кортекс-М3 на 72МГц всего за 112р для экспериментов.

fortekom
Владимир (СПБ)
Пилот
ranks
useravatar
Offline
621 Сообщений
Мужчина  Дата рождения 
Администратор отключил публичную отправку сообщений

Информация

Статистика форума:
 
Всего тем:
9973
Всего опросов:
79
Всего сообщений:
183069
Сообщений на этой неделе:
3
Пользователи форума:
 
Всего пользователей:
10087
Последним зарегистрировался:
ДАРИН
Пользователи онлайн:
0
Гостей онлайн:
452

Самые активные пользователи: 
konst, carpenter, kompmen, cnyx, Dragony, maks_dg, Goby, Student, alldn, nikolaypet
Онлайн: 
Нет пользователей онлайн
Последние сообщения форумаПоследние созданные темы
1) Аппа "Wensheng WS 6" нужна помощь
2) Расчет эффективного пропеллера вертолета, самолета
3) Зажигание на датчике холла
4) Аккумуляторная батарея LiPo HRB 14,8 4S 2200mA/h
5) На что заменить полетник на Iflight Protek25
6) Юлиус Пердана и SHURIK-1960
7) Помогите пожалуйста с вертолетом (управление)
8) Сервомотор ведет себя не адекватно
9) Полётный контроллер PixRacer r15 autopilot
10) Вопрос по ПК
1) Аппа "Wensheng WS 6" нужна помощь - Нужна помощь по аппаратуре управления
2) Расчет эффективного пропеллера вертолета, самолета - Как сделать пропеллер эффективным
3) Аккумуляторная батарея LiPo HRB 14,8 4S 2200mA/h
4) На что заменить полетник на Iflight Protek25 - сгорел полетник. ищу замену
5) Зажигание на датчике холла
6) Сервомотор ведет себя не адекватно - элероны
7) Помогите пожалуйста с вертолетом (управление) - Помогите пожалуйста с вертолетом (управление)
8) Вопрос по ПК - ПК фоксер ф722 v4, рагуль 1202 от fpv. Из этого сделать ЛК?
9) Продажа комплекта деталей для авиамоделирования - Здрaвcтвуйтe! Пpодaю кoмплект деталей для aвиамoделиpoвания
10) Полётный контроллер PixRacer r15 autopilot