Saturday, December 14, 2013

NXT Robots and #HourofCode

This Tutorial was originally published on The Hausner Robotics Team Blog

 The Lego NXT robots use a visual programming interface that is object based.  If you need to download it, start here.

As part of a school wide Hour of Code event, we put together a workshop to get students experimenting with Code on the NXT robots.

We built the rovers ahead of time and set up a simple challenge, can your robot go around the corner and greet an alien?  The original challenge is HERE.  Thank you Dr. Graeme, we took your idea and ran with it, developing our own tutorial videos.

Here is the whole project in 2 videos of 3 minutes each

When you open a new program you really want to name it because otherwise you end up with a bunch of untitled programs on your robot with no way to tell them apart.

The first good choice you need to make is a program name
If you are in a class setting, include your initials as every student might name their program "greeting."
Once you open your new program you will need to pull a block into the active programming field.  In this case we are going to start with a motion block.  Once you drop the block in place, check out the controls on the bottom of the screen.

Programming field after adding one motion block

The motion block controls
Each block has its own menu of settings to tune in the performance of the component.  The best way to learn about these is to make one change at a time and run the program on the robot and observe how it changes what the robot does.


5 note sequence:

More NXT Projects\

Need more help?

Stem Center NXT Tutorial

NXT Hour of Code Part 2

NXT hour of Code Part 2 In this video you learn how to program switches and the ultrasonic sensor.  If you haven't seen it, be sure to check out Part One. 

NXT Hour of Code Part One

NXT Hour of Code Part One Hausner HOC tutorial on NXT robots

In this tutorial I walk through programming a Lego NXT robot to move forward and display an image.  A fun basic program to get to know the interface. 

Wednesday, December 11, 2013

Everything is Coming Up Robots

This piece was originally published HERE on the Getting Smart Blog

My Robot Life
I will admit I sought out puppets; I worked to find them; I thought hard about how to best use them in my classroom, robots are another story.
I was about to tell you that I don't know how suddenly robots are everywhere in my life, but this wave has been building for decades, a connection driven home by a truly uncanny moment with a robot named Bo. I was visiting with June and Bo when he made a Twiki's signature sound, I don’t know how to describe it, so I included the video below. I was taken aback because this robot made the sound I most associate with robots.  Bo’s mimic of Twiki tapped into my robot schema.  Not for the first time during my evening at the Play-i headquarters, I thought ‘these people are really smart.’  From Twiki to Rosie on the Jetson’s I have been fed a steady diet of robots since I was young, but they were never really a part of my life.   
Now I find myself learning and teaching with robots.  Where once I was reading through Chaim Potok’s The Chosen asking myself which learning objectives I could met through this text, now I am searching through Youtube videos of robot challenges to find a match for my objectives for the students. I started coaching a Lego Robotics team at the beginning of this year and we just finished our season.  I am really proud of how much the team grew, and learned together. The sign ups are filling up for the next session. There is positive buzz, but our learning about robots is just beginning.
Last week at the Los Altos Robotics First Lego League Qualifying match our teams competed with 23 other teams. We are proud of our certificates of participation, having learned enough to have a respectable showing. I think the teams are also invigorated to learn more about programming the robots, now that they see what is possible. The experience of the competition changed their knowledge and their engagement.
My school has a young but energetic robotics program, we strive to get as many students working with robots and programming as possible, From my perspective that is where the  real payoff is with robotics instruction, they make programming tangible, in some cases literally.  
My tech lab came equipped with more robots than I had ever seen in one place, their number spread over many generations. The oldest robots are 3 Valiant Rovers[Rover Pic] that seem to run on Logo. This same group is still making robots for the classroom and the new ones look like a significant upgrade in interface and price point.  

Why Programming and Robots?
When I started searching for programming solutions for young students so many solutions point to robotics. Students can see and measure the course the robot is supposed to take and adjust the programming once they see what happens. There are a handful of apps that do this now, but just a few years ago programming for kids started on robots and desktop computers, that was really the only choice.  

Teaching with Robots
Teaching with robots is something I am easing into, like so many times in my teaching career I find myself trying to match the tools I have been given to the goals I want to achieve in the time I have.  With 12 Lego NXT robots I am confident I can have students working with these robots and programming on the desktop machines in tech class.  We will be 2:1, and the task needs to be complex enough to support group work.  In order to make this experience fit into my 1 hour of class a week I will need to limit what I am asking the students to do, which is why I am building robots this week.  After assembling 6 of the base model, wheels and motor only, I do get faster but the task does seem less rewarding. Despite the fact that these are Lego Robots, there will be no building by students.  I will have asking them to design a series of programs to teach them about how the different sensors on the robot behave.  After the tutorial lessons, there will be a class challenge.
If I am smart, I will create screencast lessons to support the tutorial lessons and flip much of the robot instruction, so I can dual purpose it in the club and the class.  I could also curate other good NXT programming videos in the same space, to help the students learn one of the greatest skills in programming and tech work: resource library use.
One of the things I am still surprised about as a tech teacher is how many other lessons are happening in class at the same time we are teaching coding, or presentation skills.  programming can be challenging and it involves a great deal of testing and retesting.  My collaborative planning sessions with my K-5 teachers are rich with the ongoing discussion of teaching resilience, and grit, and problem solving, and teamwork, and sharing.  When students are working with a robot, and things are not working the robot will not  "give the kid a break."  The student can't negotiate out of the challenge, they have to get through it or get help.  So for some of these lessons I can employ the robot to play the heavy.
Do we all need a class set of robots?  I don't know.  I am grateful for the ones I have and I am striving to get a curriculum together that can support meaningful learning.  If I was writing a check today for robots for class, I would want to make sure I could use the robots for a couple of lessons during the year, or at least one extended lesson with several grade levels. It seems like everyday I find a new robotics platform, or uncover something new about an old one.  I just learned from my aunt that my uncle Dr. Dick Dennis, worked on the Logo language project at University of Illinois. Here is a quick list of some of my favorite classroom robot platforms.

Robots with a Object Oriented Programming on Desktop
There are many reasons to love Lego robots and my favorite is how flexible they are.  I love that many of the advanced models constructed with EV3 robots are more like automated factory machines I have worked with that humanoid robots.  
With these robots I can hand the students a completed robot to program  or I can ask them to design and build one that can run a specific program.  

This lego construction kit uses a variant of Scratch that connects with Lego construction kits without using the NXT brick.

Robots with "On Bot" Programming

Robots with Ipad Control
Play-i These robots are built to get the youngest kids programming, they are not available until summer 2014, but I have seen them in action and I am excited about how they are using music to give kids access to ideas like sequencing.  

In this video Wokka interviews Bo, the Play-i robot.  

Robot with Physical Programming
These robots are programmed by placing physical blocks in a pegboard, and they are powered by arduino.

No matter how you decide to use robots in class, start small, teach one command at a time and have challenges ready when they are prepared to really dig in.  If you have resources to share, please post them here, I love learning about using robotics to teach from my ever-expanding PLN.

The importance of a smart platform or community resources

Programming NXT with Scratch