Project by Peter Altenkirk
Grade 9 Student, Central
Colchester Junior High
Introduction by Sarah Ryan,
Co-Program Director, NS
I first met Peter during one of our summer tech sessions at a Halifax Central Library. His enthusiasm for all things Maker and Tech was contagious! He was eager to help our tech counsellors tweak settings in Cura so that our Monoprice 3D printer to work at it’s optimal capacity. That’s when we started chatting about his love of making and how it evolved over the years since an early age. He’s been a true maker-- he loves inventing, in general, and has been involved with his student-lead Makerspace team since the initial development of the space at Central Colchester Junior High. His science teacher, Diane, mentioned an amazing project that he had been working on that involved 3D design, printing, electronics, and coding-- THE whole Maker “works”! I just had to ask him if he would share it with others! Luckily, he agreed to and what a fun project it is! We just can’t wait to see what else comes from Peter and other students at CCJHS!
Otto is the first robot that I built this
year. I’ve built two others since. When I
decided to build a robot, I was
expecting lots of time to be spent on
complex programming and trial-and error prototyping. What I didn’t know
was that almost anyone with a bit of
programing knowledge and access to a
3D printer can make their own little
“Otto” bot in under an hour. This is
where my school’s Makerspace came
in. I am on a Science enrichment plan
at Central Colchester Junior High and
this gives me lot of opportunity to
experiment and learn about robotics.
A full Otto DIY robot kit can be purchased from the official otto DIY website, and all the code is free to download from github. The Otto has 4 servo motors to help it walk, a buzzer to let it beep, giggle (and even fart!), and adistance sensor to keep it from walking into walls. All the systems are controlled by an arduino nano. For all those who aren't familiar with arduino code, there are hundreds of projects and tutorials to help you start learning programming, including a whole "getting started" section on the arduino website that I would recommend reading before attempting this project.
Step one in the building process was to wire up all the sensors, motors, and the buzzer, and insert them in the 3D printed Otto shell. I used the 3D printer in my school makerspace for my Otto, but a 3D printed shell comes with the kit. It was necessary to apply a few drops of hot glue to the leg joints, but aside from that everything should hold together fine.
It is important to attach the servo motors to the feet while the motors are at 90 degrees, otherwise the otto won’t walk correctly. I wrote a quick sketch (code) that set all my servos to 90 using an Arduino Uno board from the makerspace, and this made it very easy to construct properly. The Otto needed 4 AA batteries to operate, and once all the parts were place, I powered it up and moved on to the programming.
Step two The arduino IDE (the program for arduino boards) uses two types of codes, called sketches. Each sketch serves a different purpose. There is a running sketch (The part that you upload to the arduino board) and a Library reference (A type of sketch you download from the internet onto your computer). The Libraries for an Otto are available to download from github, and they are an extremely important part of the code. The purpose of a Library is to make it easier to write the running sketch. At the beginning of the Otto running sketch, there are several lines that read #include _______ This is the part of the sketch that connects to the Library. For example, instead of writing this in a running sketch:
You can write: LED.Blink(500);
Step three This means that using a Library saves you time when writing a running sketch, and it makes it easier to find bugs or mistakes. The running sketch for an arduino is uploaded to the arduino board, and it tells the board what to do and how to do it. With arduino, a running sketch always has two thing included: a void setup section and a void loop section.
These parts of the sketch pretty much are what they sound like. The setup tells the arduino board how it will do things. (example: use pin 7 to 11 as inputs, and 4 to 6 are outputs.) The loop part just repeats over and over, so it is the part of the sketch where you would tell you Otto to run, for example.
Step four The Otto uses a lot of libraries, so the actual running sketch is pretty straightforward. I ended up modifying my Otto to run instead of walk, and the changes were easy to make.