Monday, August 10, 2015

Wall Follower Robot

Version 1
Version 2
I decided to make a robot that follows a wall on its right side. I have an NXShield-Dx, a shield that sits on the Arduino Uno and connects it to the motors and sensors of the Mindstorms NXT. The NXT motors are great, and I used one NXT ultrasonic sensor. With the Arduino I could also use an Arduino compatible distance sensor so I got a range sensor at Radio Schack (on sale for $15!). In both designs I put the NXT sensor facing forward to detect obstacles directly in front that the side detector can't see, and the Radio Shack sensor directed to the right side to detect the wall. For power I

Monday, August 03, 2015

Teaching HTML Coding with Chromebooks and Drive

UPDATE 2/1/17: This was great while it lasted. But it seems Google no longer provides a hosted link for html pages in Drive. Too bad.
Making web pages with HTML and a little JavaScript is a great way to introduce middle schoolers to text coding. Over the years I've introduced 6th graders to web coding using syntax coloring programs like Notepad++ and Text Wrangler, plaintext editors like Text Edit, and visual editor Dreamweaver. But this past year our school moved to Chromebooks and I had to find a cloud-based solution for HTML editing.
After trying several Chrome apps I settled on HTML Editey. Chrome Dev Editor seemed like the

Tuesday, July 28, 2015

How To Get From Blocks to Text With Robotics Coding

  
So many rich block-based programming environments have become available during the last several years. The release of Scratch into the world by MIT Media Lab's Lifelong Kindergarten Group catalyzed the invention of similar block-based environments for all sorts of purposes and a revolution in novice learners' ability to use the building blocks of computer science to imagine and make things. Block-based environments provide the important affordance of building programs without making

Sunday, July 26, 2015

Games and Controllers With Scratch, MaKey MaKey, and 3D Printing

I first wrote this post a year ago. This past year I revised a couple things as I did the project again, and the revisions will be noted.
We got a Makerbot Replicator 2 last December (now a year-and-a-half ago) and one of the projects I came up with turned out really well, and I think is worth sharing. My 7th graders designed key press controlled games in Scratch, then designed hand-held controllers with embedded switches, and we connected MaKey MaKeys to the leads on the switches for a great game experience. The highlights

Saturday, July 25, 2015

LED Handbell Gloves

This project was quite long in development, more than a year, in fact! I learned a lot about technology design so the process is worth recounting. Two then-juniors I taught in a robotics class, Susannah and Nicki, now graduated, asked me for help with an idea they had. They were members of a handbell group they had played with for 5 years and wanted to make handbell gloves that light up each time they play a bell, unveiling the gloves for one piece in their final concert. We batted around some ideas. They thought about using a Lilypad Arduino and an accelerometer but I thought we

Thursday, July 23, 2015

Animate Poems With Scratch

Some of the most successful tech integration collaborations happen at unexpected times. Our 5th grade English teacher, Jenny Kirsch, asked me to help brainstorm ideas for her students to somehow animate excerpts of poems they had written. It was meant to be a quick end-of-year activity, a fun way for the students to extend and present their work. What resulted was a very nice opportunity for

Wednesday, July 15, 2015

3D Print Pagoda Project

Our 5th grade history teacher was doing a study of Vietnam with her class and wondered if her students could make and print pagodas. After looking at some examples and doing a couple test prints I settled on a general design that featured hexagonal or octagonal base with openings on some or all sides, which was repeated

Monday, March 23, 2015

Controlling 8 X 8 LED Matrix With the MAX7219

At first it was annoyingly difficult to get this LED matrix working properly but after putting it down for a month and coming back to it I suddenly have it working. We have a spiral staircase leading up to a Mac lab and my office and the student and teacher traffic always leads to an annoying jam when people

Friday, July 18, 2014

Can Middle School Kids Create iOS Apps?

The Problem

No question about it, Apple does not make it easy to write apps for iOS. I take the fact that the Apple Developer program license is only free to university programs to be just one sign that Apple does not expect many students in K-12 to be making apps, no matter how much teachers may want them to (and they do!). I'm not talking about rare whiz kid 12 year-olds who follow enough tutorials and have enough guidance and a fairly good idea to make an app and get it in the store. I work with teachers who want to integrate app-making for iOS into their science curriculum, with 50 students developing

Wednesday, July 16, 2014

Arduino waitForButtonPress function

Lots of programming robotics languages (RobotC, leJOS NXJ, Cricket Logo, NXT-G) have functions that allow you to suspend processes while waiting for some kind of input. My robotics students most learned about leJOS NXJ's Button.waitForAnyPress() method. When we moved on to programming Arduinos one of them wanted to use the same concept to run a sensor calibration routine in setup(). So we had to make one, and it turned out to be very easy. She was initially trying to do something complicated with boolean variables but I remembered using this simple construct in