Introduction: Robotic Rolling Backpack
Have you ever gotten tired of pulling your rolling backpack around? Or, have you ever wanted to drive your backpack around like a robot? Have you ever wanted to pull a good prank using a backpack that looks like it is being pulled by a ghost? Well, you need wait no longer. In this instructable, I will show you how to modify a normal rolling backpack to be controlled from your phone. You can even use the force to bring the backpack to you! The video below gives an awesome demonstration of the backpack in motion. Lets get started!
Also, check out this cool article that Arduino wrote about my rolling backpack! It is here:
Step 1: Materials
For this project, you will only need a few materials. You will need:
- An old rolling backpack, it doesn't need to be new. I got my backpack from a friend who was giving away the backpack because the handle was broken.
- An H-Bridge motor controller.
- A paint stick(From any home improvement store)
- An arduino(Any one will work)
- DC motors with mounts.
- A LiPo battery(I used a Home-built battery from a previous project)
- Rubber wheels
- Bluetooth Module
- Pencil box
- Switch b
Step 2: Tools
For this project, you will only need a few tools.
You will need:
- A drill
- Drill bits and screw head.
- Wire cutters
- A hot glue gun
- A hack Saw
- A computer with the Arduino IDE
Step 3: Preparing the Backpack
When I initially obtained the backpack, it was falling apart. The handle was falling off and there were zippers missing. You will need to fix some of these issues. I used a piece of wood to secure the plastic mount of the handle to the fabric of the backpack with wood screws. I also repaired the zippers.
there will also be some more parts of the backpack you will need to prep. Usually on the bottom inside of the backpack, there will be a piece of fabric. You will need to cut this out. I used a pocket knife. You will then need strengthen any structural deficiencies of the backpack with wood or any other material that you find will work. The backpack will now not be flimsy anymore.
Step 4: Adding the Wheel Mounts
The original wheels of the backpack will be used as the front wheels while the powered wheels will be mounted around 6 inches from the backpack. This is because if the powered wheels were placed directly under it, the backpack would fall over due to not having enough balance. To mount the powered wheels we will need to build mounts. To do this, take a wooden paint stick, and cut to 8 inch sections out of it. You will then need to cut two holes in the fabric of the backpack directly above the plastic bottom plate. These two holes will be on each side of the backpack. You will then need to slide in each paint stick section into the holes until about 3 inches are above the plastic plate. Finally, use wood screws to secure the paint stick sections to the plastic plate. This will complete the backpack's frame.
Step 5: Mounting the Drive-train
The drive train of this robot will consist of two powered wheels, and the two original wheels of the backpack. The only change that will need to be made to the original wheels is to oil them so they spin better.
The powered wheels will then need to be mounted to the paint stick frame. To do this, take the motor mounts, and mark holes on the paint sticks where the bolts will go. You can then drill the holes out and mount the motor mounts on. After that, slide in the DC motors and secure the rubber wheels to them. The wheels should be secure when done.
Step 6: Housing the Controller
The controller is what will receive the commands from the phone and translate them into movement from the backpack. This was made with a pencil box. You will need to add dividers to the pencil box to separate the different control boards of the controller. I also made holes in the box for the motor wires and switch. After this, you can set the arduino and motor controller in place inside their respective dividers and glue the switch into place. You will aslo need to tape the bluetooth module to the top of the box. After this, it is time to wire the controller.
Step 7: Wiring the Controller
To wire the controller, wire the bluetooth module's VCC and ground to the Arduino's 5 volt and ground pins. Then, wire the bluetooth modules RX pin to the arduino's TX pin and the TX to the RX pins.
To wire the motor controller, you will need to solder wires onto the terminals of the motor, them route those wires into the pencil-box through the backpack, and into the motor ports on the H-bridge. Then, take the regulated 5 volt output of the motor controller, and connect it to VCC on the arduino. Ground on the motor controller will then be tied to ground on the arduino.
Finally, connect the pins of the motor controller: M1 forward, M1 backward, M1 enable, M2 forward, M2 backward, M2 enable to the pins on the arduino: 13, 12, 11, 10, 9, and pin 8 respectively. This should just about complete the wiring of your robot backpack.
Step 8: Connecting the Battery
The battery I will be using for this backpack is a 3 cell lithium battery, though, almost any 12 volt battery will work. To connect the battery, use a battery connector, and solder wires to the positive and negative pins of the connector. Take the ground wire, and connect it with the ground port of the motor controller. Then, take the positive wire, and run it through a switch before it reaches the 12 volt pin of the motor controller. This should complete the wiring of your robo-Backpack.
Step 9: Downloading the Code
This code for the arduino basically reads the Char information sent to it by the Bluetooth module, and tells the motors to go different directions based on the char received. For instance, if the Arduino receives the char 'W' it will activate both motors to go full power in the same direction, therefore making the robot drive forward.
To actually download this code, you will need to download the arduino file above. Then, before plugging the arduino into the computer, UNPLUG YOUR BATTERY! If you do not do this, your USB ports may get fried from the arduino's separate power supply. You will also need to temporarily unplug the RX and TX wires, otherwise the arduino will get confused that it is receiving commands from multiple sources and crash.
After this is done, plug your arduino into the computer, and upload my code.
Step 10: Setting Up the Phone
To control the arduino robot, you will need an Android phone. First, download the Arduino Bluetooth Controller app, here is a link:
Then, you will need to open the app and connect your phone to the bluetooth module in your backpack. The password that it needs to connect should be 1234. After it is connected, click on the specific bluetooth module, and select controller mode. To set up the commands, click the settings bar, and click what commands the phone will send the arduino for each button pressed. I had forward send 'w', backward send 's', right send 'd', left send 'a', and the o button send '0'. You should now be ready to drive your backpack around!
Step 11: Testing Your Backpack
To test your backpack, turn it on, connect your phone to the backpack, and start driving! If you are successful, your backpack should start driving around. I added an empty shoebox inside the backpack to make it seem full. It is really fun to drive this backpack around. It is like driving a really big RC car.
Step 12: Fun Things to Do With It
I had fun playing with this backpack. I brought it to school and enjoyed seeing people's confused faces as the backpack drove around on it's own. It was able to follow me while carrying my stuff. You can see a video of this in my introduction. This idea will be further developed as I program it an autonomous so it can follow somebody around without even needing to be controlled by a phone.
This backpack could also be used to help disabled people carry their belongings when they cannot carry or pull a backpack. This project could have a lot of future implications beyond the fun purposes I was using it for.
Make sure to vote for me in the Robotics Contest.
Good luck building and have fun!
We have a be nice policy.
Please be positive and constructive.