Autopilot Drone

Intro:
An Arduino Uno autopilot drone with multiple sensors and a wireless camera controlled by two microcontrollers.

Components and Supply:

Arduino Uno
https://aryabot.in/arduino-uno-smd-version/

DHT11 Temperature & Humidity Sensor
https://aryabot.in/dht11-temperature-and-humidity-sensor-module-with-led/

Bluetooth Low Energy (BLE) Module
https://aryabot.in/hm-bt4502-bluetooth-low-energy-ble-pass-through-module

OpenPilot CC3D EVO Flight Controller
https://aryabot.in/openpilot-cc3d-evo-flight-controller-with-side-pins

Drone Frames, ESC, Battery 11.1V, Brushless DC Motor
https://aryabot.in/f450-q450-quadcopter-framepcb-version-with-integrated-pcb-plastic-landing-gear-combo-kit-made-in-india/

Project Description

In this project, I have designed an Arduino Uno-based autopilot drone that integrates multiple sensors and a wireless camera for data collection and 2D video information from a specific area. Unlike traditional drones controlled via RF remotes or GPS modules, this drone operates autonomously using an Arduino Uno as its central controller.

Objective

The primary goal of this project is to enable the drone to collect data, including video and sensor information (such as temperature and humidity), from a predefined area. To achieve this, values for length and width, which define the drone’s travel range, are programmed into the Arduino Uno.

System Overview

  • Arduino Uno acts as the main controller of the system, generating PWM signals for controlling the drone’s flight and communication with the flight controller.
  • OpenPilot CC3D microcontroller is used as the flight controller, providing built-in sensors such as gyroscope and accelerometer for stability and auto-leveling.
  • Wireless Camera captures live data, which is processed and sent back to a mobile device via Bluetooth.
  • Bluetooth Low Energy (BLE) Module facilitates wireless communication, allowing users to turn the drone on/off and monitor live data through an Android application.

PWM Signal Generation

PWM signals generated by the Arduino Uno are crucial for controlling the Brushless DC (BLDC) motors. These signals are sent to the CC3D flight controller, which translates them into motor movements.

Drone Design and Motor Control

For the design of quad drones, there are two configurations based on flight controller orientation:

  • CW (Clockwise): Direct connection of wires.
  • CCW (Counter Clockwise): Interchanging two wires to reverse motor direction.

interface of Bluetooth module

arduino
this program will show simple led on and off operation using Arduino Uno and Bluetooth

<pre><code>
/* simple program to control a LED on pin 13 of arduino using a bluetooth   module
*/
char data = 0;            //Variable for storing received data
void   setup()
{
    Serial.begin(9600);   //Sets the baud for serial data transmission                                
    pinMode(13, OUTPUT);  //Sets digital pin   13 as output pin
}
void loop()
{
   if(Serial.available() > 0)      //   Send data only when you receive data:
   {
      data = Serial.read();        //Read   the incoming data & store into data
      Serial.print(data);          //Print   Value inside data in Serial monitor
      Serial.print("\
");        
       if(data == '1')           
         digitalWrite(13, HIGH);   //If value   is 1 then LED turns ON
      else if(data == '0')         
         digitalWrite(13,   LOW);    //If value is 0 then LED turns OFF
   }
}
<pre><code>

using this program we can display humidity and temperature in the Serial Monitor
interface of Sensors DHT11
arduino

<pre><code>
#include<Servo.h>
#include <dht.h>
dht DHT;
#define DHT11_PIN
  10
String voice;
void setup() 
{
Serial.begin(9600); 
}
void loop()
  
{
int chk =DHT.read11(DHT11_PIN);
Serial.print("Temperature = ");
Serial.println(DHT.temperature);
Serial.print("Humidity
  =");
Serial.println(DHT.humidity);
delay(1000);
}
<pre><code>

Leave a Reply