EB9 - a Platform for Learning Electronics, Arduino and Robotics.

by michaelbrewer in Circuits > Arduino

5282 Views, 67 Favorites, 0 Comments

EB9 - a Platform for Learning Electronics, Arduino and Robotics.

PXL_20211003_033106434.jpg
PXL_20211003_025441036.jpg
PXL_20211003_025528502.jpg
PXL_20211003_025516616.jpg
PXL_20211003_025520209.jpg

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

Screenshot 2021-10-03 145017.png
Slice preview of EB9.png
PXL_20211003_030250049.jpg
PXL_20211003_115630862.jpg

--> 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

PXL_20211003_023531219.jpg
PXL_20211003_115430684.jpg
PXL_20211003_115436264.jpg
PXL_20211003_115456404.jpg
PXL_20211003_115514637.jpg
PXL_20211003_120128701.jpg

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)

PXL_20211003_025538639.jpg
PXL_20211003_030015789.jpg
PXL_20211003_031048141.jpg
PXL_20211003_031628894.jpg
  • 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:

Breadboard, Switch and LEDs

PXL_20211003_031954622.jpg
PXL_20211003_031352107.jpg
PXL_20211003_031400656.MP.jpg

--> 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

PXL_20211003_031614719.jpg

--> 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

PXL_20211003_050521211.jpg

--> 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

EB9 tinkercad circuit.png

Programming

pseudo.png
download arduino IDE.png
install libraries.png
libraries to get.png
sketch1.png
sketch2.png
sketchsetup1.png
sketch setup2.png
sketch loop.png
sketch drive function.png
sketch checkobstacle function.png
sketch stop function.png
sketch swivelleft function.png
sketch retreat function.png
sketch happysad functions.png

--> 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

testing EB9

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

PXL_20211003_035317462.PORTRAIT.jpg