Sunday, November 27, 2016

ShapeTiler App with WaterColorBot

I updated my Shape Tiler program,
made with Processing.js,
to be a standalone version that exports a PDF of your shape tile, which you can then import to Inkscape and send to your WaterColorBot to draw. Why make a plotter draw your shape tile design rather than just printing out the png from the online version? I don't know! But it's fun to watch.

Saturday, November 05, 2016

Getting Oriented With Minecraft Pi

Minecraft Pi is Python for Minecraft. You can run Python programs from a folder on your computer that make things happen in a Minecraft server in the same computer or even on a remote one. Actually Minecraft Pi is for the Raspberry Pi but I'm using the MCPI mod which can work on a regular (vanilla) Minecraft server or I have it working on a MinecraftEdu server (version 1.7.10).

Sunday, October 02, 2016

Sharing the LogoTurtle at World Maker Faire


  • A 10 year-old boy who had never programmed in Logo saw the square example and immediately saw how he could modify it to make different shapes and nest that loop in another loop to make the multiple tiled shapes on the left. His dad was floored by what he did so quickly on his own. He left with his family for a while and came back a couple hours later and added to his octagon program to make the shape in the video. Amazing, he had been thinking about it while walking around and wanted to pursue his other ideas about it.

Sunday, September 25, 2016

More VR Explorations, Now in HTML

I just learned about Mozilla's A-Frame framework for VR development. Wired touts it as an easier solution to the heavy lifting required by the Unity environment. The main thing this get rid of are the iOS or Android platform requirements of setting up a Unity environment.

Tuesday, September 13, 2016

Learning From the LogoTurtle

Teaching with the LogoTurtle was an experiment for me last spring. I knew there would be a lot for my high school robotics students to learn from it but I didn't exactly know what. At the end of our LogoTurtle unit I asked the students to write about what they felt like they learned. I didn't prompt them to write about any specific aspect of their learning, I just wanted to see what would come out. I've been thinking about what they wrote and realized a few things; 1) each student is on her own learning adventure, 2) the LogoTurtle is actually teaching them as much as, and maybe more than, I am, and 3) what are often called the soft skills of learning-resilience, collaboration, making mistakes, perseverance-were a significant part of the experience for them.

Wednesday, August 17, 2016

Tuesday, August 16, 2016

Finally Figured Out How to Write a Class for Python Turtles

This explanation/examples did it. Exercise 4.2. Here is what I ended up with.

Updating Firmware on the Gogo Board V4

I have a bunch of Gogo Boards I've used for 4 years to teach creative making with robotics. Problem is mine are version 4.x and the developer, Arnan (Roger) Sipitakiat, has fully moved on to version 5.x. But there is a version 4.x setup that keeps my older boards working with Arnan's awesome blocks coding website, tinker.learninginventions.org. I'm writing this post to keep track of the pretty serious yak shaving necessary to keep them functional, probably only useful for my future fixes as only a small (Trump sized) handful of people ever used these boards. The Gogo Widget doesn't work to update the firmware on these older boards on a Mac, so I have to remove the Microchip PICs to reprogram the firmware. I have a Cana Kit UK1300 PIC programmer. But the software for writing the hex file to the PIC, PICkit 2, is PC only, so this tool is needed to write to the PICs on Mac. However, part of the instructions, adding two files to the root bin folder,

Monday, August 01, 2016

Thinking Through Ideas With Python Turtle

I like that you can program a screen turtle very easily with a straightforward Python installation and no additional setup. I was playing with it on a plane ride and went through a progression of ideas that I figure might be nice for people to see, along with the code. Using the screen turtle is a good way to move from Logo environments like Turtle Art to more challenging text-based coding with Python.

Thursday, June 30, 2016

Make Your Own Virtual Reality App for Google Cardboard on iOS

(These notes are relevant for Unity version 5.5 and under. Here is a new post that covers Unity 5.6, when the Google Cardboard SDK was integrated into Unity build settings, making some of this obsolete.) I thought Google Cardboard was neat when I first saw it but a couple days ago I started playing around with creating 3D content for it and I'm blown away with the possibilities. I want to give a survey of some ways 3D content can be experienced in a Cardboard VR app but I'm not going to go super in-depth with any of them because each one is its own endless rabbit hole. The biggest hurdle, especially for making an app for iOS (as opposed to Android) is getting your Unity and XCode environment set up. Once that's working the rest is pure fun and amazement.

