Picture of Quadcopter data visualization with Plotly

Modern quadcopters can be used for various purposes other than entertainment and model aircrafts, such as applications for surveillance or assistance in some inaccessible places for humans as well as the monitoring of adverse situations. Therefore, these devices are equipped with a number of sensors to collect determined information. Many of these applications require the display of real time information, so a wireless communication system between the quadcopter and the final user is necessary. The final user may not be the driver of the device, he can be located in a base station or in a laboratory far from the flying area, so internet is the best and easiest way to communicate two distant points. We need to get the data of the quadcopter and transfer it to the final user easily and quickly.

Plotly offers this service for free, it provides tools for information management and also the ability to export or import data.

The purpose of this tutorial is to explain how to establish communication between these devices in order to collect and display information.

Remove these adsRemove these ads by Signing Up

Step 1: Materials

Picture of Materials

This project is part of a larger project involving the creation of a quadcopter. In this part of the project we want to collect the information of the sensor system that will be sent to the final user. The main controller of the quadcopter is based on an Arduino single-board microcontroller and the best way to send data via Internet is a WiFi shield. In this example, due to the lack of a WiFi shield, we opted for an Ethernet shield, although the code with both shields is not much different and can be easily adapted to a WiFi shield.

The materials used in this example are:

  • Arduino UNO (you can use any Arduino)
  • WIFI shield, or in our case an Ethernet shield, to connect with the Plotly web service. Additionally, these boards often incorporate a system to use a SD storage card, which allows us
  • Shield WIFI, or, in our case Ethernet shield, to connect with the Plotly web service; in addition, these boards often incorporate a system to use SD card storage, which allows us to store sensor data when we have no access to a WiFi or Ethernet network.
  • Sensors. Any sensor we want to obtain information either with direct connection to the arduino or with an intermediate conditioning. In our case we use the GY-80 IMU, affordable and with good results.

  • In the case you use an Ethernet shield you will need an Ethernet wire.

  • At least, you need power the Arduino, with batteries or USB wire.

zkhan231 month ago

I want to control the altitude of my quadcopter. This might be the extension of your tutorial. Can you help me with this?

pinuct (author)  zkhan2311 days ago

You can use the temperature sensor and the barometer to measure the altitud, but is a relative measure and can be wrong:

If you want a precise altitude control near the ground lvl (form 0m to 5-10m) you can use distance sensors, like ir or ultrasonic ranging sensors. It's more complicated, and you have to compensate the inclination of the quadcopter to the range measure in order to obtain the real altitude, but it have better results.