To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.roboticsOpen lugnet.robotics in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / 9932
9931  |  9933
Subject: 
Micro Scout programming with VLL bar code: HOWTO
Newsgroups: 
lugnet.robotics, lugnet.robotics.microscout, lugnet.robotics.vll
Date: 
Tue, 11 Jan 2000 03:39:21 GMT
Viewed: 
8670 times
  
Summary: * The Micro Scout can be program by flashing a light at it.
         * Use transparencies as a low tech means of doing this.

A more detailed version is available at http://eaton.dhs.org/lego/

The Droid Developers Kit is the first and only MindStorms set that many of
us have either because is was cheap or because it offers R2D2. After
playing with the toy programs built into the brick, the mysterious P mode
cries out yearning to be discovered. The manual tells us to check the web
site for more information but the web side declines to comment stating:
check back in Fall 2000.

Fortunately the Scout SDK has an appendix that shows the codes understood by
the Micro Scout and ties these in to bar codes understood by the Code
Pilot.  Analyzing the bar codes was the first step.

    Step 1:  Understanding VLL

VLL is a binary bar code comprised of: Start bit, Checksum, Data, Stop bit.
A simple example shows encoding VLL message 0 (Motor Forward for both the
Code Pilot and the Micro Scout):

#_##_##_##__#__#__#__#__#__#__#_###      #: Darkness      (usually a bar)
S <-cksm-> <-------data-------> Stop     _: Bright light  (white paper)

A VLL code is 35 time intervals in length. The start bit is 1 unit wide,
the stop bit is 3 units plus the space before it. The checksum and data are
binary digits with 0 being two spaces and a bar while 1 is a space and a
double width bar. The checksum is 3 digits and the data is 7 digits. The
data is the VLL code from 0 to 127. The checksum for VLL code n is:
7-(n+n/4+n/16). This was derived from analysis of about 30 bar codes for
the Code Pilot.

    Step 2:  Talking VLL to the Micro Scout

If you have a Scout, the easiest way is to get the SDK and have the Scout
talk to its little brother. Skip on to the next section to take the easy
way out.

The first step is to determine light and dark. This easiest done by running
the built in Seek Light program (3.) I could not get white paper to
register as light so I photocopied the bar codes onto overhead
transparencies. Ok, I could get a code to register if I held the piece of
paper 4 inches away from a 60 watt light bulb and then, it would only
register once of every dozen scan attempts. I had the best results when
placing the MicroScout on a table directly under a bright light bulb (point
source) and passing the transparency directly over the sensor.

Note that the Micro Scout uses the light level when it is first powered on
to indicate darkness. Ensure the sensor is getting a view of what you are
trying to call black when powering on the Micro Scout to ensure proper
calibration of the bar codes you wish to scan.

The Code Pilot has a standard bar width of 1/32 of an inch. My Micro Scout
could not decode these. I expanded them up to 1/8 inch. This allows 3 large
codes per transparency. Future experimentation may prove a smaller bar code
will suffice. I chose to print the codes 2.5 inches high to ensure the
sensor is registering the bars and not the white above or below the code.
For now, grab a copy of my Postscript program which prints all 29
documented codes the Micro Scout on 10 pages and try it out for yourself.

My Micro Scout bar codes are available at http://eaton.dhs.org/lego/

The next step for me will be to bring an old computer out of retirement and
let it control an LED directly (emulating the scout) so I do not have to
keep all the transparencies around. One thing I assume will be required is
a period of light before the start bit. This will remain theory until I
have time to experiment further or someone else beats me to it.

    Step 3:  Writing a Program

First turn the Micro Scout on and place it in P mode. Remember that it
calibrates its light sensor for darkness when first turned on.

Flash one of the 17 scripting codes at it.  You just started a new program.
Any previous program was erased.  Flash some more scripting codes to create
a longer program.

    Step 4:  Execute the Program

The Run button executes the current program. The script is completed. If
you want to add to a script once it has executed, you have to reenter it
from the beginning. This is not too bad since the longest program you may
enter is only 15 instructions.  The VLL code Run performs the same function
as the Run button.

VLL is disabled while a program or script is running. Reset and Motor Stop
are ignored as far as I can tell. The only way I could interrupt a program
is with the buttons and not my bar codes.

Happy Hacking!
Doug



Message has 2 Replies:
  Re: Micro Scout programming with VLL bar code: HOWTO
 
Have you tried using the computer monitor? ie: display the bar code on your computer screen and scan along the code? this may make a simple scout/code pilot programmer possible. -Rich (...) (24 years ago, 11-Jan-00, to lugnet.robotics, lugnet.robotics.microscout, lugnet.robotics.vll)
  VLL Transmit for RCX (was: Micro Scout programming with VLL bar code: HOWTO)
 
(...) hook up a light sensor, initialize it, and then use vll_send(code) to transmit. The little red LED on the light sensor blinks furiously. The Scout still does this far faster (about 3x) but it probably has some special hardware (not the least (...) (24 years ago, 13-Jan-00, to lugnet.robotics.rcx.legos, lugnet.robotics.microscout, lugnet.robotics.vll)

10 Messages in This Thread:




Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR