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.



Related:

Recent Entries

Comments

Oldest comments listed first.

Posted by: chuckularone on November 6, 2006 at 7:03 AM

Has anyone converted this code for the BS1?


Posted by: c0redump on November 6, 2006 at 8:01 AM

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.


Posted by: chuckularone on November 7, 2006 at 9:28 AM

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


Posted by: dgiancaspro on June 26, 2007 at 12:26 PM

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

Dave


Leave a comment


Subscribe to MAKE!Subscribe to MAKE Magazine!

Subscribe today, save 42% and get web access to MAKE free. MAKE Digital Edition is available only to subscribers.

$34.95 / 1 year
(4 Quarterly Issues)

Subscribe now

How-to videos for Makers and Crafers!


Void your warranty, violate a user agreement, fry a circuit, blow a fuse, poke an eye out. Make: The risk-takers, the doers, the makers of things... Welcome to Make: Online!


CRAFT Maker Shed Maker Faire MAKE television
MAKE: en EspaƱol MAKE: Japan



Check out all of the episodes of Make: television



Connect with MAKE

Be a MAKE fan on Facebook MAKE on Facebook
Visit our Facebook page and become a fan of MAKE!
MAKE on Twitter MAKE on Twitter
Follow our MAKE tweets!
MAKE Flickr Pool MAKE on Flickr
Join our MAKE Flickr Pool!
    make_tips on Twitter

    MAKE's RSS feed is here.
    Add MAKE to iGoogle - GoogleGoogle.
    How to add MAKE to your RSS reader - Real simple.
    Add MAKE on FriendFeed


    Advertise here with FM.

    Why advertise on MAKE?
    Read what folks are saying about us!

    Click here to advertise on MAKE!

    MAKE wins Treehugger Best of Green Award

    MAKE wins Brit Insurance Design Award

    Subscribe to MAKE Magazine!

    Make: Online authors!

    Gareth Branwyn, Chris Connors (guest author), Collin Cunningham, Marc de Vinck, Peter Horvath (intern), Kip Kay, Goli Mohammadi, John Park, Sean Ragan, Becky Stern, Phillip Torrone

    Suggest a Site!

    Current Podcast

    itunesdl.gif How-To Tuesday: Arduino 101 & the PING))) ultrasonic sensor The PING))) ultrasonic sensor is a really easy way to measure distance with a micro-controller. All you have to do is hook up 3 wires and upload some code. These sensors are great for robots, alarm systems, or any... More...

    Get the Make: Online sent via email
    Enter your email to receive Make: Online each day:






    Subscribe to MAKE Magazine!

    Recent Posts from the Craft: Blog