91.548 home
schedule html
mtg 1: DC circuits html
mtg 2: Handy Cricket
  lab 2 html
     reference pdf
     inside-hc pdf
mtg 3: LogoChip
  lab 3 lab 3 html
     Start pdf
     Intro pdf
     Tech pdf
     Lang Ref pdf
     PIC 16F876 docs pdf
mtg 4: Project Ideas
  assignment 4 html
mtg 5: Bus Projects
  lab 5 html
mtg 6: PCB and CAD
  lab 6 html
  EAGLE home page
  EGX-300 Manual pdf
mtg 7:
   tangible bricks html
mtg 8:
  project plan html
  PCB tutorial html
mtg 9:
  project report html
  Doll Talk pdf
  curlybot pdf
  Clay illustration pdf
  LumiTouch pdf
mtg 10:
  Navig. Blocks pdf
  FormWriter pdf
mtg 11:
  Cognitive Cubes pdf
  Physical Programming pdf
mtg 12:
  Folk Computing pdf
  KidStory pdf
resources student pages project movies ikonboard LogoChip links

91.548 Lab 2: The Handy Cricket

due February 6

  1. Experiment with the Handy Cricket and the Cricket Logo software. Play with motor and sensor commands. Display sensor data back on the the Cricket Logo screen.

  2. Experiment with the Cricket's IR communications primitives send, newir?, and ir. Get one Cricket to trigger another Cricket to do something.

  3. Create a multi-Cricket application whereby the Crickets pass a software token from one to another (“multi” >= 2). When a Cricket has the token, it should display some behavior to make this evident (e.g., beeping or turning on a motor output). Then this Cricket should be able to pass the token to another Cricket. Are there any problems in accomplishing this? Are the problems of a fundamental nature, or just implementation details?

  4. Devise an experiment to determine if Cricket Logo arrays use 0 or 1 as an index for the first array element. (The Cricket Logo documentation does not specify.)

    You may wish to refer to the Cricket memory map at http://handyboard.com/cricket/tech/. See also the Cricket Logo commands “examine byte” (eb) and “deposit byte” (db).

  5. Put a program on the Cricket that continually transmits sensor values (e.g., loop [send sensora]). Write a program that runs on a conventional desktop/laptop computer or a PDA that reads these values off the serial port* and displays them in some visual fashion (e.g., the music visualizations made by your desktop MP3 player).

    * Note: Open the serial port with settings 9600-N-8-1.


    If you get done with all of the above, then:

  6. Read the information at http://handyboard.com/cricket/tech/ regarding the Cricket's byte code language and communications protocol. Write an application that interacts with the Cricket and causes it to turn on its motor port. The sequence of steps is as follows:

    1. Open the serial port for 9600-N-8-1 communications.
    2. Go through the cricket-check sequence and retrieve the decimal 135 acknowledgment value. Make sure to trap and discard the hardware and software echoes.
    3. Use the set-pointer command to point to an arbitrary address in memory.
    4. Load in the code for a, on.
    5. Set the pointer back to the initial location of the code.
    6. Send the run command.

For each of these exercises, prepare up a written description and/or circuit diagram and/or code listing (as appropriate) explaining what you did and how you came to believe your interpretation of what was going on was correct.

Last modified: Thursday, 30-Jan-2003 17:11:28 EST by fred_martin@uml.edu