Microcontrollers 101 – Build a POV

Technology
Microcontrollers 101 – Build a POV

Led Circuit
Project
Ibmlogo
IBM’s developer works show you how to make a “persistence of vision” device to spell words in the air with a Basic stamp… – “In this first article on microcontrollers, Erik Zoltan tells you what they are and how they work to your advantage. He presents a few simple examples illustrating how microcontrollers can be used, and gives you a complete implementation of a kinetic glowstick that uses persistence of vision to display images with a flashing row of LEDs.”Link.

Related, we have your POV, right here…:

  • Weekend Projects – Make A Persistence of Vision Gadget – Link.
  • Weekend Project Instructions – Make A Persistence of Vision Gadget – Link.
  • Persistence of vision projects – Link.
  • POV (Persistence of vision) using AVR – Link.
  • Light up animated Pac-Man bicycle wheels – Link.
  • HOW TO – The Super POV, the video! – Link.
  • Wirelessly updatable POV… – Link.
  • POV in a combat robot – Link.
  • LED POV helmet – Link.
  • POV in 3D – Link.

Minipov
From the MAKE store:
The MiniPOV2 is a persistence-of-vision device that rapidly blinks 8 LEDs on and off so that when waved through the air, an image or message appears to float in front of the viewer.

This kit is an easy-to-build demonstration showing how microcontrollers work. It teaches:

  • How to solder
  • How to assemble simple kits
  • How to program microcontrollers

The kit includes a Microcontroller, sockets, resistors, LEDs, connectors, a battery case and a printed circuit board. Add some basic tools, a PC with a parallel port, and a little programming, and the MiniPOV is ready to blink out your deepest thoughts.

Get one now, at the MAKE store – Link.

