IHover
You’re probably asking yourself, what in hell is this meat grinder?? Well, let me introduce you to my hovercraft. Is a hovercraft not something from a si-fi movie you might ask? Not really no, a real hovercraft uses downward firing trust that it traps in a sort of bag underneath him. When there’s enough pressure the trapped air will push the hovercraft up so it can escape from the hole underneath the bag. It effectively creates an air bubble where it hovers on. Thus the name hovercraft.
This powerful machine can carry a lot of weight and can fly over every terrain you want it to. And if you’re somehow able to fly it far enough away so you can’t hear it anymore, congrats to you but don’t worry, it is equipped with gps so you can always find it back while setting new speed records.
Supplies
- Raspberry Pi
-Powerful drone motors: SUNNYSKY A2212 KV980
-4 ESC's with a minimum current of 15A: LittleBee 20A-S ESC BLHeli_S OPTO
-Propeller type 10 x 4.5
-High power drone battery with minimum current of 60A and 3S voltage: VGEBY1 LiPo-accu, 3S 11,1 V
-RC digital balance charger for lithium battery's
-Led strip
-2 HC-sr04 ultrasonic sensors
-LDR sensor
-FlySky FS-i6 RC Transmitter with FS-iA6B Receiver
-GPS 6MV2 module
-5V powerbank
-Servo (min 3kg of force)
-Transitor minimum 12V like TIP120
-MCP3008 analog to digital converter
-9V to 5v and 3.3V converter
-Battery holder (6.5 to 12V)
-Resistor set
-Jumper wires
-Build matterials like wood and isolation mouse
Let's Put This Togheter, Starting With the Raspberry Pi
Installing Raspbian
All this fancy hardware is controlled by a raspberry pi. To make live easy, install raspbian on a SD card and follow these steps.
After flashing the OS and before booting for the first time: Write ip=169.254.10.1 at the end of the cmdline.txt file you can find in the boot directory of your newly flashed SD card. Save this file and exit. You’ve just set a static IP address in your Pi.
To easily enable ssh connection on your first boot, create in the same boot directory a file called ssh without any extensions like .txt attached to it. Leave this file empty.
Boot your Pi Connect your Pi via ethernet and open a ssh connection with a program like putty. The IP address to connect is the IP address you entered in the cmdline.txt file: 169.254.10.1
Rasbian config
Type
sudo raspi-config
to open the rasbian settings.
First of all go to interfaces in the menu and enable serial communication and the SPI bus. Reboot.
Sadly enabling serial communication is not that easy. You also have to run these commands if you have a Pi 3 or 4.
sudo systemctl stop serial-getty@ttyS0.service sudo systemctl disable serial-getty@ttyS0.service
Next go again to the /boot/cmdline.txt directory with
sudo nano /boot/cmdline.txt
and delete the text console=serial0, 115200. Finally open the /boot/config.txt file
sudo nano /boot/config.txt
and write this at the bottom:
enable_uart=1
dtoverlay=miniuart-bt
This will switch the rx and tx pins of your pi to the real hardware uart bus on your pi and give bluetooth the fake and worse one.
Wifi
Wifi is no luxury if you wish to install some new software down the line, like we need to do.
Do this with the following command and change SSID and password with your router's SSID and password respectively.
wpa_passphrase "SSID" "Password" >> /etc/wpa_supplicant/wpa_supplicant.conf
Reboot your Pi to let the changes take effect. Check your connection with the
ping <a href="http://www.google.com" rel="nofollow"> www.google.com </a>
command and continue if to the next step if you get a response.
Instal some software
First of, enter:
sudo apt-get update sudo apt-get upgrade
and give your Pi the time to install the updates.
Then we need to install the database to store all the location data we will be collecting.
sudo apt install mariadb-server mysql_secure_installation
Follow the installation wizard. To be able to run the website from the pi, install apache web server.
sudo apt install apache2 -y
Finally we still have to install some python packages
Flask Flask_cors Flask_socketio Python-mysql-connector sudo apt-get install python3-spidiv
Hardware Time
The base
Got this far?? Al the software should be done so let’s get started with all the fun stuff, the hardware.
The base of the hovercraft exists from wood and isolation mouse.
- The item on the first for you need to make twice. The isolation mouse is cut with a seesaw with a wooden plank glued on top of it. The space between the isolation mouse must be big enough so the propeller fits between it. Next up you screw the two drone motors in the middle of the plank en mount the propellers on top.
- Next up we need to make 2 more motor mounts which we will place in the middle of the craft (picture 2).
- Cut out the underside of the hovercraft from a thick isolation mouse. Then rep a airtight bag around it (picture 3).
- Now we have to make the top panel. This has to have the exact same dimensions as the underside we made in the previous step. Make 2 holes the size of the propeller diameter in the middle and glue the 4 motor mounts mounts we made in step 1 and 2 on top of it. Then we glue the underside from step 3 underneath.
- We continue by making the fins we need for steering. Make two fins like on picture 5 on screw on top of your deck. To be able to move them make a similar structure seen on foto 9. (Picture 5 - 9)
- Now finish it with some extra carton around the propeller holes for a better air flow (picture 10).
Connecting Some Wires
In the documents below you will find the exact same scheme twice, one time in schematic form and the other time in breadboard form. Feel free to change some things up if you can't see the tree's through the forest anymore.
TIP: make sure to wire one downwards and backwards firing motor in reverse, seen in the breadboard scheme. This will make the motor spin in reverse.
Installing the Code
All the code I've written is available for free on github.
To clone the backend enter
git clone https://github.com/BaertTorre/PROJECT1_backend
and to clone the frontend
https://github.com/BaertTorre/www
The backend you can save where you want but the frontend has to be placed in the /var/ directory and replace the existing www map.
If done correctly you can surf to 169.254.10.1 with your broser and see the frontend website.
Auto Start Backend
Welcome to the final step. Hopefully you made it this far without to much trubble. I most certainly didn’t:).
This step covers how to make the backend software automatically start on startup of the Pi.
Create a file with this command:
sudo nano /etc/systemd/system/iHover.service
Past the following in this file:
[Unit]<br>Description=iHover After=network.target mariadb.service [Service] Type=simple User=root ExecStart=/bin/sh /Path/To/Repo_with_launcher.sh [Install] WantedBy=multi-user.target
On line ExecStart, give the correct path to the launcher.sh included in the backend.
Finally let the changes take effect with:
sudo systemctl daemon-reload sudo systemctl enable iHover.service
And you're done!!
Have fun with your new toy.