Category Archives: Jonny Five

Electronic Etch A Sketch with Johnny-Five tutorial

I purchased an OLED screen to add eyes to Felix. To talk to the display I start playing with Suz Hinton’s (@noopkat) Oled library. I couldn’t find any project on the web using it, so I decided to make a quick tutorial to test the display. The result is a how-to build an electronic Etch-A-Sketch gizmo.
You can find the tutorial on Github:
https://github.com/Traverso/EtchASketchJ5Tutorial

It’s a repo, so you are welcome to contribute if you stumble upon any issues.

Heads-up

Sus Hinton (@noopkat) released a couple of months ago a library to control OLED screens from Johnny-five:  https://www.npmjs.com/package/oled-js, so I ordered a SSD1305 from Adafruit.

I will like to add a screen to Felix to eventually give some status feedback, but mostly to display/animate eyes. Sort of the way Baxter from Rethink Robotics does it.robot05-1347552663347

To mount the screen I designed two head pieces and cut them with on the laser-cutter.

Face3

The head is controlled by two HXT900 servos. One servo rotate the head from left to right and the other to tilts the head. The rotation is to allow the two SHARP 2Y0A21 proximity sensors to scan the room. The tilt is just cute.

Besides the screen and sensors I also added a small piezo speaker.

I’m happy with the result, now time to do the wiring.

FaceA

FaceB

Dashboard and GitHub Repo

Felix is a NodeBot (http://nodebots.io). A NodeBot is a JavaScript powered robot. One of the benefits of using JavaScript and Node, is that it makes it trivial to create a  web based dashboard for your project. My dashboard has a simple joystick that controls Felix using Socket.io.

You can see a clip of Felix and the dashboard here:

The code is now on GitHub: https://github.com/Traverso/JSFelix
I will add the template files for the design to the repository as well.

NodeBots & Johnny-Five

I run a bit out of steam while tinkering with the gaits. The write/compile/upload/test cycle on the Arduino took some of the fun out of it.  For the new leg I have to rewrite the IK and control to accommodate the new servo’s setup. So instead of doing this as Arduino sketches, I decided to give NodeBots (http://nodebots.io)  and Johnny-Five (https://github.com/rwaldron/johnny-five) a try.

This days most of my (professional) projects include NodeJS and Angular, so JavaScript is part of my “mindset”. If a have some spare time during the day I don’t need to “shift-gears” in order to write sketches.

Furthermore Johnny-Five have an Animation module (https://github.com/rwaldron/johnny-five/wiki/Animation) that looks like a perfect fit for managing Felix’s walking cycles.