8 thoughts on “Microcontrollers 101 – Build a POV

  1. chuckularone says:

    Has anyone converted this code for the BS1?

  2. c0redump says:

    That circuit diagram (schematic) looks wrong; surely the ground pin of the microcontroller (pin 7) should be connected directly to the battery, not via the resistor? As it is, the voltage supplied to the microcontroller will vary according to how many LEDs are turned on.

  3. chuckularone says:

    Here’s the code for basic stamp 1
    I wish the pre tag worked properly. :-(
    Cut the code out and drop it in your editor. Uncomment the letters
    numbers and symbols you need and change the code near the top.

    There’s lot of room for improvement here!

    ' Basic Stamp 1 code for 7 led POV (PIN 7 is unused and 
    '  always set to 0 (off))
    '  Written by Chuck McKenna -- released into the wild on 11/07/2006
    '  Enjoy!
    ' {$STAMP BS1}
    
    DIRS = 255
    SYMBOL letterDelay = 5
    SYMBOL wordDelay = 10
    
    main:
     GOSUB m
     PAUSE letterDelay
     GOSUB a
     PAUSE letterDelay
     GOSUB k
     PAUSE letterDelay
     GOSUB e
     PAUSE letterDelay
     GOSUB colon
     PAUSE letterDelay
     PAUSE wordDelay
    GOTO main
    
    ' ALPHABET DEFINITIONS
    
    a:
     PINS = %01111100 ' *****
     PINS = %00001010 '    * *
     PINS = %00001001 '    *  *
     PINS = %00001010 '    * *
     PINS = %01111100 ' *****
     PINS = %00000000 '
     RETURN
    
    'b:
    ' PINS = %01111111 ' *******
    ' PINS = %01001001 ' *  *  *
    ' PINS = %01001001 ' *  *  *
    ' PINS = %00110110 '  ** **
    ' PINS = %00000000 '
    'RETURN
    
    'c:
    ' PINS = %00111110 '  *****
    ' PINS = %01000001 ' *     *
    ' PINS = %01000001 ' *     *
    ' PINS = %00100010 '  *   *
    ' PINS = %00000000 '
    'RETURN
    
    'd:
    ' PINS = %01111111 ' *******
    ' PINS = %01000001 ' *     *
    ' PINS = %01000001 ' *     *
    ' PINS = %00111110 '  *****
    ' PINS = %00000000 '
    'RETURN
    
    e:
     PINS = %01111111 ' *******
     PINS = %01001001 ' *  *  *
     PINS = %01001001 ' *  *  *
     PINS = %01000001 ' *     *
     PINS = %00000000 '
     RETURN
    
    'f:
    ' PINS = %01111111 ' *******
    ' PINS = %00001001 '    *  *
    ' PINS = %00001001 '    *  *
    ' PINS = %00000001 '       *
    ' PINS = %00000000 '
    'RETURN
    
    'g:
    ' PINS = %00111110 '  *****
    ' PINS = %01000001 ' *     *
    ' PINS = %01010001 ' * *   *
    ' PINS = %00110010 '  **  *
    ' PINS = %00010000 '   *
    ' PINS = %00000000 '
    'RETURN
    
    'h:
    ' PINS = %01111111 ' *******
    ' PINS = %00001000 '    *
    ' PINS = %00001000 '    *
    ' PINS = %00001000 '    *
    ' PINS = %01111111 ' *******
    ' PINS = %00000000 '
    'RETURN
    
    'i:
    ' PINS = %01000001 ' *     *
    ' PINS = %01000001 ' *     *
    ' PINS = %01111111 ' *******
    ' PINS = %01000001 ' *     *
    ' PINS = %01000001 ' *     *
    ' PINS = %00000000 '
    'RETURN
    
    'j:
    ' PINS = %00100001 '  *    *
    ' PINS = %01000001 ' *     *
    ' PINS = %00111111 '  ******
    ' PINS = %00000001 '       *
    ' PINS = %00000000 '
    'RETURN
    
    k:
     PINS = %01111111 ' *******
     PINS = %00001000 '    *
     PINS = %00100010 '  *   *
     PINS = %01000001 ' *     *
     PINS = %00000000 '
     RETURN
    
    'l:
    ' PINS = %01111111 ' *******
    ' PINS = %01000000 ' *
    ' PINS = %01000000 ' *
    ' PINS = %01000000 ' *
    ' PINS = %00000000 '
    'RETURN
    
    
    m:
     PINS = %01111111 ' *******
     PINS = %00000010 '      *
     PINS = %00000100 '     *
     PINS = %00000010 '      *
     PINS = %01111111 ' *******
     PINS = %00000000 '
     RETURN
    
    'n:
    ' PINS = %01111111 ' *******
    ' PINS = %00000100 '     *
    ' PINS = %00011000 '   **
    ' PINS = %00100000 '  *
    ' PINS = %01111111 ' *******
    ' PINS = %00000000 '
    'RETURN
    
    'o:
    ' PINS = %01111110 '  *****
    ' PINS = %01000001 ' *     *
    ' PINS = %01000001 ' *     *
    ' PINS = %01000001 ' *     *
    ' PINS = %00111110 '  *****
    ' PINS = %00000000 '
    'RETURN
    
    'p:
    ' PINS = %01111111 ' *******
    ' PINS = %00001001 '    *  *
    ' PINS = %00001001 '    *  *
    ' PINS = %00000110 '     **
    ' PINS = %00000000 '
    'RETURN
    
    'q:
    ' PINS = %01111110 '  *****
    ' PINS = %01000001 ' *     *
    ' PINS = %01000001 ' *     *
    ' PINS = %01010001 ' * *   *
    ' PINS = %00111110 '  *****
    ' PINS = %01000000 ' *
    ' PINS = %00000000 '
    'RETURN
    
    'p:
    ' PINS = %01111111 ' *******
    ' PINS = %00011001 '   **  *
    ' PINS = %00101001 '  * *  *
    ' PINS = %01000110 ' *   **
    ' PINS = %00000000 '
    'RETURN
    
    's:
    ' PINS = %00100110 '  *  **
    ' PINS = %01001001 ' *  *  *
    ' PINS = %01001001 ' *  *  *
    ' PINS = %00110010 '  **  *
    ' PINS = %00000000 '
    'RETURN
    
    't:
    ' PINS = %00000001 '       *
    ' PINS = %00000001 '       *
    ' PINS = %01111111 ' *******
    ' PINS = %00000001 '       *
    ' PINS = %00000001 '       *
    ' PINS = %00000000 '
    'RETURN
    
    
    'u:
    ' PINS = %00111111 '  ******
    ' PINS = %01000000 ' *
    ' PINS = %01000000 ' *
    ' PINS = %00111111 '  ******
    ' PINS = %00000000 '
    'RETURN
    
    'v:
    ' PINS = %00000111 '     ***
    ' PINS = %00111000 '  ***
    ' PINS = %01000000 ' *
    ' PINS = %00111000 '  ***
    ' PINS = %00000111 '     ***
    ' PINS = %00000000 '
    ' RETURN
    
    'w:
    ' PINS = %00000111 '     ***
    ' PINS = %00111000 '  ***
    ' PINS = %01000000 ' *
    ' PINS = %00111000 '  ***
    ' PINS = %01000000 ' *
    ' PINS = %00111000 '  ***
    ' PINS = %00000111 '     ***
    ' PINS = %00000000 '
    'RETURN
    
    'x:
    ' PINS = %01000001 ' *     *
    ' PINS = %00100010 '  *   *
    ' PINS = %00001000 '    *
    ' PINS = %00100010 '  *   *
    ' PINS = %01000001 ' *     *
    ' PINS = %00000000 '
    'RETURN
    
    'x:
    ' PINS = %00000011 '      **
    ' PINS = %00000100 '     *
    ' PINS = %01111000 ' ****
    ' PINS = %00000100 '     *
    ' PINS = %00000011 '      **
    ' PINS = %00000000 '
    'RETURN
    
    'x:
    ' PINS = %01000001 ' *     *
    ' PINS = %01100001 ' **    *
    ' PINS = %01001001 ' *  *  *
    ' PINS = %01000011 ' *    **
    ' PINS = %01000001 ' *     *
    ' PINS = %00000000 '
    'RETURN
    
    ' NUMERIC DEFINITIONS
    'd1:
    ' PINS = %01000100 ' *   *
    ' PINS = %01000010 ' *    *
    ' PINS = %01111111 ' *******
    ' PINS = %01000000 ' *
    ' PINS = %01000000 ' *
    ' PINS = %00000000 '
    'RETURN
    
    'd2:
    ' PINS = %01000010 ' *    *
    ' PINS = %01100001 ' **    *
    ' PINS = %01010001 ' * *   *
    ' PINS = %01001001 ' *  *  *
    ' PINS = %01000110 ' *   **
    ' PINS = %00000000 '
    'RETURN
    
    'd3:
    ' PINS = %00100010 '  *   *
    ' PINS = %01000001 ' *     *
    ' PINS = %01001001 ' *  *  *
    ' PINS = %01001001 ' *  *  *
    ' PINS = %00110110 '  ** **
    ' PINS = %00000000 '
    'RETURN
    
    'd4:
    ' PINS = %00011000 '   **
    ' PINS = %00010100 '   * *
    ' PINS = %00010010 '   *  *
    ' PINS = %01111111 ' *******
    ' PINS = %00010000 '   *
    ' PINS = %00000000 '
    'RETURN
    
    'd5:
    ' PINS = %00100111 '  *  ***
    ' PINS = %01001001 ' *  *  *
    ' PINS = %01001001 ' *  *  *
    ' PINS = %01001001 ' *  *  *
    ' PINS = %00110001 '  **   *
    ' PINS = %00000000 '
    'RETURN
    
    'd6:
    ' PINS = %00110110 '  ** **
    ' PINS = %01001001 ' *  *  *
    ' PINS = %01001001 ' *  *  *
    ' PINS = %01001001 ' *  *  *
    ' PINS = %00110000 '  **
    ' PINS = %00000000 '
    'RETURN
    
    'd7:
    ' PINS = %01100001 ' **    *
    ' PINS = %00010001 '   *   *
    ' PINS = %00001001 '    *  *
    ' PINS = %00000101 '     * *
    ' PINS = %00000011 '      **
    ' PINS = %00000000 '
    'RETURN
    
    'd8:
    ' PINS = %00110110 '  ** **
    ' PINS = %01001001 ' *  *  *
    ' PINS = %01001001 ' *  *  *
    ' PINS = %01001001 ' *  *  *
    ' PINS = %00110110 '  ** **
    ' PINS = %00000000 '
    'RETURN
    
    'd9:
    ' PINS = %00000110 '     **
    ' PINS = %01001001 ' *  *  *
    ' PINS = %01001001 ' *  *  *
    ' PINS = %01001001 ' *  *  *
    ' PINS = %00110110 '  ** **
    ' PINS = %00000000 '
    'RETURN
    
    'd0:
    ' PINS = %00111110 '  *****
    ' PINS = %01000001 ' *     *
    ' PINS = %01000001 ' *     *
    ' PINS = %01000001 ' *     *
    ' PINS = %00111110 '  *****
    ' PINS = %00000000 '
    'RETURN
    
    ' SYMBOL DEFINITIONS
    
    'arrow:
    ' PINS = %00011100 '
    ' PINS = %00011100 '
    ' PINS = %00011100 '
    ' PINS = %00011100 '
    ' PINS = %00011100 '
    ' PINS = %00011100 '
    ' PINS = %00011100 '
    ' PINS = %00111110 '
    ' PINS = %00111110 '
    ' PINS = %00011100 '
    ' PINS = %00011100 '
    ' PINS = %00001000 '
    ' PINS = %00001000 '
    ' PINS = %00000000 '
    ' RETURN
    
    'exc:
    ' PINS = %01011111 ' * *****
    ' PINS = %00000000 '
    ' RETURN
    
    colon:
     PINS = %00110110 '  ** **
     PINS = %00000000 '
     RETURN
    
    'heart:
    ' PINS = %00000110 '     **
    ' PINS = %00001111 '    ****
    ' PINS = %00011111 '   *****
    ' PINS = %00111110 '  *****
    ' PINS = %01111100 ' *****
    ' PINS = %00111110 '  *****
    ' PINS = %00011111 '   *****
    ' PINS = %00001111 '    ****
    ' PINS = %00000110 '     **
    ' PINS = %00000000 '
    ' RETURN
    
    'smile:
    ' PINS = %00011100 '   ***
    ' PINS = %00100010 '  *   *
    ' PINS = %01010101 ' * * * *
    ' PINS = %01010001 ' * *   *
    ' PINS = %01010101 ' * * * *
    ' PINS = %00100010 '  *   *
    ' PINS = %00011100 '   ***
    ' PINS = %00000000 '
    'RETURN
    
    

  4. dgiancaspro says:

    IBM seems to have pulled the article bummer Did anyone get a PDF of it?

    Dave

Comments are closed.

Discuss this article with the rest of the community on our Discord server!
Tagged

current: @adafruit - previous: MAKE, popular science, hackaday, engadget, fallon, braincraft ... howtoons, 2600...

View more articles by Phillip Torrone

ADVERTISEMENT

Maker Faire Bay Area 2023 - Mare Island, CA

Escape to an island of imagination + innovation as Maker Faire Bay Area returns for its 15th iteration!

Buy Tickets today! SAVE 15% and lock-in your preferred date(s).

FEEDBACK