Skip to content

Latest commit

 

History

132 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SuperDroneRacingHandler

Program for ontrolling objects on Drone Racing map.

Flying drones interact with some types of objects during the race. It is cool when this objects not just static but changing their colors. So this program helps to manage colors of elements of this kind of maps.

As you see, there is different colors of map objects:

Table of contents

Pre-requisites

Software pre-requisites

  1. NodeJS version 8.5.0
  2. Arduino IDE version 1.8.5
  3. Arduino core for ESP8266
  4. ESPAsyncWebServer and ESPAsyncTCP libraries

Hardware pre-requisites

  1. ESP8266 Arduino
  2. RGB LED Strip Light

My setup for tests

In clockwise direction:
  1. Battery (10-15V) and tool for voltage check; it shows 10.9V.
  2. XL4015 DC-DC Voltage transformer from 4-38V to 12V (in DIY frame).
  3. Arduino ESP8266 (in DIY frame).
  4. RGB LED Strip Light.

Getting started

  • Clone the repository:
git clone https://github.com/savukhin/SuperDroneRacingHandler.git
  • Install application dependencies:
cd SuperDroneRacingHandler/Application
npm install
  • Build and run the project:
npm start

Test start without Arduino ESP8266

  • If you want some testing data, just uncomment 57 line in SuperDroneRacingHandler/Application/js/websockets.js:
Websockets.onLoad = function (event) {
    Websockets.testAdd();
}

Start with Arduino ESP8266

  • Install depencencies for Arduino (follow the description in links above).
  • Change ssid and password section Arduino/GateWebsocket/global_variables.h (23-24 lines):
const char* ssid = "Your_wifi_ssid";
const char* password = "Your_wifi_password";
  • Chose one of gate type in Arduino/GateWebsocket/Gatewebsocket.ino (18-22 lines), just uncomment what you need:
FacilityType facilityType = FacilityType::RECEIVER;
//FacilityType facilityType = FacilityType::FLAG;
//FacilityType facilityType = FacilityType::MAT;
//FacilityType facilityType = FacilityType::GATE;
//FacilityType facilityType = FacilityType::MARKER;

Interface

  1. Navbar (Top panel):

    • Refresh button. When you run application you need to link program with all arduinos connected to the internet.
    • Sellect all. Select all elements on map
  2. Map (Left-upper panel):

    • Program adds new elements here.
    • User can select element by right click.
    • User can reorder elements by drag and drop.
    • User can select several elements by holding mouse button (select box).
    • User can select several elements by holding shift button (including right click and selecting by box).
  3. Table (Left-bottom panel):

    • Program adds new elements here.
    • User can select group of elements by clicking button on the top of group.
    • User can expand full deck by mouse over on group.
    • User can select element by clicking on the card.
    • User can select several elements by holding. shift button (can be combined with map selection)
  4. Actions (Right panel):

    • Program shows chosen elements in the top square.
    • User can chose new color by clicking color pick.
    • Top Send button. Send new color.
    • Blink button. Send usual blink (2 blinks 0.25 second each).
    • Duration of one. Duration of each blink
    • Count. Count of blinks.
    • Flag. Put if you want endless blinking.
    • Bottom Send button. Send blinking animation with parameters.
    • Stop button. Stop animation.

Element description

  1. Gate - Drone must fly through the gate

2) Flag - Drone must fly around the flag

3) Marker - Drone must fly above the marker

4) Receiver - Drone must take up load (tennis ball, for example) and throw off this to the top of receiver

5) Mat - Just decoration

Working example

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages