EB9 - a Platform for Learning Electronics, Arduino and Robotics.
by michaelbrewer in Circuits > Arduino
5325 Views, 67 Favorites, 0 Comments
EB9 - a Platform for Learning Electronics, Arduino and Robotics.
I've been teaching with Arduino and Lego for some time and I still have plenty to learn. I wanted to design a platform that would make it easier for students to put together Arduino circuits and ultimately, give them everything they would need to build an obstacle-avoiding robot.
Everything that I've used to create this robot can be bought for less than AUD$100.*
*Apart from:
--> A soldering iron + solder
--> A 3D printer.
--> Lego.
I've added a series of 5mm holes along the side of EB-9 that make it easy to attach Lego Technics bricks.
At the moment, I'm only using Lego for the stabilizing wheels. I would love to see EB9 become part of much more elaborate Lego robots.
I brought a Bricktastics 1kg bag of Technics for about $80 and got enough Lego to build 2-3 robots. You could also use milk bottle lids and skewers if you're trying to cut costs.
3D Printed Chassis
--> I used TinkerCAD to create the chassis/body for EB-9
--> I've printed in both PLA and ABS.
--> The body in the photo is ABS, but I've been happier with PLA as it seems stronger and doesn't release awful smells while printing.
--> I'm using my schools Flashforge Inventor 3D printer and the Flashprint slicer.
--> Slice settings were mostly default, except infill which as 5%.
--> Print time was 6.5 hours.
Downloads
Attaching Lego
EB9 has a row of holes that match the spacing of Lego Technics Bricks. They are 5mm in diameter, which means they will hold onto a Lego axle quite firmly. It's handy to have pliers ready if you need to remove an axle from the chassis.
Here are some of ideas for adding wheels, stabilisers, bumper bars, Servo controlled arms etc.
I hope to see EB9 become part of more elaborate Lego robots in the classroom or in response to this Instructable!
Motors and Motorshield (L298)
- The motors are geared mini-motors from JayCar.
- I soldered some old stereo cable wire onto each terminal
- The holes in the side of the chassis are made to fit this type of motor.
- There is a hole above each motor slot for a M3 screw to clamp down on the motor body.
- I didn't have any M3 screws, so I used some old wood screws I had lying around. This cracked the plastic a little. Another problem to fix when I have time!
- The motor shield is like many of the L298 H-bridge motor shields that are made to fit the Arduino Uno. This one is called Deek-Robot and has the following:
- Pins 3,8,9,11,12,13 are reserved for controlling the motors.
- Pins D5,D6,A2 and A3 all have their own little breakouts for easily attaching servos, speakers and sensors.
- This shield is old and dusty, the current model looks a little different but does the same job.
Breadboard, Switch and LEDs
--> EB9 has slot made for a standard 400 point breadboard. This means EB-9 can be used not just as a robot but to prototype lots of different Arduino circuits.
--> In this build I'm using the breadboard to hold a tactile switch that will have some effect on the robot's behaviour.
--> There are two LEDs, to indicate the status of the robot to the user. A green LED to signify that all is well, and a red to show the opposite.
--> I've quite lazily attached these directly to the motor shield in pins A0 and A1, with their legs going directly into the two GND pins
Ultrasonic Sensor
--> EB9 has a slot for the HCS404 ulstrasonic sensor
--> This sensor has 4 pins which are connected as follows:
- VCC --> 5V
- GND --> GND
- TRIG --> A2
- ECHO --> A3
--> It's handy to have a piece of blue tack to hold the sensor steadily in the slot.
Piezo Buzzer
--> The buzzer is for the robot to squeek, beep, buzz and click.
--> The only sound it makes currently is on startup.
--> The Piezo pins are connected as follows:
--> VCC -> 5V
-->GND ---> GND
--> S --> D6
Circuit Diagram
Programming
--> You'll need the Arduino IDE. This link takes you to the Arduino website where you can download it. I recommend the zip file for non-admin install.
--> This sketch uses a few libraries (NewPing/NewTone). I've included pictures and links to explain how to install them, and how to use them.
--> This sketch is a work in progress. I'm a self-taught programmer, so if there are more effective or efficient ways to achieve the same functionality, I'd love to hear about them.
--> Download the Experibot.INO file to get a copy of the code.
Downloads
Testing
Now we are getting to the fun part! The robot is moving and it's time to compare its behaviour in the real world with the instructions that it is following.
So much more to do!
But sleep is important too..so this is it for now.
Resources for Further Learning
Circuits I built before attempting this project:
--> How the motor driver works.
https://lastminuteengineers.com/l293d-dc-motor-ard...
--> The tinkercad model link