Saturday, May 07, 2016

LilyPad Arduino In the Classroom: Interactive Shirts

Last summer as a participant in the Constructing Modern Knowledge conference I had the opportunity to develop a project with the LilyPad Arduino (and meet Leah Buechley!). I worked with a wonderful group of educators to prototype a hat that lets you know with LEDs when you should apply sunscreen. I had only prototyped circuits with the LilyPad before, never actually sewing one into a project, so one big thing I learned during that project is that embedding the components into fabric involves as much problem solving and time as programming and prototyping the circuit.

Thursday, May 05, 2016

Code a Photobooth Program with P5 and a MaKey MaKey Controller

Creative student controller design!
This turned out to be a really fun project that my students can do quickly. We're using P5 to code a Photobooth program that streams the webcam and applies different filters the students choose. Plus we're adding a MaKey MaKey as a controller to work a little with

Friday, March 25, 2016

Daisy Chained NeoPixel Ring Flower Garden

I've had this recessed frame kicking around for a long time and finally came across a good use for it. Inspired by the story of a student's flower garden Logo program in Teaching With Logo by Molly and Daniel Watt, I picked up some NeoPixel rings at my local go to hobby store, Tinkersphere, and set about learning how to daisy chain them into one circuit.
Lynn's flower garden

Sunday, March 13, 2016

More Generative Art with the LogoTurtle

My first idea for making generative art with Drawson, my LogoTurtle, was along these lines. Here are a couple more ideas I am playing with. These are a little harder to code than the earlier "exploded shapes." My fascination with these is split between finding the beauty in the shapes that come out of them and in the process by which the overall composition is built up over time out of small random decisions.

Thursday, March 03, 2016

Add an LED to your LogoTurtle

Erin Riley has a great project using an LED throwy and taking a long exposure picture of her LogoTurtle in a dark box to make drawings with light. So we put our heads together and found a way to add an LED directly into the LogoTurtle's circuitry so you can add on and off commands for it in your drawing program. Here's how!

Sunday, February 21, 2016

LogoTurtle: Get Mac OS Working with the Adafruit Metro Mini

Getting a Mac to run LogoTurtle on the Logo Floor Turtle robot can be challenging. Windows users can run the LogoTurtle assembler program on the Adafruit Metro Mini right out of the box. But it was discovered that the Metro ships with a pre-loaded sketch that wreaks havoc on a Mac computer if it is not first overwritten by a simple Arduino sketch like Blink. Something about how Mac handles USB serial communication. Note that once you replace the sketch it ships with and load the Logo Assembler on one computer, you should be able to skip the Assembler and run LogoTurtle on any other Mac. If you are setting up several LogoTurtles, say, for a classroom or workshop, you might want load Blink then the Logo Assembler on all your Metros from one Mac, then any other Macs people use should be able to go straight to opening LogoTurtle and getting down to coding.

Tuesday, January 26, 2016

Rotating Squares in Phases with Gif Loop Coder

All of these sketches, made with Gif Loop Coder, are the same save for the phase frequency. From the first with a phase of 0.01*i to the last with a phase of i the squares create remarkable iterative designs.

function onGLC(glc) {
    glc.loop();
     glc.size(400, 400);
     glc.setDuration(3);
     glc.setFPS(20);
     glc.setMode("single");
     glc.setEasing(false);
     glc.setMaxColors(10);
    glc.styles.backgroundColor = "black";

Monday, January 25, 2016

Generative Art with the LogoTurtle

The LogoTurtle is a programmable turtle that can draw. I like running simple programs with small aspects of randomness because the resulting drawings are always a surprise, and often beautiful. When randomness is part of a program the robot will draw a different composition every time, but it's also fun to look at several drawings resulting from the same program and see the similarities. The robot is enacting controlled chaos, and both the controlled parameters and the chaos within those limits can be seen after several runs. I also like how the robot is a kind of partner in creativity as it makes its own decisions within the framework it's been given.