ActivityBot Educators Course Activities

This is the hands-on activity list for the 1-day ActivityBot Educators Course.  The course provides initial introductions to:

  • Microcontroller programming with C language
  • Building simple circuits and programming a microcontroller to control and monitor them
  • Robot construction, testing, and trouble-shooting (if needed)
  • Programmed robot navigation
  • Programmed robot navigation with sensor circuit inputs
  • Programming a the Propeller microcontroller to use multiple cores to tend to robotic tasks in parallel

Overview

The Propeller C Learning System has five major components that the instructor will briefly discuss:

Install the Software

You will receive a (loaner) USB drive with a local copy of software. 

  • Copy the Software folder to your computer.
  • Open the Software folder and then open the folder for your operating system (Windows or Mac).  
  • Double-click the installer and follow all the default installation steps.
  • If you have Windows, your installation is complete.
  • If you have a Mac, check your OS (click Apple and select About this Mac).
    • If you have a Mac with OSX 10.9.x or newer, open the USB drivers subfolder and run FTDIUSBSerialDriver_v2_3.dmg.
    • If you have a Mac with OSX 10.8.x, open the USB drivers subfolder and run FTDIUSBSerialDriver_v2_2_18.dmg.  
    • Restart your Mac.

NOTE: This is normally a process you would complete by going to Propeller C - Set Up SimpleIDE, but we want to avoid concurrent 60+ MB downloads on the Wi-Fi. 

Connect and Test Hardware and Software

By connecting the Propeller Activity Board to your computer and running a test program, we can verify that the USB driver and SimpleIDE software were correctly installed.  The instructor will briefly demonstrate how to this procedure. 

  • Run SimpleIDE.
  • Go to Propeller C - Set Up SimpleIDE, and follow the link for your operating system.
  • Skip to the section titled: Connect Your Board + Run a Test Program.
  • Follow the instructions with the red check marks.  (These will appear as bullet dots if you are working from a local copy of the learn site.)
  • Verify that you get the "Hello!" message.  If you get stuck on any step, get help from the instructor.
  • Click SimpleIDE's Open Project button (2nd from left). 
  • Navigate to ...Documents/SimpleIDE/Learn/Examples
  • Verify that there's an ActivityBot folder in there.  If not, you may need to repeat the instructions on the Update Your Learn Folder page.

Get Started with C Language

These are excerpts from Propeller C - Start Simple that introduce basic tasks computers (and microcontrollers) perform: communicate with humans, store data, calculate, make decisions, and perform repetitive operations.  The instructor will talk about the example programs before you try them out. 

IMPORTANT: Focus on opening and running the test program, and following the Try This section.

Microcontroller + Circuits

These are excerpts from Propeller C - Simple Circuits that show examples of how to:

  • Build circuits and connect them to your microcontroller
  • Write programs that make the microcontroller control and monitor them

The instructor will discuss each circuit and program.  Make sure to focus on building the circuit, running the test code, and the Try This section.  Depending on the time situation, you may get split into pairs or groups of three, each building and testing one of the circuits.

Robot Construction & Testing

These are excerpts from the ActivityBot series that show how to mechanically assemble and set up the electrical connections for your ActivityBot.  NOTE: If your course had you follow the Mechanical and electrical Assemblies beforehand, recheck your Electrical Connections, then continue with Test the Encoder Connections.

  • Mechanical Assembly (14 pages)
  • Electrical Connections
  • Test the Encoder Connections
  • Calibrate Your ActivityBot
    • In the Try This section of Calibration Your ActivityBot, examine the Encoder Ticks/Second column.  The values for left and right servo should start with 1000.  Then, they should maintain some average value in the 170 to 200 range for around 15 rows.  Then, the values should decrease to zero, and increase back to 170 to 200, and end with another 1000 value.  If you have more than one zero in a given servo's Encoder Ticks/Second column, or if you see values outside the ranges just described, get help from the instructor.

Programmed Robot Navigation

These are excerpts from the ActivityBot series that show how to make the robot perform various maneuvers.  As with the other activities we've done to this point, the instructor will discuss the code examples.  Focus on just the Test Code and Try This sections unless otherwise noted.

Navigate by Sensors

These are excerpts from the ActivityBot series that show how to make the robot measure sensors and use them to make navigation decisions.  We would like everybody to complete at least one of these before the end of the day, preferably 2.  Keep in mind that since you get to keep your ActivityBot, you can try lots more of these activity links after the course.

Introduction to Multicore

The libraries we've been using today have been taking care of the multicore programming aspect.  For example, drive_speed and drive_goto cause the abdrive library to launch another core that monitors the encoders and controls the servos.  Your programs can also be run by multiple processors.  These excerpts from Multicore Approaches show simple examples of how to write code that runs different portions of your program in different processors.  If time permits, try these activities. 

Additional Activity Possibilities for Advanced Attendees