Вторник, 08 мая 2018 00:30

Дрон на Raspberry Pi своими руками

Оцените материал
(7 голосов)

FRY68CPIEFZXNMH.LARGE

FYQ9A07IEFZXNMF.LARGE

Представляем Вам проект квадрокоптера работающий на платформе Multiwii и контролируемый с помощью Raspberry Pi 3 B. Этот квадрокоптер имеет особенность - он использует 2 разных контроллера, и он может пилотироваться с двух различных устройств: дистанционным управлением или смартфоном.

Контроллер Multiwii следит за 4-мя двигателями и распределяет мощность, тогда как Raspberry Pi собирает информацию, которая поступает со смартфона и передает их в Multiwii. Вы также сможете делать снимки и видео в Full HD! Камера Pi находится на спереди дрона. Возможна запись полета или создание снимков на USB флешку.

Рама этого квадрокоптера изготовлена из различных переработанных элементов, задача была: собрать квадрокоптер с иногда тяжелыми элементами ... Но мы сделали это!

Мы – это несколько молодых французских студентов, и это было наше первое творение. Проект мы назвали - Drone Pi

 

Шаг 1: Детали

raspberrypi3b
criusaiopromultiwii
cameraraspberrypi
motor
esc
propellers
wi-fiadapter
powerdistributionboard
batterymonitor
mountingpad

• Рама - Вы можете купить ее в Интернете, или вы можете сделать ее как мы. Нетрудно создать свою раму, Вам просто нужно сделать X размером приблизительно 0,45 м (для стабильного квадрокоптера), и Вы разместите многоуровневую платформу по центру, чтобы поместить туда электронную начинку.

4 мотора (19,52 $). Для квадрокоптера Вам нужны 4 двигателя, но, если вы хотите сделать октокоптер, Вам понадобятся 8 двигателей. Мы используем бесколлекторные двигатели. (мы вернемся к моторам на шаге 2) • 4 ESCs (35.50 $). Электронный регулятор скорости использует для подачи питания на двигатель с информацией о Multiwii. Мы используем 30A ESC.

Аккумулятор (22,10 $) – Что бы летать, Вам понадобилась батарея. Мы используем 3S 3300mAh.

Монитор заряда батареи (1.71 $) - он отображает уровень заряда аккумулятора.

Распределительная плата питания (3.77 $). Эта плата используется для подключения ваших ESC к аккумулятору.

Т - Разъемы (2 $) - для соединения esc с платой.

Разъемы 3,5 мм (3.27 $) - для соединения esc и двигателей.

Пропеллеры (16,79 $) - квадрокоптер с двигателями, но без пропеллеров не является квадрокоптером, поэтому выбирайте свои комплектующие в соответствии с вашей рамой. Для нашей рамы 40 см Вам понадобятся пропеллеры с длиной = 10 и шагом = 4,5. Мы используем 10x4,5 SF.

• Multiwii - этот контроллер использует для управления двигателями и распределения мощности. Мы используем CRIUS AIO PRO Multiwii. Или можно заменить на FTDI FT232r Basic Breakout USB-TTL 3.3v 5v For Arduino Pro Mini MWC MultiWii + - CRIUS MultiWii Standard Edition Flight Controller MWC SE V2.5 for Multicopter

Монтажная панель (3.40 $). Поскольку двигатели создают большую вибрацию, вам нужно купить какую-нибудь монтажную площадку, чтобы уменьшить тряску их при использовании multiwii.

Raspberry pi 3 model (39,57 $) - Она также может работать с другой моделью малины pi, но мы только что протестировали ее с помощью Raspi, и она более мощная, чем предыдущая.

Камера Pi (6.40 $) - для захвата видео и фотосъемки. Его можно запустить только с помощью малины pi

Wifi адаптер (3,66 $) - он подключается к Raspi и создает сеть Wi-Fi для передачи информации из приложения смартфона в Raspi, использование внешнего модуля для лучшего уровня сигнала.

• USB-флешка - сохранение видео

• Дистанционное управление + приемник rc - Если вы хотите контролировать свой гул с этим. Вы подключите приемник rc к Multiwii

 

Шаг 2: Принцип работы

principailsheme
interface
wi-ficonnection

The multiwii

Multiwii - проект с открытым исходным кодом, основанный на Ардуине. Проект является с открытым исходным кодом, поэтому мы можем найти много видов multiwii. Мы используем версию similare CRIUS AIO PRO V2. Это контроллер полета: его роль заключается в отправке сигналов скорости в esc, чтобы удерживать квадрокоптер в воздухе. Мы используем проект mutlwii, потому что это известный проект и используется многими пользователями с большим сообществом, но главным образом потому, что такие программы слишком сложны для нас.

Raspberry Pi

