When I first discovered the Companion Bots made by Alex Glow, I immediately thought it could be a perfect project for my students at the TechLabs.ch school in Switzerland.
These cute little creatures are indeed a perfect combination of all the components of STEAM teaching, like:
S: How do you capture a physical phenomenon like a sound?
T: How do OLED displays work?
E: How to use Onshape to create a robot body and its accessories?
A: How to design a cutting pattern and sew the "skin" of a robot?
M: How to use a Cartesian coordinate system to program "OLED eyes"?
LET'S START WITH THE RESULT!As a reminder, here are the conditions that led to this result:
- Students ages 7-9,
- 10 hours for the whole project,
- A group of 9 students with 1 robot for each.
Of course, you will find all the STL files needed for this project on this page.
But the interest is elsewhere...
Here is the link to the public Onshape document that will allow you to modify the robot according to your material, desires, or project. You just need a free Onshape account to start designing.
In my opinion, the real open-source aspect of a project lies in the fact to put at the disposal of the whole community natively modifiable files and not "dead" files like STLs.
In addition to having access to the native files for modification, Onshape also allows everyone to have access to the model creation tree and to learn from the design process. This is a very effective method with my students!
Just use the Rollback Bar to go through the entire design process:
The body integrates two openings for the "OLED eyes" and five slots for servomotors.
The lateral ones are meant for "arms", the bottom ones for "legs" and the rear one for a "tail". But let the kids imagine other amazing things!
You also have thin slots to use velcro straps to attach the bot to your t-shirt if needed.
ELECTRONICSThe two OLED screens are fixed to the body thanks to four Nylon M2x12 screws plus nuts. DON'T TIGHTEN the nuts too much, screens are quite fragile.
Here's the basic wiring of the screen to the board:
As we are working with young kids here, the use of an IO shield makes the wiring easier. The shield gives you direct access to the I2C bus (P19 and P20).
As our Companion Bot is meant to show emotions by interacting with us, I used the table below to define Inputs and Outputs related to a specific emotion.
Please note that as the screens share the same I2C address, the two eyes will display the same "emotion".
We used Piskel to simulate emotions before programming them. It's also an easy way to collect useful coordinates for programming.
In order to use the OLED screens with the microbit.org online editor, you will have to add the following extension:
The HEX file corresponding to the video demo can be found here.
The Python-translated code is attached to this page.
SEWINGLetting the kids think about the sewing pattern is a very nice 3D visualization exercise. They should start by using paper first.
Onshape is here very helpful to determine the exact dimensions of the bot, especially when you integrate fillets or curves.
There're multiple ways to create the "skin" sewing pattern of the robot, I'm sharing with you the one we used:
The next add-on to the project would be to work on the integration of the micro:bit board to interact with the bot in a more natural way.
For the moment, the board is sitting on your hand and connected to the bot using extension wires.
Comments