![]() |
||||||||||||||||||
![]()
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() I use
and
recommend Firefox for the best internet browsing experience. Click below for your free copy today: CLICK
THE IMAGE:
Note:
I find it faster
and easier to use and it has great plugins. It even imports all your current browser settings! There's
no risk as your existing browser is not affected in any way - you can just choose which
one to use.
|
|
Useful For You. Readers
comments
|
||||||||||||||||
How to drive an led display matrix.LED display Matrix Just how do
you drive 64 LEDs
using only 10 microcontroller pins?..
Here
you can
find out how to drive an led display matrix with 64 LEDs (8 rows by
8 columns - 8x8 display) or less e.g. 35 LEDs (7 rows by 5 columns -
5x7 dot matrix).
Videos Click here to see a video that uses the 8x8 display for a simple game (To make it yourself you will have to add two buttons to the hardware and write some code in c). It uses persistence of vision to let you drive the 64 led matrix with only 10 microcontroller outputs! Normally you would need 64 outputs for 64 LEDs but by using multiplexing and a helper chip you can get away with 10. LED Display multiplexing simply means turning on one led for a short period of time and doing this repeatedly for each LED. If you do this fast enough then your eye will not notice any flicker. Note: The unit used in this project is simply an array of 64 LEDs.The LEDs are no different to any other LEDs but it saves a huge amount of soldering as all the wiring has been done for you. ...Or you could wire it up yourself if you can't get hold of the module. If you wire it yourself you still only need 10 control wires (just wire you leds the same as shown in the module diagram). LED display matrix 8x8 LEDs
A dot matrix led display is simply a grid of LEDs arranged for use by multiplexing. Specification
Dot matrix LED display project details.
You can program the PIC in circuit through the ICSP connector. More projects for the led dot matrix display...Includes driving the led matrix using interrupts and scrolling methods...
Hardware operation(Click diagram to open a pdf) ![]() MultiplexingIf you tried to drive 64 individual LEDs you would need 64 individual output pins (each led connected to a output pin on one side and ground on the other). Obviously that is a tall order so the way round it is to use persistence of vision which is a way of describing how your eye works. Your eye reacts slowly to changes in light intensity so that if a light is turned on and off quickly enough then it does not notice that the light is off. Basically your eye remembers a light pulse for a short time. The approximate time is 20ms so if the light is turned on at a frequency >50Hz (1/20ms) then your eye will not notice any flicker at all. Multiplexing uses this fact to reduce the number of pins needed to drive an LED display. You can do this by splitting the 64 led display into 8 rows and 8 columns which lets you drive it using 8 row outputs and 8 column outputs. In fact the 8x8 led matrix block used here has all the leds arranged in this way already.
Note: The orientation of the led block must be pin 1 at the top left to view characters the right way up. Each row is driven in turn and as long as all of the rows are driven within a time period of 20ms it will appear as though the LEDs are on continuously. To turn a specific led 'ON', data is output to the column drivers when a row is driven. Helper chipTo save more pins it is common to use a helper chip and in this project it is a Johnson counter (a 4017). This generates a walking one every time that it's clocked. Since you only want one row on at a time it is the ideal chip for this application. Note: In this project when the 4017 has been reset it outputs a logic high at Q0 - which is not connected - so during reset the 4017 does nothing. This allows you to use the column driver port for something else if you want to when you are not driving the LEDs. To drive the 4017 all you need is two pins one for reset and one for clock. So to fully drive the 64 matrix led display you need only 10 microcontroller output pins. You don't have to use a 4017. If you have enough pins you could drive the led display directly e.g. using a 16F877A. It all depends on your circuit and what resources you need to use. ![]() Row current sinkTo get more current through the LEDs you need to use a transistor at each row driver as the maximum current you can sink or source is low. The row driver sinks all the current from each active row LED. To let the current flow you need to use a transistor at each row as the maximum current you can sink or source is very low for an HC4017 (1ma). I used a ULN2803 (an array of 8 grounded NPN transistors) - which is massive over design in terms of its collector current capability (500mA) but provides a convenient (and cheap) package which is useful for prototyping. Note you can use individual NPN transistors if you want to - normal standard transistors are OK as the maximum current is about 60mA through a column. Character SetThe most difficult thing about using the dot matrix LED display is defining the characters. Basically for ASCII characters you need an array of 128 blocks each having 8 column data numbers. The usual way is to get out a piece of graph paper and define your characters by drawing blocks where a pixel is on. You then translate each line into hex (binary to hex is very easy) and then transfer this information to your program source code. I have defined characters 0-9 which are cycled continuously. Dot Matrix LED Display SoftwareProject files for the dot matrix led display Compiler
project files C
Source files. Header
files. Output
files Dot Matrix Led Display code description.16F88-dot-matrix-8x8.cThis contains all the code except :
The code is simple and easy to follow - all the action happens in main(). It enters a continuous a continuous loop blinking an led on port A and driving the columns of the 8x8 led display and driving the 4017 (for rows). At each blink the next character is selected from the character set. The code repeatedly executes the for loop and it must go faster than 20ms for 8 columns - so the code has to go faster than 20ms/8 = 2.5ms - which it does. So there is no visible flicker. At each row (selected at each iteration of the for loop) the next column data is output so that the entire character is displayed. VIDEOS ideas for the 8x8 matrixNOTE: Click the bottom left PLAY button ONLY (not the middle one).Video of a simple block game for the 8x8 matrix. ^^^Click bottom left play button only. More projects for this circuit Jump from dot matrix led display to Best-microcontroller-projects home page |
||||||||||||||||||
|
||||||||||||||||||
|
||||||||||||||||||