В нашем проекте Raspberry Pi играет главную роль. Сначала при включении он создает Wi-Fi сеть с DHCP-сервером (для предоставления IP-адреса), эта сеть Wi-Fi не имеет доступа в Интернет, и это только для связи со смартфоном. Во-вторых, он запускает программу на python (созданную нами), которая запускает Websocket. Websocket - это постоянная связь между сервером (Raspberry Pi) и клиентом (приложение для смартфона), он будет обрабатывать полученную команду из приложения. Затем эта же прогамма подключается к multiwii через USB. Он будет служить для отправки команд информации, которые поступают со смартфона в multiwii (см. Схему для понимания). Источники доступны на github (https://github.com/robotoss/Multiwii-raspberry-drone-server )

Приложение

Приложение с помощью html / css / javascript с кордовой. Кордова - это технология, которая позволяет создавать приложение с веб-технологиями, совместимыми с Android, ios и многое другое ... Пользователь считает, что это стандартное приложение для Android, но на самом деле это веб-интерфейс :), легко разрабатывать приложения, подобные этому для web devellopers ... Источники доступны в github (https://github.com/reglisse44/quadcopterControl)

 

Шаг 3: Рама

frame1
scheme1
scheme2
scheme3
scheme4
scheme5
scheme6
scheme7

Чтобы сделать хорошую раму, Вам нужно использовать самые легкие материалы, какие только сможете достать. Для нашего Drone Pi мы взяли перерабатываемые, поэтому наша рама получилась немного тяжелой, но в любом случае это не имеет значения для наших двигателей.

Диаметр рамы составляет 0,45 м, потому что нам нужен «стабильный квадрокоптер» для съемки, а не «гоночный квадрокоптер». В центре X - 3 уровня (возможно, 4 в будущем), чтобы поставить контроллеры, ESCs и нашу батарею (с подробными чертежами Вы можете ознакомиться выше на фотографиях).

Мы создали платформу для multiwii на верхней части квадрокоптера (рисунок 2), а другая - для батареи (рис. 7 и 8) на нижней части квадрокоптера. Для платформы Multiwii мы хотели поставить Raspberry Pi под multiwii, потому что между ними есть соединения. Для платформы батареи мы хотели взять или снять аккумулятор, чтобы зарядить его. Все фотографии находятся в следующем шаге ...

Наконец, мы смонтировали 4 ножки в квадрокоптер, чтобы иметь возможность приземлиться, но они не очень и плохи.

 

Шаг 4: Силовая установка

F6OYS2GIEID88K0LARGE
FRBDIO8IEID88LGLARGE
F2R7DUAIEGXTJ76LARGE
FH7W6ZCIEGXOS7XLARGE
F1GK5SWIEGXOS7RLARGE
FDTM4K6IEGXOS83LARGE
F1736XQIFGNS2D2LARGE
FI5Q98OIFGNS2D3LARGE
F30I17WIFGNS2D4LARGE
F060CV6IFGNS2BWLARGE

Для движителя Вам нужны 4 двигателя, 4 ESC (для адаптации напряжения к двигателям), аккумулятор и, наконец Multiwii.

  1. Подключите свои двигатели к вашим ESC. Вы можете инвертировать провод, чтобы инвертировать вращение ваших винтов (см. Схему, чтобы знать направление вращения). В начале, не устанавливайте пропеллеры на двигатели, так как пропеллеры хрупкие и Вы можете их случайно разбить.
  2. Подключите ESC к распределительной плате (соблюдайте цветность).
  3. Если все в порядке, вы можете установить компоненты на раму.
  4. Винты, которые шли в комплекте с двигателем, были слишком большим для пропеллеров, поэтому мы увеличили отверстие для винта.(см. Фотографии)

 

Шаг 5: Контроллер полета и Raspberry Pi

FYC61Y1IEGXTJQ3LARGE
FYYYY3WIEGXOQLCLARGE
FCMDD63IEGXTKHULARGE
F7UV3Y2IEGXTKYOLARGE
FXV3TH4IEGXTMGOLARGE
F5TULTBIEMNH9HILARGE

Теперь мы установим multwii и Raspberry Pi. Для установки двух компонентов в одном и том же месте мы сделали опоры, которые позволяют установить multwii поверх Raspberry Pi, (см. Рисунок).

  1. Установите Raspberry Pi с опорами
  2. Положите multwii на опору с помощью антивибрационной подушки
  3. Подключите ESCs к multiwii с выделенными контактами

Затем мы скомпилируем прошивку multiwii в плату. Чтобы подключить плату multiwii к компьютеру через USB

Чтобы настроить multiwii:

  1. Загрузите прошивку multiwii с https://code.google.com/p/multiwii/
  2. Загрузите программное обеспечение arduino с https://www.arduino.cc/ru/Main/Software
  3. Открытый проект arduino «Multiwii.ino»
  4. Измените панель arduino в "Tools">"Board">"Arduino Mega 2560 or Mega ADK"
  5. Выберите порт в "Tools">"Serial Port"> И выберите порт multiwii.
  6. Затем откройте файл «config.h»
  7. Найдите в начале файла строку: «// # define QUADX» и раскомментируйте ее (удалите «//»)
  8. Повторите поиск строки «// # define CRIUS_AIO_PRO» и раскомментируйте ее.
  9. Все готово, сохраните файл и запустите компиляцию
  10. Затем вам нужно будет откалибровать весь датчик с помощью MultiwiiConf, Учебное пособие -

В на данном этапе мы не подключали Multiwii к RasPi, поэтому, если Вы хотите посмотреть на двигатели в действии, прежде чем настраивать Raspberry Pi на раме, Вам понадобится пульт дистанционного управления с приемником rc не забудте подключить rc приемник к Multiwii. Мы не объясним Вам, как это сделать, подробные схемы есть в google;), Это не сложно. (Не используйте двигатель с пропеллерами)

 

Шаг 6: Raspberry Pi

FJBWO0JIERC50BULARGE
F0TN72WIEQXV9VMLARGE

Установка Debian:

Установите raspbian с помощью noobs, следуя этому руководству: www.raspberrypi.org/help/noobs-setup/

Запустите raspi-config и включите pi-камеру

Конфигурация IP

sudo nano /etc/network/interfaces 

удалите всю конфигурацию wlan0 и отредактируйте это:

allow-hotplug wlan0
iface wlan0 inet static
	address 192.168.10.1
        netmask 255.255.255.0
        gateway 192.168.10.1

Установка Hostapd:

Перед началом выполните все обновление:

sudo apt-get update && sudo apt-get upgrade

Установите hostapd:

sudo apt-get install hostapd

И протестируйте с минимальной конфигурацией

sudo hostapd hostapd.conf

Если Вы увидели свою сеть у вас на смартфоне, то она работает, НО ВЫ НЕ СМОЖИТЕ К НЕЙ ПРИСОЕДИНИТЬСЯ (ошибка соединения будет из-за ip, потому что у нас нет DHCP-сервера)

Установка DHCP-сервера:

Теперь нам нужно установить DHCP-сервер для предоставления IP-адреса Wi-Fi-клиентам.

sudo apt-get install isc-dhcp-server

Запустите эту команду, чтобы отредактировать файл:

sudo nano /etc/dhcp/dhcpd.conf

Найдите строки, которые говорят

option domain-name "example.org";

option domain-name-servers ns1.example.org, ns2.example.org;

и добавьте «#» перед ними, чтобы закомментировать их

Установка usbmount

Нам нужен usbmount для установки USB-флешки. Это необходимо для сохранения видео на USB-флешку.

sudo apt-get install usbmount

Теперь все usb должны быть установлены в папке «/ media /»

Установите программу Python quadcopter:

Сначала установите зависимости:

sudo apt-get install python-pip build-essential python-dev
sudo pip install tornado

и клонируйте проект git

git clone https://github.com/robotoss/Multiwii-raspberry-drone-server.git multiwiiControll

Вы можете протестировать программу, выполнив следующие действия:

Проверьте это !!:

Предупреждение: на данный момент, если вы хотите запустить программу python, вам необходимо:

  • Pi-камера - подключенная и активирована в raspi-config
  • Плата multiwii подключена к порту USB Raspberry Pi как имя «ttyUSB0» (Вы можете проверить с помощью команды «dmesg | grep tty», если ваш multiwii связан с другим именем, измените его в начале файла - ”main.py”)

Прежде чем начать перезагружать свой Pi, выполните все предыдущие установки.

Далее следуют следующие команды:

sudo hostapd -B /etc/hostapd/hostapd.conf
sudo ifconfig wlan0 192.168.10.1
sudo service isc-dhcp-server restart
sudo python multiwiiControll/main.py

Объяснение:

  1. «-B» - что бы запустить hostapd в фоновом режиме
  2. После запуска hostapd, ip изменяется (я не знаю почему). Поэтому нам нужно установить его вручную
  3. Перезапустите сервер dhcp, чтобы запустить его с новой сетью wlan0
  4. И запустите скрипт python

Автоматизация этого при загрузке:

Чтобы запустить все эти команды при загрузке, мы используем cronjob и sh-скрипт.

sudo crontab -e

Эта команда открывает редактор nano. Напишите это в конце файла:

@reboot /home/pi/multiwiiControll/autostart.sh
@reboot sudo python /home/pi/multiwiiControll/main.py &

Выход и перезагрузка, если все в порядке, все должно запускаться при загрузке!

 

Шаг 7: Финал !!!

Если у вас есть какие-либо вопросы, вы можете оставить комментарий и поблагодарить наших инструкций :).

Источник

Author

Bender

Я поделюсь с тобой всеми знаниями, которые доступны мне.

Комментарии (4)

This comment was minimized by the moderator on the site

