Skip to main content

DIY Raspberry pi drone

 


Hey,

In today's blog we are going to make a drone using raspberry pi.


STUFF YOU NEED :

Drone frame

Brushless motor×4

ESC × 4

Propeller × 4 

Battery

Raspberry pi 2

Battery monitor

Multiwii

Pi camera

Wi fi key

USB key


SCHEMATIC:


Raspberry pi with flight controller

For install the two component at the same place we build a support who came on the top of the raspberry to place the multiwii (see picture).

  1. Install the raspberry with his support
  2. Put the multwii on the support with anti-vibration pad
  3. Conect the ESCs to the multiwii with the dedicated pins

Next we will compile multiwii firmware into the board. To begin connect the multiwii board to your computer via USB

To configure the multiwii:

  1. Download multiwii firmware from https://code.google.com/p/multiwii/
  2. Download arduino software from https://www.arduino.cc/en/Main/Software
  3. Open arduino project "Multiwii.ino"
  4. Change arduino board in "Tools">"Board">"Arduino Mega 2560 or Mega ADK"
  5. Select the port in "Tools">"Serial Port"> And select the multiwii port.
  6. Next, open file "config.h"
  7. Search at the begining of the file the line: "//#define QUADX" and uncomment it (remove the "//")
  8. Search again the line "//#define CRIUS_AIO_PRO" and uncomment it.
  9. All is ready, save the file and run compilation
  10. Next you will need to calibrate all sensor with MultiwiiConf, I let you search tutorial on internet.

At this moment, we don't connect the Multiwii to the Raspi so if you want to look your motors in action before configure you raspberry pi put them on your frame, you'll need a remote control with a rc reciever and connect the rc reciever to the Multiwii. We'll don't explain to you how to do this but Google is your friend ;) and it's not difficult to do this. (DONT use motor with their propellers)


GETTING READY RASPBERRY PI:

Debian installation:

Install raspbian with noobs by following this tutorial: www.raspberrypi.org/help/noobs-setup/

Launch raspi-config and enable pi-camera

IP configuration

sudo nano /etc/network/interfaces 

remove all wlan0 configuration and edit to this:

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

Hostapd installation:

Before begin make all update:

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

Install hostapd:

sudo apt-get install hostapd

And test with minimal configuration

sudo hostapd hostapd.conf

If you can see your network from you smartphone it work BUT DONT TRY TO CONNECT ( it will failed with ip error because we haven't got any DHCP server)

DHCP server installation:

Now we need yo install a DHCP server to give IP address to wifi clients.

sudo apt-get install isc-dhcp-server

Run this command to edit the file:

sudo nano /etc/dhcp/dhcpd.conf

Find the lines that say

option domain-name "example.org";

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

and add "#" before them to comment them

Install usbmount

We need usbmount to mount the USB key. This is to save the video on the USB key.

sudo apt-get install usbmount

Now all usb keys must be mounted on the folder "/media/"

Install Python quadcopter program:

First install dependencies:

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

and clone the git project

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

You can test the programm by launching like this:


Making electronics project is too pretty simple with Us.



Join and Make with Us.



Comments

Popular posts from this blog

How to use ADXL345 accelerometer with raspberry pi

 Hey,  Today's blog we are going to use ADXL345   Accelerometer with raspberry pi. WHAT YOU NEED : Raspberry pi 3 SD card (8gb+ recommend) Power supply ADXL345 accelerometer  Breadboard CIRCUIT :  PREPARING RASPBERRY PI : 1.  Before we can get our Raspberry Pi to retrieve data from our ADXL345 Accelerometer, there are a few changes we must make to the Pi’s configuration. Let’s first ensure that everything is up to date by running the following two commands. sudo apt-get update sudo apt-get upgrade 2.  Once the Raspberry Pi has finished updating, we will need to go ahead and launch the Raspberry configuration tool so that we can  enable I2C  on the Raspberry Pi. Run the following command to launch the  raspi configuration tool . sudo raspi-config 3.  On this screen, you need to head to the “ 5 Interfacing Options ” menu. You can navigate the  raspi-config  tools menus by using the  arrow keys . Use the  ENTER...

How To Make Pac- Man Game Using Arduino

Hello Guys , In This Post We Will Tell You How To Make A Arduino Based Pac- Man Game. For More Awesome Arduino Projects Subscribe Our Blog. #Microelectronics Components Required- 1-Arduino Uno / Nano  2-Display Module  3- Joystick Module  4- Jumper Wire   Circuit Diagram Is Given Below- Source Code- //Nokia 5110 LCD PacMan Game #include <LCD5110_Graph.h> #include <avr/pgmspace.h> #define RST 12    // RESET #define CE  13    // CS #define DC  11    // Data/Command #define DIN  10   // MOSI #define CLK  9    // SCK LCD5110 myGLCD(CLK, DIN, DC, RST, CE); // LCD5110(SCK, MOSI, DC, RST, CS); extern uint8_t SmallFont[]; const uint8_t pacman1[] PROGMEM={ 0x80, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x3E, 0x1C,   // 0x0010 (16) pixels 0x0C, 0x00, 0x00, 0x00, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, ...

DIY fingerprint based car ignition system

  Hey, In today's blog we are going to make a fingerprint based car ignition system. WHAT YOU NEED : Arduino nano R305 fingerprint sensor EM18 RFID reader 16×2 LCD display DC motor L293D motor driver Breadboard Connecting wire 12v battery CODE : #include <Adafruit_Fingerprint.h> #include <LiquidCrystal.h> char input[12]; int count = 0; int a = 0; const int rs = 6, en = 7, d4 = 2, d5 = 3, d6 = 4, d7 = 5; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); SoftwareSerial mySerial(12,11); Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial); void setup() {    pinMode(9,OUTPUT);    pinMode(10,OUTPUT);    digitalWrite(9,LOW);    digitalWrite(10,LOW);    Serial.begin(9600);    lcd.begin(16, 2);    lcd.setCursor(0, 0);    lcd.print( "   WELCOME TO       " );    lcd.setCursor(0, 1);    lcd.print( "  CIRCUIT DIGEST  ...