Introduction: Alpha Bot 1.0
the 2-Raspberry-Pi-Cluster Robot with 2 DOF, 8 megapixel Camera
This robot has a lot of features with lots to go. not all features may be manifest in some of the images or videos above, due to the fact that the robot has been through various stages of construction over time, and still has lots to do.
2 of the Images above show the robot with the motor shield on the top of the robot and 7" Touch Screen mounted.
You can build it that way, by 3D printing the screen mount (later in this instructable), and by omitting, soldering the 40-pin adjustment ribbon.
Here are the following supplies I used to build this robot. You can buy them at an online hardware site:
- MOUNTAIN_ARK Tracked Robot Smart Car Platform Metal Aluminium Alloy Tank Chassis with Powerful Dual DC 9V Motor
- SunFounder PCA9685 16 Channel 12 Bit PWM Servo Driver for Arduino and Raspberry Pi
- GPS Module GPS NEO-6M(Arduino GPS, Drone Microcontroller, GPS Receiver)
- 50pcs 5mm 4 pin RGB Multicolor Common Cathode LED for Arduino DIY
- Gikfun Infrared Diode Led IR Emission and Receiver for Arduino (Pack of 10 Pairs) (EK8460)
- ELEGOO MEGA 2560 R3 Board ATmega2560
- Gikfun 5mm 940nm LEDs Infrared Emitter and IR Receiver Diode for Arduino (Pack of 20pcs) (EK8443)
- Iduino Mega 2560 Starter Kit For Arduino W/ 33 Lessons Tutorial Over 200pcs Complete Electronic Component Project Kits
- TFmini-s, 0.1-12m Lidar Detector Sensor Lidar Tiny Module Single-Point Micro Ranging Module with UART / I2C Communication Interface
- TalentCell Rechargeable 12V 3000mAh Lithium ion Battery Pack for LED Strip, CCTV Camera and More, DC 12V/5V USB Dual Output External Battery Power Bank with Charger, Black
- Raspberry Pi 3 Model B (2X)
- Raspberry Pi Camera Module V2
- Raspberry Pi NoIR Camera V2
- 4 Pcs 5.5X2.1mm DC Power Male Connector Cable
- Adafruit Flex Cable for Raspberry Pi Camera - 18" / 457mm (2x)
- Adafruit USB Micro-B Breakout Board (ADA1833)
- LM386N-1 Semiconductor, Low Voltage, Audio Power Amplifier, Dip-8, 3.3 mm H x 6.35 mm W x 9.27 mm L (Pack of 10)
- Portable Charger Power Bank 26800mAh Ultra-High Capacity External Battery Pack Dual Output Port with 4 LEDs
- Freenove Ultimate Starter Kit for Raspberry Pi 4 B 3 B+, 434 Pages Detailed Tutorials, Python C Java, 223 Items, 57 Projects, Learn Electronics and Programming, Solderless Breadboard
- Soldering Iron Kit - Soldering Iron 60W Adjustable Temperature, Solder Wire, Soldering Iron Stand, Wire Cutter, Soldering Iron Tips, Desoldering Pump, Tweezers, Rosin, Heatshrink Tubes [110V, US Plug]
- Double Sided PCB Board Prototype Kit, Quimat 35Pcs Universal Printed Circuit Board with 5 Sizes for DIY Soldering and Electronic Project (QY21)
- Breadboard Solderless With Jumper Cables– ALLDE BJ-021 2Pc 400 Pin and 2pcs 830 Pin Prototype PCB Board and 3Pc Dupont Jumper Wires (Male-Female, Female-Female, Male-Male) for Raspberry Pi and Arduino
- 2mm zip ties (pack of 500)
- Raspberry Pi 7 inch Touch Screen Display
Step 1: Set Up RPI Software
First step: install raspbian, for your RPIs (https://www.raspberrypi.org/downloads/)
Java with NetBeans IDE. I have remote shared project connection with the raspberry pi. (Formerly, the robots main platform was processing processing.org)
About the software:
Processing was designed to be a flexible software sketchbook. It allows you to program with 2D and 3D graphics in the Java language, or with other “Modes” (programming languages). It uses Swing (UI), JOGL (OpenGL (3D)), and other Java platforms. One problem. It's only geared for beginner programmers and small programs.
I changed my software platform due to other specific limitations also, specifically because all of your .pde files in your project, in the Processing IDE will fill up at the top.
I am now using NetBeans IDE (netbeans.apache.org/download), with remote project sharing between my computer and my main raspberry pi, so that programming things such as GPIO pins and such may be easier. And I am looking at java FX for my robots UI.
You can learn how to set up NetBeans IDE with remote project sharing in this article:
Step 2: Assembling Items to the Chassis
Most useful form of assembly:
I find the most useful form of assembly to be zip ties. With zip ties, you can attach anything to your robot chassis. I bought 2mm zip ties, so they could fit through any hole in my chassis.
If there is a good place to put a few screws however, in the case of my IMU sensor (in the images above), then screws should be inserted instead.
I also use 3D printed washers (seen in the above images) for spacing and to keep the chassis paint from being scratched.
Step 3: Soldering Overview
ITEMS TO BE SOLDERED, LATER IN THIS INSTRUCTABLE:
- As listed above: IR sensors
- Arduino 5.5x2.1 power cable
- 5v Headlight 5v+GND connections
- 12v LiOn battery power System and 5v Power pack Power system
- 40-pin adjustment ribbon to move the motor shield 1cm away from the motors
When I soldered the 2 IR sensors, I used typical insulated wire for longer connections. It is a lot easier to use tinned copper wire. I got 24 AWG wire. I used it to solder the back of my pin breakout and it works infinitely better than insulated wire.
Step 4: Solder Breakout Board
It doesn't seem necessary at first, but if you want to wire 10 sensors to one arduino, it's definitely needed. You put a GND wire on the end of the board, and you get 26 more GND wires to use. I will be using this on all of the arduino’s 5V, GND and 3.3V pins.
Step 5: Solder Headlights
When soldering the headlights (included with the chassis) i soldered the GND wires together in order to keep thing simple when wiring everything to the Arduino. I used a 220 ohms resistor, for both headlights, and used heat-shrink tubing to keep the soldered joints from falling apart.
Step 6: Solder IR Sensors
Next, you want to solder the IR sensors, based on the diagram shown above.
Like I said, When I soldered the 2 IR sensors, I used typical insulated wire for longer connections, but its a lot easier to use 24 AWG tinned copper wire for that. Just make sure the wires don't cross!
Step 7: Other Soldering Jobs
OTHER HOMEMADE PARTS THAT NEED TO BE SOLDERED
- power cable to Arduino MEGA 2560 (5.5x2.1 power cable to USB 2.0 cable)
- 12v LiOn battery power System and 5v Power pack Power system
Step 8: Add Motor Shield
You will need to solder a 40-pin adjustment ribbon:
The motor shield is 1 cm too close to the motors, so you will have to create a 40-pin adjustment ribbon to move the motor shield back by 1 cm
- This is where the 24 gauge tinned copper wire is absolutely essential.
Step 9: 3D Print Camera
Now you need to 3d Print the camera and the camera mount.
Take these G-Code files and open them up in Ultimaker Cura or any other 3D printing software program that you use. Once the model is finished printing, place the servo into the mount and glue-gun the mount lid on top, then glue gun the mount brackets to the bottom servos plastic connector
Step 10: 3D Print Other Necessary Items
All parts are made using black PLA filament
- Top Arduino board mount
- 7” screen mount (only print this if you want to install the 7" screen on top of the motor shield)
- ASSEMBLY: You will have to drill holes in the Screen Mount Platform, enter the Screen Mount Raise pieces, and glue gun them on.
- Nuts and Washers (mentioned previously)
- You can download it here: alphabot-blog.herokuapp.com/downloads/Nuts_and_Washers_3D_print.zip
Design and 3d printing
I designed the 3d printed parts in blender, and used ultimaker cura to print them.
Above are the G-Codes for the additional items to print for your robot.
Step 11: Wire Everything
Connect all of the wires from any sensors you have connected to AlphaBot, and connect them to the Arduino Mega 2560. connect any GND, 5V or 3.3V connections to the breakout board.
Connecting all of the boards serially
In order for the boards to communicate with each other, the raspberry Pis and Arduino board need to be connected serially.
Serial cables needed (you may need to solder one, if you dont have it):
- 1 USB (standard) - USB (smaller) (Arduino board's USB cable)
- 1 USB (standard) - USB (standard) cable.
Java library for easy serial communication: https://fazecast.github.io/jSerialComm/
Step 12: Attach Batteries to Chassis
This robot is powered by:
5v 2.61A power pack (top) and 12v LiOn battery (bottom)
You can charge the batteries using the micro USB breakout board (5v) and 12v 5.5x2.1 power cable.
The TalentCell 12v battery is connected to the motor shield and the arduino mega 2560 (5v output), to give the motors power. It is charged by a 12v power cable, which is why I needed to create a separate charger on the robot for it.
5v battery pack:
The 5v battery pack is connected to the 2 RPIs and is charged by the micro-usb breakout board.
Participated in the
First Time Author Contest