instructable led dot matrix display

6
Led Matrix.mp4 Step 1: Things Required for this project you will require : Related (http://cdn.instructables.com/FKA/PMYU/H5408HGO/FKAPMYUH5408HGO.LARGE.jpg) (http://cdn.instructables.com/F3Y/VORM/H5408HNM/F3YVORMH5408HNM.LARGE.jpg) About This Instructable Posted: Aug 4, 2012 License: General Public License 108,869 views 93 favorites (/member/kapil+gupta/) kapil gupta (/member/kapil+gupta/) Follow I am the Technology lover always doing intersting and innovative stuff. Subscribing to me = fun + excitement !!!!!!!!! 11 Bio: (/id/RCMOODLYTE) (/id/ScopeclockAnalog ClockAndTemperaturesensor) More by kapil gupta led matrix (/tag/typeid/categorytechnology/keyword led+matrix/) arduino (/tag/typeid/categorytechnology/keyword arduino/) multiplexing (/tag/typeid/category technology/keywordmultiplexing/) scrolling text (/tag/typeid/category technology/keywordscrolling+text/) 8x8 matrix (/tag/typeid/categorytechnology/keyword 8x8+matrix/) Tags: Group Add instructable to: LED Matrix Test 1 using an AS1107 IC (/id/LED MatrixTest1usingan AS1107IC/) by TheArduinoGuy Automated Candy Dispenser (/id/Automated CandyDispenser1/) by markarichard (/member/markarichard/) 7 Bicolor LED Matrix Scrolling Text Display (/id/7BicolorLEDMatrix ScrollingTextDisplay/) by jollifactory Voice Input Arduino Bi color LED Matrix Scrolling Text Display (Bluetooth + (/) LED Dot Matrix Display by kapil gupta (/member/kapil+gupta/) Collection I Made it! Download (/id/LEDDotMatrixDisplay1/?download=pdf) 5 Steps Favorite Share (/id/LEDDotMatrixDisplay1/) You (/you/)

Upload: apofview

Post on 16-Jul-2016

89 views

Category:

Documents


3 download

DESCRIPTION

LED Dot Matrix Display

TRANSCRIPT

(/)

let's makeExplore   (/tag/type­id/) Create   (/about/submit.jsp) Contests   (/contest/) Community   (/community/)

share what you make >

(/editInstructable/) (/id/intel/) (/tag/type­id/category­living/channel­reuse/?sort=FEATURED)(/tag/type­id/category­outside/channel­camping/?sort=FEATURED)(/tag/type­id/category­technology/channel­raspberry­pi/?sort=FEATURED)

In this project, you shall again use two sets of shift registers. These will beconnected to the rows andcolumns of the dot matrix display. You will then show a simple object, or sprite,on the display andanimate it. The main aim of this project is to show you how a dot matrix displayworks and introduce theconcept of multiplexing because this is an invaluable skill to have.

Led Matrix.mp4

Step 1: Things Required

for this project you will require ­:

Related

(http://cdn.instructables.com/FKA/PMYU/H5408HGO/FKAPMYUH5408HGO.LARGE.jpg)

(http://cdn.instructables.com/F3Y/VORM/H5408HNM/F3YVORMH5408HNM.LARGE.jpg)

About This Instructable

Posted:Aug 4, 2012

License:GeneralPublicLicense

108,869 views

93 favorites

(/member/kapil+gupta/)

kapil gupta(/member/kapil+gupta/)

  Follow

I am the Technology lover alwaysdoing intersting and innovative stuff.Subscribing to me = fun + excitement!!!!!!!!!

11

Bio:

 (/id/RC­MOOD­LYTE)

 (/id/Scope­clock­Analog­Clock­And­Temperature­sensor)

More by kapil gupta

led matrix (/tag/type­id/category­technology/keyword­

led+matrix/)

arduino (/tag/type­id/category­technology/keyword­

arduino/)

multiplexing (/tag/type­id/category­

technology/keyword­multiplexing/)

scrolling text (/tag/type­id/category­

technology/keyword­scrolling+text/)

8x8 matrix (/tag/type­id/category­technology/keyword­

8x8+matrix/)

Tags:

 Group

Add instructable to:

LED Matrix Test 1 usingan AS1107 IC (/id/LED­Matrix­Test­1­using­an­AS1107­IC/)by TheArduinoGuyAutomated CandyDispenser (/id/Automated­Candy­Dispenser­1/)by markarichard(/member/markarichard/)7 Bi­color LED MatrixScrolling Text Display(/id/7­Bi­color­LED­Matrix­Scrolling­Text­Display/)by jollifactoryVoice Input Arduino Bi­color LED Matrix ScrollingText Display (Bluetooth +

(/)

LED Dot Matrix Display  by kapil gupta (/member/kapil+gupta/)

 Collection   I Made it!

 Download (/id/LED­Dot­Matrix­Display­1/?download=pdf) 5 Steps

  Favorite  Share 

 (/id/LED­Dot­Matrix­Display­1/)

 You   (/you/)

1. 1  LED matrix2. 8  resistors 1k ohm3. 8 557 transistors4. 1 ULN2803 IC5  Arduino6. 2 74HC595 shift register7. 2 Bread board8. Connecting Wires

Step 2: Working

Dot matrix units typically come in either a 5x7 or 8x8 matrix of LEDs. The LEDsare wired in thematrix such that either the anode or cathode of each LED is common in eachrow. In other words, in acommon anode LED dot matrix unit, each row of LEDs would have all of theiranodes in that row wiredtogether. The cathodes of the LEDs would all be wired together in each column.The reason for this willbecome apparent soon.A typical single color 8x8 dot matrix unit will have 16 pins, 8 for each row and 8for each column.The reason the rows and columns are all wired together is to minimize thenumber of pins required.If this were not the case, a single color 8x8 dot matrix unit would need 65 pins,one for each LED and acommon anode or cathode connector. By wiring the rows and columns together,only 16 pins arerequired.

However, this now poses a problem if you want a particular LED to light in acertain position. If, forexample, you had a common anode unit and wanted to light the LED at X, Yposition 5, 3 (5th column,3rd row), then you would apply a current to the 3rd Row and ground the 5thcolumn pin.The LED in the 5th column and 3rd row would now light.

Now let’s imagine that you want to also light the LED at column 3, row 6. So youapply a current tothe 6th row and ground the 3rd column pin. The LED at column 3, row 6 nowilluminates. But wait…theLEDs at column 3, row 6 and column 5, row 6 have also lit up.

This is because you are applying power to row 3 and 6 and grounding columns3 and 5. You can’tturn off the unwanted LEDs without turning off the ones you want on. It wouldappear that there is noway you can light just the two required LEDs with the rows and columns wiredtogether as they are. Theonly way this would work would be to have a separate pinout for each LED,meaning the number of pinswould jump from 16 to 65. A 65­pin dot matrix unit would be very hard to wire upand control becauseyou’d need a microcontroller with at least 64 digital outputs.Is there a way to get around this problem? Yes there is, and it is calledmultiplexing (or muxing).

Multiplexing is the technique of switching one row of the display on at a time.By selecting the columnthat contains the row that contains the LED that you want to be lit, and thenturning the power to thatrow on (or the other way round for common cathode displays), the chosen LEDsin that row willilluminate. That row is then turned off and the next row is turned on, again withthe appropriatecolumns chosen and the LEDs in the second row will now illuminate. Repeatwith each row till you get to

 See More (/tag/type­id/?q=)

Android) (/id/Voice­Input­

Arduino ­ LED ScrollingText ~ Simple & Easy(/id/Arduino­LED­Scrolling­Text­Simple­Easy/)

the bottom and then start again at the top.If this is done fast enough (at more than 100Hz, or 100 times per second) thenthe phenomenon ofpersistence of vision (where an afterimage remains on the retina for approx1/25th of a second) will meanthat the display will appear to be steady, even though each row is turned on andoff in sequence.By using this technique, you get around the problem of displaying individualLEDs without theother LEDs in the same column or row also being lit.

By scanning down the rows and illuminating the respective LEDs in each columnof that row anddoing this very fast (more than 100Hz) the human eye will perceive the image assteady and the image ofthe heart will be recognizable in the LED pattern.You are using this multiplexing technique in the Project's code. That’s howyou’re to display theheart animation without also displaying extraneous LEDs.

Step 3:

you have to calculate the value of the resistors you can use You should first get some specs on your LEDs, you should know their forwardvoltage and forward current, you can get this info from the datasheet. The circuitoperates on 5V so your Source voltage is 5V which can be obtained from a 5vadapter

Download the original file to see the schematics better.(press the "i" icon in thetop left corner of the picture)

Step 4: Making it Work

I have a made the program that displays sentence from the arduino serialmonitor on the matrix, my code is very basic .I have made a windows applicationto make the font of the display .Please write to me at my email id ­[email protected] (mailto:[email protected])   you want to getthat application

(http://cdn.instructables.com/FQ9/QFFJ/H54064CC/FQ9QFFJH54064CC.LARGE.jpg)

We have a be nice comment policy. Please be positive and constructive.

  I Made it!   Add Images Make Comment

(/member/Electo4fun/)

1 year ago Reply

flag

(/member/Electo4fun/)

1 year ago Reply

flag

(/member/dinesh.maharjan.94064/)

8 months ago Reply

flag

(/member/MarioK1/)

9 months ago Reply

flag

(/member/dinesh.maharjan.94064/)

10 months ago Reply

Led Matrix Scrolling Text.txt  (/files/orig/FQC/A1CY/H5EW79JK/FQCA1CYH5EW79JK.txt)6KB

Step 5: All Done !!!!!!!!!

Congratulations your 8x8 led matrix is ready . You can display anything youwould like .Now U can play with it and make  8x8 led matrix by manuallysoldering the Led`s or 16x8 matrix and so on !!!!!!

Electo4fun (/member/Electo4fun/)

Good Job :D.

I did this but instead of the letters lighting up the entire matrix lights up and theletters don't.

Electo4fun (/member/Electo4fun/)  Electo4fun

Ah I fixed it... In the code you must remove the '~'.

dinesh.maharjan.94064 (/member/dinesh.maharjan.94064/)  Electo4fun

Thanks for reply. can u please tell in brief. i amconfuse to remove the '~'.

MarioK1 (/member/MarioK1/)

Oh man, your article is sooo nice but in my opinion your Sourcecode couldhave had some more comments or plausible variable names :P Specially ifyou try to port this to an other language / platform... Im trying to find somesolution for my special Industrial Dot Matrix Display (TIP: There they added theseperate Column Transistors to the last shift register so you can controleverything over the serial shift) ... But thanks anyway !

dinesh.maharjan.94064 (/member/dinesh.maharjan.94064/)

Thanks for the schematic and code. In that code only 2 time text messagedisplay. but i want to display text message for a long time until another serialmoniter send next text message. So please help me. my id [email protected]

(http://cdn.instructables.com/FDO/SXFL/H5EW79J7/FDOSXFLH5EW79J7.LARGE.jpg)

flag

(/member/RileyPankratz15/)

1 year ago Reply

flag

(/member/zeeroo/)

1 year ago Reply

flag

(/member/zeeroo/)

1 year ago Reply

flag

(/member/petros9/)

1 year ago Reply

flag

(/member/msemtd/)

1 year ago Reply

flag

(/member/layal_1/)

2 years ago Reply

flag

(/member/angel+6120/)

2 years ago Reply

flag

(/member/knexpert1700/)

2 years ago Reply

RileyPankratz15 (/member/RileyPankratz15/)

Am I able to use s8050 d331 transistors from Texas Instruments? I got themfrom a kit and I'm wondering if they will substitute nicely or not?

zeeroo (/member/zeeroo/)

The picture shows TO­92 NPN transistor but the parts list says 557 wich isPNP looking at the schematics it should be PNP transistor right ?

zeeroo (/member/zeeroo/)  zeeroo

sorry i meant should be NPN not PNP

petros9 (/member/petros9/)

How much time do the LED lamps need to turn ON? What is the refresh rate? How much time is it needed to scan a column/row and also to switch from onecolumn/row to another? 

Thanks in advance

msemtd (/member/msemtd/)  petros9

I haven't read the authors' Arduino code by the way, but I wouldrecommend performing the refresh of each row in a timer interrupt(have a look on the Arduino playground for help on using timerinterrupts).

You want to choose a refresh rate that looks smooth to the human eyeso something over 50 updates (of the entire display) per second – i.e.50Hz. Let's say we chose to refresh one row per millisecond. Thatequates to 1000 row updates per second or 1000/8 full display updatesper second on this 8 row display. That is a 125Hz refresh rate.

We could easily halve this rate to a nice smooth 62.5Hz by updating arow every 2 milliseconds (for a 16 pixel high display at 62.5Hz the 1msis ideal). The duration for which the LEDs are left on during that 2msrow­scan time will dictate how bright the display is!

The Arduino will take a little time to clock the data for each row into theshift register(s). For longer pixel displays the shift registers are chainedtogether and more bits need to be shifted in. Thankfully the 74HC595has a latch so the data can be clocked in for the next row while theprevious row is being displayed on the LEDs!

Smartly coded timer interrupts will allow the Arduino to do other jobswhilst maintaining a solid refresh rate. I will post up some code whenI've had a chance to try this out on an Arduino. BTW: on of my jobs isto write firmware for scrolling LED matrix displays :D

layal_1 (/member/layal_1/)

Can I do this project but without Arduino ?

angel 6120 (/member/angel+6120/)  layal_1

if you found this project without using Arduino . could you please helpme ??

knexpert1700 (/member/knexpert1700/)

I have some questions about the parts list, I've been looking at an 8x8 led rgbdisplay on ebay for $6.95 and I'm wondering if the resistor is ULN2803 IC likeyou said or is it ULN2803A IC like what I've been seeing online. Also, I think

flag

(/member/knexpert1700/)

2 years ago Reply

flag

(/member/ProBodger/)

2 years ago Reply

flag

(/member/kapil+gupta/)

2 years ago Reply

flag

you should change the register to resistor in the parts list.

knexpert1700 (/member/knexpert1700/)  knexpert1700

Sorry, I meant to say transistor! :P

ProBodger (/member/ProBodger/)

excellent

kapil gupta (/member/kapil+gupta/) (author)   ProBodger

Thanks buddy !! 

About UsWho We Are (/about/)Advertise (/advertise/)Contact (/about/contact.jsp)Jobs (/community/Positions­available­at­Instructables/)Help (/id/how­to­write­a­great­instructable/)

Find UsFacebook (http://www.facebook.com/instructables)

Youtube (http://www.youtube.com/user/instructablestv)

Twitter (http://www.twitter.com/instructables)

Pinterest (http://www.pinterest.com/instructables)

Google+ (https://plus.google.com/+instructables)

Tumblr (http://instructables.tumblr.com)

ResourcesFor Teachers (/teachers/)Artists in Residence (http://www.autodesk.com/artist­in­residence/home)Gift Pro Account (/account/give?sourcea=footer)Forums (/community/)Answers (/tag/type­question/?sort=RECENT)Sitemap (/sitemap/)

 Go Pro Today » (/account/gopro?sourcea=footer)

 We're Hiring! » (/community/Positions­available­at­Instructables/)

MobileDownload our new apps for iOS,Android and Windows 8!

Android(https://play.google.com/store/apps/details?

id=com.adsk.instructables)

iOS(https://itunes.apple.com/app/instructables/id586765571)

Windows(http://apps.microsoft.com/windows/en­us/app/7afc8194­c771­441a­9590­

54250d6a8300)

Join our newsletter:

Terms of Service (http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=21959721) |Privacy Statement (http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=21292079) |Legal Notices & Trademarks (http://usa.autodesk.com/legal­notices­trademarks/) | Mobile Site (http://m.instructables.com)

 (http://usa.autodesk.com/adsk/servlet/pc/index?id=20781545&siteID=123112)

Join!

© 2015 Autodesk, Inc.

enter email