POV one more time

adub

New Member
POV (Persistence Of Vision) has been tossed about quit a bit here lately. Michael Jeffery (Michael2727) offered a challenge in a forum message that I took. Always looking for interesting ideas for a new program to occupy my mind.

What came from that with considerable time and effort (a major FUN thing!) was a program that allows the creation and viewing of 5x7 LED fonts. Michael was the creator of the fonts. Not my kind of fun at all.

The program is still a Beta but seems stable and is fun to use. In the long run that says a lot.

I have a web page at http://www.freewebs.com/adub/
<A href='http://www.freewebs.com/adub/' Target=_Blank>External Web Link</a> where you can download the program. The zip file contains a couple of fonts, a couple of picaxe program templates an ini file that keeps track of most of your settings, the exe file, and two schematics for two versions of a POV viewer. The 08 version uses two 08s. (no help file at this time. any volunteers?)

There are three tabs. Left most is the font maker. Center is the message viewer/maker. It allows animated gif files to be created.(Michael's idea. A good one I believe.) The third tab allows you to set your chip selection for the program to make appropriate code for displaying a POV message. Please, feel free to improve on them. The 08 version produces two programs in the same memo box but you can separate them in the Picaxe Programming Editor before running them. The 08s require two chips because of the lack of output pins. I used Serin/out to link and sync the flashing LEDs on the two 08s.

Any comments or constructive criticisms welcome.
Arvin Evans

ps.
Michael Collier, please note, this program was written with Delphi 6 free version (from D3) which I have been using with great enjoyment since it first came out. How long ago? I have forgotten. Still works so why change?
 

adub

New Member
I have taken the time to make a program usage file. Not long but it should help if you are interested but can't figure out what needs to be done to make it all work.
<A href='http://www.freewebs.com/adub/Program Usage.htm' Target=_Blank>External Web Link</a>
 

SIRA

Member
POV: I have built and used your &quot;Message Maker&quot; for the 18X, and the result is partial ie., just the first letter in a single seven letter word is displayed. Wish I could view the video clip of your POV display.
 

adub

New Member
Sorry for the slow response. Tied up.

Don't have a video to share. Did get a 5 letter message to show. I was having trouble because I haven't hooked up a motion sensor and was just using a 250 pause and waving my breadboard like crazy!

Am currently puting together a tall pendulum. That is I was. Got distracted by a project my son is wanting me to work on for him using a stepper motor. So right now nothing is happening.

Arvin
 

SIRA

Member
Regarding your reply:
[Don't have a video to share. Did get a 5 letter message to show], I wonder how with the existing program generated by the MessageMaker you could display all the five letters. Even in SIM mode eeprom 5 (......) is not picked up, let alone display on the 18X ckt board. It would be of great value if you could correct this MessageMaker program
eeprom 0,(%1111111,%0000010,%0000100,%0000010,%1111111); W
eeprom 5,(%0111110,%1000001,%1000001,%1000001,%0111110); O
eeprom 10,(%1111111,%1001000,%1001100,%1001010,%0110001); R
eeprom 15,(%1111111,%0000001,%0000001,%0000001,%0000001); L
eeprom 20,(%1111111,%1000001,%1000001,%1000001,%0111110); D
symbol CharsMinusOne = 4

loop1:
for b3 = 0 to CharsMinusOne
for b2 = 0 to 4 ' 5 bytes per 5x7 character
read b2,b1
if b1 = 0 then skip
pins = b1
skip:
next b2
pins = %00000000
next b3
pause 250
goto loop1

Thanks.
 

adub

New Member
WOOPS! Missing something. That code will only show the first character!

I'll have a look see what I've included and get back to you.

Sorry,
Arvin
 

adub

New Member
This will be better. You will have to work on what the timing you use will be or use a sensor of some kind to start the display.

I'm currently working on a project that has to be done yesterday so I'm not going to be much help.

Thanks for bringing that to my attention.
Arvin

code follows:
<code><pre><font size=2 face='Courier'>
eeprom 0,(%1111111,%0000010,%0000100,%0000010,%1111111); W
eeprom 5,(%0111110,%1000001,%1000001,%1000001,%0111110); O
eeprom 10,(%1111111,%1001000,%1001100,%1001010,%0110001); R
eeprom 15,(%1111111,%0000001,%0000001,%0000001,%0000001); L
eeprom 20,(%1111111,%1000001,%1000001,%1000001,%0111110); D
symbol CharsMinusOne = 4

loop1:
for b3 = 0 to CharsMinusOne
b4 = 5 * CharsMinusOne - 1
for b2 = 0 to b4 ' 5 bytes per 5x7 character
read b2,b1
if b1 = 0 then skip
pins = b1
b5 = b2 + 1 // 5
if b5 = 0 then skip
pause 1
skip:
next b2
pins = %00000000
next b3
pause 250
goto loop1
</font></pre></code>
 

SIRA

Member
Thanks for the revised program. However, the last letter will not be displayed. Hence I've modified your program to display the last letter too.

eeprom 0,(%1111111,%0000010,%0000100,%0000010,%1111111); W
eeprom 5,(%0111110,%1000001,%1000001,%1000001,%0111110); O
eeprom 10,(%1111111,%1001000,%1001100,%1001010,%0110001); R
eeprom 15,(%1111111,%0000001,%0000001,%0000001,%0000001); L
eeprom 20,(%1111111,%1000001,%1000001,%1000001,%0111110); D
symbol CharsMinusOne = 4

loop1:
for b3 = 0 to CharsMinusOne
b6=CharsMinusOne+1
b4 = 5 * b6 - 1
for b2 = 0 to b4 ' 5 bytes per 5x7 character
read b2,b1
if b1 = 0 then skip
pins = b1
b5 = b2 + 1 // 5
if b5 = 0 then skip
pause 1
skip:
next b2
pins = %00000000
next b3
pause 250
goto loop1
 

adub

New Member
Ah. I see. My code only went to memory address 19 so the last character was never read.

Thanks,
Arvin
ps What kind of set up are you using to show the POV?
 

adub

New Member
:) SIRA. Added your changes and uploaded immediately. Need to also check the 08M code. It did work before but I'm not sure now so I will check.
Arvin

Edited by - Arvin on 05/11/2006 13:58:38
 

SIRA

Member
Arvin, as your MessageMaker is educative and in the interest of future users, how about updating the same by including the necessary alterations in the &quot;WRITE CODE&quot; section.
Thanks.
 

SIRA

Member
Thanks Arvin for updating the MessageMaker with the alterations, [within ten minutes of my request!]. I will test the 08M ckt soon.
 

adub

New Member
SIRA is was just by accident that I posted so quickly. Wish I could sit and monitor but I have a irregular day job.

If anyone has used the 18X code produced by the MessageMaker program, would you please post any success/failure when using it on any of the chips I don't own....that is anything but the 08M and the 18X.

What more would I need?
Thanks
Arvin W. Evans... A.W. hence the www.freewebs.com/adub/
 

SIRA

Member
Arvin, you have not replaced the variable &quot;CharsMinusOne&quot; with new substitute variable &quot;NumberOfChars&quot;. Would you please do the needful.

eeprom 0,(%1111111,%0000010,%0000100,%0000010,%1111111); W
eeprom 5,(%0111110,%1000001,%1000001,%1000001,%0111110); O
eeprom 10,(%1111111,%1001000,%1001100,%1001010,%0110001); R
eeprom 15,(%1111111,%0000001,%0000001,%0000001,%0000001); L
eeprom 20,(%1111111,%1000001,%1000001,%1000001,%0111110); D
symbol NumberOfChars = 5

loop1:

(------------------------------------)
( for b3 = 0 to CharsMinusOne )
( b4=CharsMinusOne+1 )
( b4=5*b4-1 )
(------------------------------------)

;The instructions in the box need to be replaced by:
(====================================)
( for b3 = 1 to NumberOfChars )
( b4 = 5 * NumberOfChars - 1 )
(====================================)
for b2 = 0 to b4 ' 5 bytes per 5x7 character
read b2,b1
if b1 = 0 then skip
pins = b1
b5 = b2 + 1 // 5
if b5 = 0 then skip
pause 1
skip:
next b2
pins = %00000000
next b3
pause 250 ;value of pause adjustable
goto loop1
 

adub

New Member
I like your changes to the code template.

So, I need to:
rewrite the program again...ok
save both templates again...ok
make a new zip file again...ok
upload it all to the server again...ok
done.

I could have save myself some trouble if I done it right the first time!

Anybody else out there looked at program?

Thanks again for the help.
Arvin
 

SIRA

Member
Arvin thanks for revised version.When I try to open the &quot;http://www.freewebs.com/adub/&quot;
I get the error msg: &lt;http://www.freewebs.com/adub/ - did not match any documents.&gt;
However if I click on the &lt;External Web Link&gt; I get your Message Maker Template etc.
I want my friend to try the POV, but I am unable to send the URL which will go to your web page.
Edited by Sira

Edited by - sira on 08/11/2006 19:51:15
 

adub

New Member
http://www.freewebs.com/adub/ works for me.
<A href='http://www.freewebs.com/adub/ ' Target=_Blank>External Web Link</a> now maybe.

Edited by - Arvin on 10/11/2006 13:54:54
 

SIRA

Member
Thanks, the page now opens with this URL. Would you please include a Rev # in all subsequent revisions of your Message Maker, so that the new download can be identified.
To display the message, I held the LED array steady, and read the reflected message in an oscillating mirror, ofcourse the letters are reversed! Perhaps one could improve on this technique.
 

SIRA

Member
I am afraid, the word &quot;oscillating&quot; is an overkill. Fact is I used a child's play mirror hinged to a book. I rocked the mirror to and fro, and viewed the reflected image. I tried to make a video clip of it but the result is very poor. Maybe a cylinder with strips of mirror stuck vertically, and spun on its axis, would present an acceptable POV image. The array of LEDs being held parallel to the spinning cylinder.
 
Top