Скажите пожалуйста, КАКОЕ МАКСИМАЛЬНО РАССТОЯНИЕ НА КОТОРОМ МОЖНО УПРАВЛЯТЬ ДРОНОМ ЧЕРЕЗ СМАРТФОНА С ПОМОЩЬ ЭТОГО Wifi адаптер? А ТО 10 МЕТРОВ ЭТО КАК-ТО СМЕШНО ДЛЯ ДРОНА НА ДИСТАНЦИОННОМ УПРАВЛЕНИИ)

  Виктор
This comment was minimized by the moderator on the site

Виктор данная адаптер хватит для покрытия 30 метров в прямой зоне видимости, для УВЕЛИЧЕНИЯ радиуса нужно либо ставить более мощную АНТЕННУ 4dBi - s.click.aliexpress.com/e/z3fIAuN" target="_blank" rel="nofollow"http://s.click.aliexpress.com/e/z3f...

Виктор данная адаптер хватит для покрытия 30 метров в прямой зоне видимости, для УВЕЛИЧЕНИЯ радиуса нужно либо ставить более мощную АНТЕННУ 4dBi - s.click.aliexpress.com/e/z3fIAuN" target="_blank" rel="nofollow">http://s.click.aliexpress.com/e/z3fIAuN или использовать адаптер на 5,8 ghz- http://s.click.aliexpress.com/e/I2zVrFq

Подробнее
  Super User
This comment was minimized by the moderator on the site

у меня не получилось и вылезла ошибка
порт multiwii из 5 пункта отсутствовал и я выбрал /dev/ttyusb0 это связанно как то с ошибкой ?

In file included from sketch/MultiWii.cpp:15:0:
sketch/def.h:1427:0: warning: "I2C_SPEED" redefined
#define...

у меня не получилось и вылезла ошибка
порт multiwii из 5 пункта отсутствовал и я выбрал /dev/ttyusb0 это связанно как то с ошибкой ?

