
What a shame! It's been one month since the last progress report (thank goodness Valerie you've been quite busy yourself, otherwise you would have noticed my laziness and fired me)! In any case, there's some good news in this report as I've managed to re-designed the led display circuit and re-written the program. So what's the difference from the old circuit/code?
In the old circuit/code each led was connected individually to a single output pin of a shift register. The advantages were:
1) The program was very simple: shift in the data with one data line
2) 'Scrolling' effect was by default accomplished with the shift registers
3) No need to store the entire message in the M32 (the shift registers stored the data)
4) No need to receive the entire message before displaying it
5) No need to continously refresh the display
But the disadvantages became clear when I tried to make the final circuit for the shift registers: there were too many wires and shift registers! For a 10-letter display (250 led's) the circuit had 250 output wires and 32 shift registers!
So the circuit/code was re-designed today and now it functions by addressing each row of the display and having one shift register for each letter. Because there's only one shift register for each letter, the IC (we will use surface mount) can actually be physically next to the led's, so no need to stretch long wires to put the shift registers somewhere else. The advantages are clear: for a 10-letter display (250 led's) the circuit has 19 wires (10 data-lines [one for each letter], 5 wires for the rows, plus 4 wires for power/ground/clock/output-enable) and 10 shift registers! In the photo you can see the wires and the single shift regsiter (I only have one letter, but each additional letter means only adding one shift register and one wire for data). Much simpler, no?
The disadvantages are that the M32 needs to store the entire message in memory, and it also needs to continously refresh the display. It is also difficult to do the 'column-scrolling' effect, so there will instead be a 'letter-scrolling' effect (which I think is an acceptable compromise).
Please take a look at the video to see everything working! In the video I touch two electrodes, connected to two different M32's, to transfer the message. Notice that the entire message transmits quite quickly (< 1s).
Now the next step is to add at least 2 more letters to the display so I can test the letter scrolling. I will also improve the program so that it can periodically listen for new messages being sent to it. Finally I will make the display work with the morse code program. It's going to work very well!
Transferred Message: ENJOY YOUR TRIP
No comments:
Post a Comment