In file included from sketch/MultiWii.cpp:15:0:
sketch/def.h:1427:0: warning: "I2C_SPEED" redefined
#define I2C_SPEED 400000L //400kHz fast mode
^
In file included from sketch/IMU.cpp:3:0:
sketch/def.h:1427:0: warning: "I2C_SPEED" redefined
#define I2C_SPEED 400000L //400kHz fast mode
^
In file included from sketch/IMU.cpp:2:0:
sketch/config.h:75:0: note: this is the location of the previous definition
#define I2C_SPEED 100000L //100kHz normal mode, this value must be used for a genuine WMP
^
In file included from sketch/IMU.cpp:3:0:
sketch/def.h:1430:0: warning: "SERVO_1_PINMODE" redefined
#define SERVO_1_PINMODE pinMode(44,OUTPUT); // TILT_PITCH
^
sketch/def.h:616:0: note: this is the location of the previous definition
#define SERVO_1_PINMODE pinMode(34,OUTPUT);pinMode(44,OUTPUT); // TILT_PITCH - WING left
^
sketch/def.h:1431:0: warning: "SERVO_1_PIN_HIGH" redefined
#define SERVO_1_PIN_HIGH PORTL |= 1<<5;
^
sketch/def.h:617:0: note: this is the location of the previous definition
#define SERVO_1_PIN_HIGH PORTC |= 1<<3;PORTL |= 1<<5;
^
sketch/def.h:1432:0: warning: "SERVO_1_PIN_LOW" redefined
#define SERVO_1_PIN_LOW PORTL &= ~(1<<5);
^
sketch/def.h:618:0: note: this is the location of the previous definition
#define SERVO_1_PIN_LOW PORTC &= ~(1<<3);PORTL &= ~(1<<5);
^
sketch/def.h:1433:0: warning: "SERVO_2_PINMODE" redefined
#define SERVO_2_PINMODE pinMode(45,OUTPUT); // TILT_ROLL
^
sketch/def.h:619:0: note: this is the location of the previous definition
#define SERVO_2_PINMODE pinMode(35,OUTPUT);pinMode(45,OUTPUT); // TILT_ROLL - WING right
^
sketch/def.h:1434:0: warning: "SERVO_2_PIN_HIGH" redefined
#define SERVO_2_PIN_HIGH PORTL |= 1<<4;
^
sketch/def.h:620:0: note: this is the location of the previous definition
#define SERVO_2_PIN_HIGH PORTC |= 1<<2;PORTL |= 1<<4;
^
sketch/def.h:1435:0: warning: "SERVO_2_PIN_LOW" redefined
#define SERVO_2_PIN_LOW PORTL &= ~(1<<4);
^
sketch/def.h:621:0: note: this is the location of the previous definition
#define SERVO_2_PIN_LOW PORTC &= ~(1<<2);PORTL &= ~(1<<4);
^
sketch/def.h:1436:0: warning: "SERVO_3_PINMODE" redefined
#define SERVO_3_PINMODE pinMode(46,OUTPUT); // CAM TRIG
^
sketch/def.h:622:0: note: this is the location of the previous definition
#define SERVO_3_PINMODE pinMode(33,OUTPUT); pinMode(46,OUTPUT); // CAM TRIG - alt TILT_PITCH
^
sketch/def.h:1437:0: warning: "SERVO_3_PIN_HIGH" redefined
#define SERVO_3_PIN_HIGH PORTL |= 1<<3;
^
sketch/def.h:623:0: note: this is the location of the previous definition
#define SERVO_3_PIN_HIGH PORTC |= 1<<4;PORTL |= 1<<3;
^
sketch/def.h:1438:0: warning: "SERVO_3_PIN_LOW" redefined
#define SERVO_3_PIN_LOW PORTL &= ~(1<<3);
^
sketch/def.h:624:0: note: this is the location of the previous definition
#define SERVO_3_PIN_LOW PORTC &= ~(1<<4);PORTL &= ~(1<<3);
^
In file included from sketch/MultiWii.cpp:14:0:
sketch/config.h:75:0: note: this is the location of the previous definition
#define I2C_SPEED 100000L //100kHz normal mode, this value must be used for a genuine WMP
^
In file included from sketch/MultiWii.cpp:15:0:
sketch/def.h:1430:0: warning: "SERVO_1_PINMODE" redefined
#define SERVO_1_PINMODE pinMode(44,OUTPUT); // TILT_PITCH
^
sketch/def.h:616:0: note: this is the location of the previous definition
#define SERVO_1_PINMODE pinMode(34,OUTPUT);pinMode(44,OUTPUT); // TILT_PITCH - WING left
^
sketch/def.h:1431:0: warning: "SERVO_1_PIN_HIGH" redefined
#define SERVO_1_PIN_HIGH PORTL |= 1<<5;
^
sketch/def.h:617:0: note: this is the location of the previous definition
#define SERVO_1_PIN_HIGH PORTC |= 1<<3;PORTL |= 1<<5;
^
sketch/def.h:1432:0: warning: "SERVO_1_PIN_LOW" redefined
#define SERVO_1_PIN_LOW PORTL &= ~(1<<5);
^
sketch/def.h:618:0: note: this is the location of the previous definition
#define SERVO_1_PIN_LOW PORTC &= ~(1<<3);PORTL &= ~(1<<5);
^
sketch/def.h:1433:0: warning: "SERVO_2_PINMODE" redefined
#define SERVO_2_PINMODE pinMode(45,OUTPUT); // TILT_ROLL
^
sketch/def.h:619:0: note: this is the location of the previous definition
#define SERVO_2_PINMODE pinMode(35,OUTPUT);pinMode(45,OUTPUT); // TILT_ROLL - WING right
^
sketch/def.h:1434:0: warning: "SERVO_2_PIN_HIGH" redefined
#define SERVO_2_PIN_HIGH PORTL |= 1<<4;
^
sketch/def.h:620:0: note: this is the location of the previous definition
#define SERVO_2_PIN_HIGH PORTC |= 1<<2;PORTL |= 1<<4;
^
sketch/def.h:1435:0: warning: "SERVO_2_PIN_LOW" redefined
#define SERVO_2_PIN_LOW PORTL &= ~(1<<4);
^
sketch/def.h:621:0: note: this is the location of the previous definition
#define SERVO_2_PIN_LOW PORTC &= ~(1<<2);PORTL &= ~(1<<4);
^
sketch/def.h:1436:0: warning: "SERVO_3_PINMODE" redefined
#define SERVO_3_PINMODE pinMode(46,OUTPUT); // CAM TRIG
^
sketch/def.h:622:0: note: this is the location of the previous definition
#define SERVO_3_PINMODE pinMode(33,OUTPUT); pinMode(46,OUTPUT); // CAM TRIG - alt TILT_PITCH
^
sketch/def.h:1437:0: warning: "SERVO_3_PIN_HIGH" redefined
#define SERVO_3_PIN_HIGH PORTL |= 1<<3;
^
sketch/def.h:623:0: note: this is the location of the previous definition
#define SERVO_3_PIN_HIGH PORTC |= 1<<4;PORTL |= 1<<3;
^
sketch/def.h:1438:0: warning: "SERVO_3_PIN_LOW" redefined
#define SERVO_3_PIN_LOW PORTL &= ~(1<<3);
^
sketch/def.h:624:0: note: this is the location of the previous definition
#define SERVO_3_PIN_LOW PORTC &= ~(1<<4);PORTL &= ~(1<<3);
^
In file included from sketch/Protocol.cpp:3:0:
sketch/def.h:1427:0: warning: "I2C_SPEED" redefined
#define I2C_SPEED 400000L //400kHz fast mode
^
In file included from sketch/Protocol.cpp:2:0:
sketch/config.h:75:0: note: this is the location of the previous definition
#define I2C_SPEED 100000L //100kHz normal mode, this value must be used for a genuine WMP
^
In file included from sketch/Protocol.cpp:3:0:
sketch/def.h:1430:0: warning: "SERVO_1_PINMODE" redefined
#define SERVO_1_PINMODE pinMode(44,OUTPUT); // TILT_PITCH
^
sketch/def.h:616:0: note: this is the location of the previous definition
#define SERVO_1_PINMODE pinMode(34,OUTPUT);pinMode(44,OUTPUT); // TILT_PITCH - WING left
^
sketch/def.h:1431:0: warning: "SERVO_1_PIN_HIGH" redefined
#define SERVO_1_PIN_HIGH PORTL |= 1<<5;
^
sketch/def.h:617:0: note: this is the location of the previous definition
#define SERVO_1_PIN_HIGH PORTC |= 1<<3;PORTL |= 1<<5;
^
sketch/def.h:1432:0: warning: "SERVO_1_PIN_LOW" redefined
#define SERVO_1_PIN_LOW PORTL &= ~(1<<5);
^
sketch/def.h:618:0: note: this is the location of the previous definition
#define SERVO_1_PIN_LOW PORTC &= ~(1<<3);PORTL &= ~(1<<5);
^
sketch/def.h:1433:0: warning: "SERVO_2_PINMODE" redefined
#define SERVO_2_PINMODE pinMode(45,OUTPUT); // TILT_ROLL
^
sketch/def.h:619:0: note: this is the location of the previous definition
#define SERVO_2_PINMODE pinMode(35,OUTPUT);pinMode(45,OUTPUT); // TILT_ROLL - WING right
^
sketch/def.h:1434:0: warning: "SERVO_2_PIN_HIGH" redefined
#define SERVO_2_PIN_HIGH PORTL |= 1<<4;
^
sketch/def.h:620:0: note: this is the location of the previous definition
#define SERVO_2_PIN_HIGH PORTC |= 1<<2;PORTL |= 1<<4;
^
sketch/def.h:1435:0: warning: "SERVO_2_PIN_LOW" redefined
#define SERVO_2_PIN_LOW PORTL &= ~(1<<4);
^
sketch/def.h:621:0: note: this is the location of the previous definition
#define SERVO_2_PIN_LOW PORTC &= ~(1<<2);PORTL &= ~(1<<4);
^
sketch/def.h:1436:0: warning: "SERVO_3_PINMODE" redefined
#define SERVO_3_PINMODE pinMode(46,OUTPUT); // CAM TRIG
^
sketch/def.h:622:0: note: this is the location of the previous definition
#define SERVO_3_PINMODE pinMode(33,OUTPUT); pinMode(46,OUTPUT); // CAM TRIG - alt TILT_PITCH
^
sketch/def.h:1437:0: warning: "SERVO_3_PIN_HIGH" redefined
#define SERVO_3_PIN_HIGH PORTL |= 1<<3;
^
sketch/def.h:623:0: note: this is the location of the previous definition
#define SERVO_3_PIN_HIGH PORTC |= 1<<4;PORTL |= 1<<3;
^
sketch/def.h:1438:0: warning: "SERVO_3_PIN_LOW" redefined
#define SERVO_3_PIN_LOW PORTL &= ~(1<<3);
^
sketch/def.h:624:0: note: this is the location of the previous definition
#define SERVO_3_PIN_LOW PORTC &= ~(1<<4);PORTL &= ~(1<<3);
^
In file included from sketch/Alarms.cpp:3:0:
sketch/def.h:1427:0: warning: "I2C_SPEED" redefined
#define I2C_SPEED 400000L //400kHz fast mode
^
In file included from sketch/Alarms.cpp:2:0:
sketch/config.h:75:0: note: this is the location of the previous definition
#define I2C_SPEED 100000L //100kHz normal mode, this value must be used for a genuine WMP
^
In file included from sketch/Alarms.cpp:3:0:
sketch/def.h:1430:0: warning: "SERVO_1_PINMODE" redefined
#define SERVO_1_PINMODE pinMode(44,OUTPUT); // TILT_PITCH
^
sketch/def.h:616:0: note: this is the location of the previous definition
#define SERVO_1_PINMODE pinMode(34,OUTPUT);pinMode(44,OUTPUT); // TILT_PITCH - WING left
^
sketch/def.h:1431:0: warning: "SERVO_1_PIN_HIGH" redefined
#define SERVO_1_PIN_HIGH PORTL |= 1<<5;
^
sketch/def.h:617:0: note: this is the location of the previous definition
#define SERVO_1_PIN_HIGH PORTC |= 1<<3;PORTL |= 1<<5;
^
sketch/def.h:1432:0: warning: "SERVO_1_PIN_LOW" redefined
#define SERVO_1_PIN_LOW PORTL &= ~(1<<5);
^
sketch/def.h:618:0: note: this is the location of the previous definition
#define SERVO_1_PIN_LOW PORTC &= ~(1<<3);PORTL &= ~(1<<5);
^
sketch/def.h:1433:0: warning: "SERVO_2_PINMODE" redefined
#define SERVO_2_PINMODE pinMode(45,OUTPUT); // TILT_ROLL
^
sketch/def.h:619:0: note: this is the location of the previous definition
#define SERVO_2_PINMODE pinMode(35,OUTPUT);pinMode(45,OUTPUT); // TILT_ROLL - WING right
^
sketch/def.h:1434:0: warning: "SERVO_2_PIN_HIGH" redefined
#define SERVO_2_PIN_HIGH PORTL |= 1<<4;
^
sketch/def.h:620:0: note: this is the location of the previous definition
#define SERVO_2_PIN_HIGH PORTC |= 1<<2;PORTL |= 1<<4;
^
sketch/def.h:1435:0: warning: "SERVO_2_PIN_LOW" redefined
#define SERVO_2_PIN_LOW PORTL &= ~(1<<4);
^
sketch/def.h:621:0: note: this is the location of the previous definition
#define SERVO_2_PIN_LOW PORTC &= ~(1<<2);PORTL &= ~(1<<4);
^
sketch/def.h:1436:0: warning: "SERVO_3_PINMODE" redefined
#define SERVO_3_PINMODE pinMode(46,OUTPUT); // CAM TRIG
^
sketch/def.h:622:0: note: this is the location of the previous definition
#define SERVO_3_PINMODE pinMode(33,OUTPUT); pinMode(46,OUTPUT); // CAM TRIG - alt TILT_PITCH
^
sketch/def.h:1437:0: warning: "SERVO_3_PIN_HIGH" redefined
#define SERVO_3_PIN_HIGH PORTL |= 1<<3;
^
sketch/def.h:623:0: note: this is the location of the previous definition
#define SERVO_3_PIN_HIGH PORTC |= 1<<4;PORTL |= 1<<3;
^
sketch/def.h:1438:0: warning: "SERVO_3_PIN_LOW" redefined
#define SERVO_3_PIN_LOW PORTL &= ~(1<<3);
^
sketch/def.h:624:0: note: this is the location of the previous definition
#define SERVO_3_PIN_LOW PORTC &= ~(1<<4);PORTL &= ~(1<<3);
^
In file included from sketch/Serial.cpp:3:0:
sketch/def.h:1427:0: warning: "I2C_SPEED" redefined
#define I2C_SPEED 400000L //400kHz fast mode
^
In file included from sketch/Serial.cpp:2:0:
sketch/config.h:75:0: note: this is the location of the previous definition
#define I2C_SPEED 100000L //100kHz normal mode, this value must be used for a genuine WMP
^
In file included from sketch/Serial.cpp:3:0:
sketch/def.h:1430:0: warning: "SERVO_1_PINMODE" redefined
#define SERVO_1_PINMODE pinMode(44,OUTPUT); // TILT_PITCH
^
sketch/def.h:616:0: note: this is the location of the previous definition
#define SERVO_1_PINMODE pinMode(34,OUTPUT);pinMode(44,OUTPUT); // TILT_PITCH - WING left
^
sketch/def.h:1431:0: warning: "SERVO_1_PIN_HIGH" redefined
#define SERVO_1_PIN_HIGH PORTL |= 1<<5;
^
sketch/def.h:617:0: note: this is the location of the previous definition
#define SERVO_1_PIN_HIGH PORTC |= 1<<3;PORTL |= 1<<5;
^
sketch/def.h:1432:0: warning: "SERVO_1_PIN_LOW" redefined
#define SERVO_1_PIN_LOW PORTL &= ~(1<<5);
^
sketch/def.h:618:0: note: this is the location of the previous definition
#define SERVO_1_PIN_LOW PORTC &= ~(1<<3);PORTL &= ~(1<<5);
^
sketch/def.h:1433:0: warning: "SERVO_2_PINMODE" redefined
#define SERVO_2_PINMODE pinMode(45,OUTPUT); // TILT_ROLL
^
sketch/def.h:619:0: note: this is the location of the previous definition
#define SERVO_2_PINMODE pinMode(35,OUTPUT);pinMode(45,OUTPUT); // TILT_ROLL - WING right
^
sketch/def.h:1434:0: warning: "SERVO_2_PIN_HIGH" redefined
#define SERVO_2_PIN_HIGH PORTL |= 1<<4;
^
sketch/def.h:620:0: note: this is the location of the previous definition
#define SERVO_2_PIN_HIGH PORTC |= 1<<2;PORTL |= 1<<4;
^
In file included from sketch/Output.cpp:3:0:
sketch/def.h:1427:0: warning: "I2C_SPEED" redefined
#define I2C_SPEED 400000L //400kHz fast mode
^
sketch/def.h:1435:0: warning: "SERVO_2_PIN_LOW" redefined
#define SERVO_2_PIN_LOW PORTL &= ~(1<<4);
^
sketch/def.h:621:0: note: this is the location of the previous definition
#define SERVO_2_PIN_LOW PORTC &= ~(1<<2);PORTL &= ~(1<<4);
^
In file included from sketch/Output.cpp:2:0:
sketch/config.h:75:0: note: this is the location of the previous definition
#define I2C_SPEED 100000L //100kHz normal mode, this value must be used for a genuine WMP
^
In file included from sketch/Output.cpp:3:0:
sketch/def.h:1430:0: warning: "SERVO_1_PINMODE" redefined
#define SERVO_1_PINMODE pinMode(44,OUTPUT); // TILT_PITCH
^
sketch/def.h:616:0: note: this is the location of the previous definition
#define SERVO_1_PINMODE pinMode(34,OUTPUT);pinMode(44,OUTPUT); // TILT_PITCH - WING left
^
sketch/def.h:1431:0: warning: "SERVO_1_PIN_HIGH" redefined
#define SERVO_1_PIN_HIGH PORTL |= 1<<5;
^
sketch/def.h:617:0: note: this is the location of the previous definition
#define SERVO_1_PIN_HIGH PORTC |= 1<<3;PORTL |= 1<<5;
^
sketch/def.h:1432:0: warning: "SERVO_1_PIN_LOW" redefined
#define SERVO_1_PIN_LOW PORTL &= ~(1<<5);
^
sketch/def.h:618:0: note: this is the location of the previous definition
#define SERVO_1_PIN_LOW PORTC &= ~(1<<3);PORTL &= ~(1<<5);
^
sketch/def.h:1433:0: warning: "SERVO_2_PINMODE" redefined
#define SERVO_2_PINMODE pinMode(45,OUTPUT); // TILT_ROLL
^
sketch/def.h:619:0: note: this is the location of the previous definition
#define SERVO_2_PINMODE pinMode(35,OUTPUT);pinMode(45,OUTPUT); // TILT_ROLL - WING right
^
sketch/def.h:1434:0: warning: "SERVO_2_PIN_HIGH" redefined
#define SERVO_2_PIN_HIGH PORTL |= 1<<4;
^
sketch/def.h:620:0: note: this is the location of the previous definition
#define SERVO_2_PIN_HIGH PORTC |= 1<<2;PORTL |= 1<<4;
^
sketch/def.h:1435:0: warning: "SERVO_2_PIN_LOW" redefined
#define SERVO_2_PIN_LOW PORTL &= ~(1<<4);
^
sketch/def.h:621:0: note: this is the location of the previous definition
#define SERVO_2_PIN_LOW PORTC &= ~(1<<2);PORTL &= ~(1<<4);
^
sketch/def.h:1436:0: warning: "SERVO_3_PINMODE" redefined
#define SERVO_3_PINMODE pinMode(46,OUTPUT); // CAM TRIG
^
sketch/def.h:622:0: note: this is the location of the previous definition
#define SERVO_3_PINMODE pinMode(33,OUTPUT); pinMode(46,OUTPUT); // CAM TRIG - alt TILT_PITCH
^
sketch/def.h:1437:0: warning: "SERVO_3_PIN_HIGH" redefined
#define SERVO_3_PIN_HIGH PORTL |= 1<<3;
^
sketch/def.h:623:0: note: this is the location of the previous definition
#define SERVO_3_PIN_HIGH PORTC |= 1<<4;PORTL |= 1<<3;
^
sketch/def.h:1438:0: warning: "SERVO_3_PIN_LOW" redefined
#define SERVO_3_PIN_LOW PORTL &= ~(1<<3);
^
sketch/def.h:624:0: note: this is the location of the previous definition
#define SERVO_3_PIN_LOW PORTC &= ~(1<<4);PORTL &= ~(1<<3);
^
In file included from sketch/GPS.cpp:3:0:
sketch/def.h:1427:0: warning: "I2C_SPEED" redefined
#define I2C_SPEED 400000L //400kHz fast mode
^
In file included from sketch/GPS.cpp:2:0:
sketch/config.h:75:0: note: this is the location of the previous definition
#define I2C_SPEED 100000L //100kHz normal mode, this value must be used for a genuine WMP
^
In file included from sketch/GPS.cpp:3:0:
sketch/def.h:1430:0: warning: "SERVO_1_PINMODE" redefined
#define SERVO_1_PINMODE pinMode(44,OUTPUT); // TILT_PITCH
^
sketch/def.h:616:0: note: this is the location of the previous definition
#define SERVO_1_PINMODE pinMode(34,OUTPUT);pinMode(44,OUTPUT); // TILT_PITCH - WING left
^
sketch/def.h:1431:0: warning: "SERVO_1_PIN_HIGH" redefined
#define SERVO_1_PIN_HIGH PORTL |= 1<<5;
^
sketch/def.h:617:0: note: this is the location of the previous definition
#define SERVO_1_PIN_HIGH PORTC |= 1<<3;PORTL |= 1<<5;
^
sketch/def.h:1432:0: warning: "SERVO_1_PIN_LOW" redefined
#define SERVO_1_PIN_LOW PORTL &= ~(1<<5);
^
sketch/def.h:618:0: note: this is the location of the previous definition
#define SERVO_1_PIN_LOW PORTC &= ~(1<<3);PORTL &= ~(1<<5);
^
sketch/def.h:1436:0: warning: "SERVO_3_PINMODE" redefined
#define SERVO_3_PINMODE pinMode(46,OUTPUT); // CAM TRIG
^
sketch/def.h:622:0: note: this is the location of the previous definition
#define SERVO_3_PINMODE pinMode(33,OUTPUT); pinMode(46,OUTPUT); // CAM TRIG - alt TILT_PITCH
^
sketch/def.h:1437:0: warning: "SERVO_3_PIN_HIGH" redefined
#define SERVO_3_PIN_HIGH PORTL |= 1<<3;
^
sketch/def.h:623:0: note: this is the location of the previous definition
#define SERVO_3_PIN_HIGH PORTC |= 1<<4;PORTL |= 1<<3;
^
sketch/def.h:1438:0: warning: "SERVO_3_PIN_LOW" redefined
#define SERVO_3_PIN_LOW PORTL &= ~(1<<3);
^
sketch/def.h:624:0: note: this is the location of the previous definition
#define SERVO_3_PIN_LOW PORTC &= ~(1<<4);PORTL &= ~(1<<3);
^
sketch/def.h:1433:0: warning: "SERVO_2_PINMODE" redefined
#define SERVO_2_PINMODE pinMode(45,OUTPUT); // TILT_ROLL
^
sketch/def.h:619:0: note: this is the location of the previous definition
#define SERVO_2_PINMODE pinMode(35,OUTPUT);pinMode(45,OUTPUT); // TILT_ROLL - WING right
^
sketch/def.h:1434:0: warning: "SERVO_2_PIN_HIGH" redefined
#define SERVO_2_PIN_HIGH PORTL |= 1<<4;
^
sketch/def.h:620:0: note: this is the location of the previous definition
#define SERVO_2_PIN_HIGH PORTC |= 1<<2;PORTL |= 1<<4;
^
sketch/def.h:1435:0: warning: "SERVO_2_PIN_LOW" redefined
#define SERVO_2_PIN_LOW PORTL &= ~(1<<4);
^
sketch/def.h:621:0: note: this is the location of the previous definition
#define SERVO_2_PIN_LOW PORTC &= ~(1<<2);PORTL &= ~(1<<4);
^
sketch/def.h:1436:0: warning: "SERVO_3_PINMODE" redefined
#define SERVO_3_PINMODE pinMode(46,OUTPUT); // CAM TRIG
^
sketch/def.h:622:0: note: this is the location of the previous definition
#define SERVO_3_PINMODE pinMode(33,OUTPUT); pinMode(46,OUTPUT); // CAM TRIG - alt TILT_PITCH
^
sketch/def.h:1437:0: warning: "SERVO_3_PIN_HIGH" redefined
#define SERVO_3_PIN_HIGH PORTL |= 1<<3;
^
sketch/def.h:623:0: note: this is the location of the previous definition
#define SERVO_3_PIN_HIGH PORTC |= 1<<4;PORTL |= 1<<3;
^
sketch/def.h:1438:0: warning: "SERVO_3_PIN_LOW" redefined
#define SERVO_3_PIN_LOW PORTL &= ~(1<<3);
^
sketch/def.h:624:0: note: this is the location of the previous definition
#define SERVO_3_PIN_LOW PORTC &= ~(1<<4);PORTL &= ~(1<<3);
^
In file included from sketch/EEPROM.cpp:4:0:
sketch/def.h:1427:0: warning: "I2C_SPEED" redefined
#define I2C_SPEED 400000L //400kHz fast mode
^
In file included from sketch/EEPROM.cpp:3:0:
sketch/config.h:75:0: note: this is the location of the previous definition
#define I2C_SPEED 100000L //100kHz normal mode, this value must be used for a genuine WMP
^
In file included from sketch/EEPROM.cpp:4:0:
sketch/def.h:1430:0: warning: "SERVO_1_PINMODE" redefined
#define SERVO_1_PINMODE pinMode(44,OUTPUT); // TILT_PITCH
^
sketch/def.h:616:0: note: this is the location of the previous definition
#define SERVO_1_PINMODE pinMode(34,OUTPUT);pinMode(44,OUTPUT); // TILT_PITCH - WING left
^
sketch/def.h:1431:0: warning: "SERVO_1_PIN_HIGH" redefined
#define SERVO_1_PIN_HIGH PORTL |= 1<<5;
^
sketch/def.h:617:0: note: this is the location of the previous definition
#define SERVO_1_PIN_HIGH PORTC |= 1<<3;PORTL |= 1<<5;
^
sketch/def.h:1432:0: warning: "SERVO_1_PIN_LOW" redefined
#define SERVO_1_PIN_LOW PORTL &= ~(1<<5);
^
sketch/def.h:618:0: note: this is the location of the previous definition
#define SERVO_1_PIN_LOW PORTC &= ~(1<<3);PORTL &= ~(1<<5);
^
In file included from sketch/Sensors.cpp:3:0:
sketch/def.h:1427:0: warning: "I2C_SPEED" redefined
#define I2C_SPEED 400000L //400kHz fast mode
^
In file included from sketch/Sensors.cpp:2:0:
sketch/config.h:75:0: note: this is the location of the previous definition
#define I2C_SPEED 100000L //100kHz normal mode, this value must be used for a genuine WMP
^
In file included from sketch/Sensors.cpp:3:0:
sketch/def.h:1430:0: warning: "SERVO_1_PINMODE" redefined
#define SERVO_1_PINMODE pinMode(44,OUTPUT); // TILT_PITCH
^
sketch/def.h:616:0: note: this is the location of the previous definition
#define SERVO_1_PINMODE pinMode(34,OUTPUT);pinMode(44,OUTPUT); // TILT_PITCH - WING left
^
sketch/def.h:1431:0: warning: "SERVO_1_PIN_HIGH" redefined
#define SERVO_1_PIN_HIGH PORTL |= 1<<5;
^
sketch/def.h:617:0: note: this is the location of the previous definition
#define SERVO_1_PIN_HIGH PORTC |= 1<<3;PORTL |= 1<<5;
^
sketch/def.h:1432:0: warning: "SERVO_1_PIN_LOW" redefined
#define SERVO_1_PIN_LOW PORTL &= ~(1<<5);
^
sketch/def.h:618:0: note: this is the location of the previous definition
#define SERVO_1_PIN_LOW PORTC &= ~(1<<3);PORTL &= ~(1<<5);
^
sketch/def.h:1433:0: warning: "SERVO_2_PINMODE" redefined
#define SERVO_2_PINMODE pinMode(45,OUTPUT); // TILT_ROLL
^
sketch/def.h:619:0: note: this is the location of the previous definition
#define SERVO_2_PINMODE pinMode(35,OUTPUT);pinMode(45,OUTPUT); // TILT_ROLL - WING right
^
sketch/def.h:1434:0: warning: "SERVO_2_PIN_HIGH" redefined
#define SERVO_2_PIN_HIGH PORTL |= 1<<4;
^
sketch/def.h:620:0: note: this is the location of the previous definition
#define SERVO_2_PIN_HIGH PORTC |= 1<<2;PORTL |= 1<<4;
^
sketch/def.h:1435:0: warning: "SERVO_2_PIN_LOW" redefined
#define SERVO_2_PIN_LOW PORTL &= ~(1<<4);
^
sketch/def.h:621:0: note: this is the location of the previous definition
#define SERVO_2_PIN_LOW PORTC &= ~(1<<2);PORTL &= ~(1<<4);
^
sketch/def.h:1436:0: warning: "SERVO_3_PINMODE" redefined
#define SERVO_3_PINMODE pinMode(46,OUTPUT); // CAM TRIG
^
sketch/def.h:622:0: note: this is the location of the previous definition
#define SERVO_3_PINMODE pinMode(33,OUTPUT); pinMode(46,OUTPUT); // CAM TRIG - alt TILT_PITCH
^
sketch/def.h:1437:0: warning: "SERVO_3_PIN_HIGH" redefined
#define SERVO_3_PIN_HIGH PORTL |= 1<<3;
^
sketch/def.h:623:0: note: this is the location of the previous definition
#define SERVO_3_PIN_HIGH PORTC |= 1<<4;PORTL |= 1<<3;
^
sketch/def.h:1438:0: warning: "SERVO_3_PIN_LOW" redefined
#define SERVO_3_PIN_LOW PORTL &= ~(1<<3);
^
sketch/def.h:624:0: note: this is the location of the previous definition
#define SERVO_3_PIN_LOW PORTC &= ~(1<<4);PORTL &= ~(1<<3);
^
In file included from sketch/LCD.cpp:3:0:
sketch/def.h:1427:0: warning: "I2C_SPEED" redefined
#define I2C_SPEED 400000L //400kHz fast mode
^
In file included from sketch/LCD.cpp:2:0:
sketch/config.h:75:0: note: this is the location of the previous definition
#define I2C_SPEED 100000L //100kHz normal mode, this value must be used for a genuine WMP
^
In file included from sketch/LCD.cpp:3:0:
sketch/def.h:1430:0: warning: "SERVO_1_PINMODE" redefined
#define SERVO_1_PINMODE pinMode(44,OUTPUT); // TILT_PITCH
^
sketch/def.h:616:0: note: this is the location of the previous definition
#define SERVO_1_PINMODE pinMode(34,OUTPUT);pinMode(44,OUTPUT); // TILT_PITCH - WING left
^
sketch/def.h:1431:0: warning: "SERVO_1_PIN_HIGH" redefined
#define SERVO_1_PIN_HIGH PORTL |= 1<<5;
^
sketch/def.h:617:0: note: this is the location of the previous definition
#define SERVO_1_PIN_HIGH PORTC |= 1<<3;PORTL |= 1<<5;
^
sketch/def.h:1432:0: warning: "SERVO_1_PIN_LOW" redefined
#define SERVO_1_PIN_LOW PORTL &= ~(1<<5);
^
sketch/def.h:618:0: note: this is the location of the previous definition
#define SERVO_1_PIN_LOW PORTC &= ~(1<<3);PORTL &= ~(1<<5);
^
sketch/def.h:1433:0: warning: "SERVO_2_PINMODE" redefined
#define SERVO_2_PINMODE pinMode(45,OUTPUT); // TILT_ROLL
^
sketch/def.h:619:0: note: this is the location of the previous definition
#define SERVO_2_PINMODE pinMode(35,OUTPUT);pinMode(45,OUTPUT); // TILT_ROLL - WING right
^
sketch/def.h:1434:0: warning: "SERVO_2_PIN_HIGH" redefined
#define SERVO_2_PIN_HIGH PORTL |= 1<<4;
^
sketch/def.h:620:0: note: this is the location of the previous definition
#define SERVO_2_PIN_HIGH PORTC |= 1<<2;PORTL |= 1<<4;
^
sketch/def.h:1435:0: warning: "SERVO_2_PIN_LOW" redefined
#define SERVO_2_PIN_LOW PORTL &= ~(1<<4);
^
sketch/def.h:621:0: note: this is the location of the previous definition
#define SERVO_2_PIN_LOW PORTC &= ~(1<<2);PORTL &= ~(1<<4);
^
sketch/def.h:1436:0: warning: "SERVO_3_PINMODE" redefined
#define SERVO_3_PINMODE pinMode(46,OUTPUT); // CAM TRIG
^
sketch/def.h:622:0: note: this is the location of the previous definition
#define SERVO_3_PINMODE pinMode(33,OUTPUT); pinMode(46,OUTPUT); // CAM TRIG - alt TILT_PITCH
^
sketch/def.h:1437:0: warning: "SERVO_3_PIN_HIGH" redefined
#define SERVO_3_PIN_HIGH PORTL |= 1<<3;
^
sketch/def.h:623:0: note: this is the location of the previous definition
#define SERVO_3_PIN_HIGH PORTC |= 1<<4;PORTL |= 1<<3;
^
sketch/def.h:1438:0: warning: "SERVO_3_PIN_LOW" redefined
#define SERVO_3_PIN_LOW PORTL &= ~(1<<3);
^
sketch/def.h:624:0: note: this is the location of the previous definition
#define SERVO_3_PIN_LOW PORTC &= ~(1<<4);PORTL &= ~(1<<3);
^
sketch/def.h:1433:0: warning: "SERVO_2_PINMODE" redefined
#define SERVO_2_PINMODE pinMode(45,OUTPUT); // TILT_ROLL
^
sketch/def.h:619:0: note: this is the location of the previous definition
#define SERVO_2_PINMODE pinMode(35,OUTPUT);pinMode(45,OUTPUT); // TILT_ROLL - WING right
^
sketch/def.h:1434:0: warning: "SERVO_2_PIN_HIGH" redefined
#define SERVO_2_PIN_HIGH PORTL |= 1<<4;
^
sketch/def.h:620:0: note: this is the location of the previous definition
#define SERVO_2_PIN_HIGH PORTC |= 1<<2;PORTL |= 1<<4;
^
sketch/def.h:1435:0: warning: "SERVO_2_PIN_LOW" redefined
#define SERVO_2_PIN_LOW PORTL &= ~(1<<4);
^
sketch/def.h:621:0: note: this is the location of the previous definition
#define SERVO_2_PIN_LOW PORTC &= ~(1<<2);PORTL &= ~(1<<4);
^
sketch/def.h:1436:0: warning: "SERVO_3_PINMODE" redefined
#define SERVO_3_PINMODE pinMode(46,OUTPUT); // CAM TRIG
^
sketch/def.h:622:0: note: this is the location of the previous definition
#define SERVO_3_PINMODE pinMode(33,OUTPUT); pinMode(46,OUTPUT); // CAM TRIG - alt TILT_PITCH
^
sketch/def.h:1437:0: warning: "SERVO_3_PIN_HIGH" redefined
#define SERVO_3_PIN_HIGH PORTL |= 1<<3;
^
sketch/def.h:623:0: note: this is the location of the previous definition
#define SERVO_3_PIN_HIGH PORTC |= 1<<4;PORTL |= 1<<3;
^
sketch/def.h:1438:0: warning: "SERVO_3_PIN_LOW" redefined
#define SERVO_3_PIN_LOW PORTL &= ~(1<<3);
^
sketch/def.h:624:0: note: this is the location of the previous definition
#define SERVO_3_PIN_LOW PORTC &= ~(1<<4);PORTL &= ~(1<<3);
^
In file included from sketch/RX.cpp:3:0:
sketch/def.h:1427:0: warning: "I2C_SPEED" redefined
#define I2C_SPEED 400000L //400kHz fast mode
^
In file included from sketch/RX.cpp:2:0:
sketch/config.h:75:0: note: this is the location of the previous definition
#define I2C_SPEED 100000L //100kHz normal mode, this value must be used for a genuine WMP
^
In file included from sketch/RX.cpp:3:0:
sketch/def.h:1430:0: warning: "SERVO_1_PINMODE" redefined
#define SERVO_1_PINMODE pinMode(44,OUTPUT); // TILT_PITCH
^
sketch/def.h:616:0: note: this is the location of the previous definition
#define SERVO_1_PINMODE pinMode(34,OUTPUT);pinMode(44,OUTPUT); // TILT_PITCH - WING left
^
sketch/def.h:1431:0: warning: "SERVO_1_PIN_HIGH" redefined
#define SERVO_1_PIN_HIGH PORTL |= 1<<5;
^
sketch/def.h:617:0: note: this is the location of the previous definition
#define SERVO_1_PIN_HIGH PORTC |= 1<<3;PORTL |= 1<<5;
^
sketch/def.h:1432:0: warning: "SERVO_1_PIN_LOW" redefined
#define SERVO_1_PIN_LOW PORTL &= ~(1<<5);
^
sketch/def.h:618:0: note: this is the location of the previous definition
#define SERVO_1_PIN_LOW PORTC &= ~(1<<3);PORTL &= ~(1<<5);
^
sketch/def.h:1433:0: warning: "SERVO_2_PINMODE" redefined
#define SERVO_2_PINMODE pinMode(45,OUTPUT); // TILT_ROLL
^
sketch/def.h:619:0: note: this is the location of the previous definition
#define SERVO_2_PINMODE pinMode(35,OUTPUT);pinMode(45,OUTPUT); // TILT_ROLL - WING right
^
sketch/def.h:1434:0: warning: "SERVO_2_PIN_HIGH" redefined
#define SERVO_2_PIN_HIGH PORTL |= 1<<4;
^
sketch/def.h:620:0: note: this is the location of the previous definition
#define SERVO_2_PIN_HIGH PORTC |= 1<<2;PORTL |= 1<<4;
^
sketch/def.h:1435:0: warning: "SERVO_2_PIN_LOW" redefined
#define SERVO_2_PIN_LOW PORTL &= ~(1<<4);
^
sketch/def.h:621:0: note: this is the location of the previous definition
#define SERVO_2_PIN_LOW PORTC &= ~(1<<2);PORTL &= ~(1<<4);
^
sketch/def.h:1436:0: warning: "SERVO_3_PINMODE" redefined
#define SERVO_3_PINMODE pinMode(46,OUTPUT); // CAM TRIG
^
sketch/def.h:622:0: note: this is the location of the previous definition
#define SERVO_3_PINMODE pinMode(33,OUTPUT); pinMode(46,OUTPUT); // CAM TRIG - alt TILT_PITCH
^
sketch/def.h:1437:0: warning: "SERVO_3_PIN_HIGH" redefined
#define SERVO_3_PIN_HIGH PORTL |= 1<<3;
^
sketch/def.h:623:0: note: this is the location of the previous definition
#define SERVO_3_PIN_HIGH PORTC |= 1<<4;PORTL |= 1<<3;
^
sketch/def.h:1438:0: warning: "SERVO_3_PIN_LOW" redefined
#define SERVO_3_PIN_LOW PORTL &= ~(1<<3);
^
sketch/def.h:624:0: note: this is the location of the previous definition
#define SERVO_3_PIN_LOW PORTC &= ~(1<<4);PORTL &= ~(1<<3);
^
Sketch uses 17362 bytes (6%) of program storage space. Maximum is 253952 bytes.
Global variables use 2620 bytes (31%) of dynamic memory, leaving 5572 bytes for local variables. Maximum is 8192 bytes.
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
An error occurred while uploading the sketch

Подробнее
  alexey
This comment was minimized by the moderator on the site

Скорее всего проблема с драйвером
Воспользуйтесь данным советом

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

Драйвер CH341 для Windows можно скачать по через поиск...

Скорее всего проблема с драйвером
Воспользуйтесь данным советом

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

Драйвер CH341 для Windows можно скачать по через поиск google https://www.google.ru/search?newwindow=1&;safe=off&hl=ru&q=ch341+driver&cad=h.

Подробнее
  Super User
There are no comments posted here yet

Оставьте свой комментарий

  1. Posting comment as a guest. Sign up or login to your account.
Вложения (0 / 3)
Share Your Location

О нас

Основой деятельностью портала является показ и объяснение что представляет собой выражени "Робот", "Робототехника", "Законы робототехники", "Мехатроника", "Искусственный интеллект(ИИ)". 

 Если у Вас есть интересная информация по тематике сайта и Вы готовы ей поделиться, - обращайтесь на емайл через форму обратной связи. И мы опубликуем Вашу статью