![]() |
Forum Index : Microcontroller and PC projects : uM2(+): 64x32 RGB LED matrix display
![]() ![]() ![]() ![]() |
|||||
Author | Message | ||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10067 |
No, with a little bit of work you could daisy chain 2 to give 128x32 but 64x64 is harder as the x,y addressing goes to pot. ie. pixel 0,32 would need to actually be pixel 64,0. This is OK for one pixel but gets too clunky when a text character maps across the boundary. |
||||
WhiteWizzard Guru ![]() Joined: 05/04/2013 Location: United KingdomPosts: 2927 |
I have an idea which would need more panels to create a larger display (for an exhibition stand). Do you think a sensible approach would be to have one master MM, and then each 64x32 panel have its own dedicated (slave) MM sent 'data' from the Master MM via some protocol? Would ultimately love to be able to use all the MMBasic commands but on a 'bigger' scale (i.e. more pixels). However, that is beyond my capabilities - but I do think I could deal with scrolling text easier enough (and pixel plotting). Don't put any effort into this - just wondering what your initial thoughts may be about this. . . Thanks, WW |
||||
MicroBlocks![]() Guru ![]() Joined: 12/05/2012 Location: ThailandPosts: 2209 |
Peter, Do you have an estimate (or precise ![]() Microblocks. Build with logic. |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10067 |
If we just take into account the 6 data lines R1, G1, B1, R2, G2, B2 then the rate is approximately 6,000,000 bits per second. The timer interrupt varies in length depending on the bit being clocked (bit 7 = 112usec, bit6 = 56usec, bit5=44.8usec) but averages roughly 15625 interrupts per second. Each interrupt clocks out 64 bits on each of 6 channels. 6 x 64 x 15625 = 6,000,000 |
||||
WhiteWizzard Guru ![]() Joined: 05/04/2013 Location: United KingdomPosts: 2927 |
A better picture showing 4 blocks of all 512 colours. ![]() Still not full justice to what I am seeing on the actual panel. There is much more distinction between the colours than you see in the above photo; especially the Blues and Greens towards the top right corner. For anyone wanting to try this out, here is the code: DIM INTEGER ww,x,y,r,g,b x=0 ' start x-cordinate at left side (0) y=0 ' start y-cordinate at top row (0) FOR ww = 0 to 3 ' loop to create four blocks/rows of 8-pixel high colours FOR r = 0 to 7 ' loop through the 8 levels of RED FOR g = 0 to 7 ' 8 levels of GREEN FOR b = 0 to 7 ' 8 levels of BLUE LINE x,y,x,y,1,RGB(r*32,g*32,b*32) ' colour in pixel at x,y. r,g,b values multiplied by 32 to give 1 of 8 levels x=x+1 ' increment the x co-ordinate IF x = 64 THEN ' check if gone off right-hand side x = 0 ' move back to left hand column if gone off right side y = y + 1 ' and move down to next row on panel IF y = 32 THEN END ' if gone beyond bottom of panel, then all done ENDIF NEXT b,g,r,ww WW |
||||
lew247![]() Guru ![]() Joined: 23/12/2015 Location: United KingdomPosts: 1702 |
Thanks WW, I'll hook mine up later and give that a try, it looks pretty good already in the picture |
||||
WhiteWizzard Guru ![]() Joined: 05/04/2013 Location: United KingdomPosts: 2927 |
@lew247 Make sure you are using Peters latest RGB333 driver ![]() i.e. last post on Page 3 of this thread. Don't be confused by the comment near the top of his code which states RGB222 |
||||
Bill.b![]() Senior Member ![]() Joined: 25/06/2011 Location: AustraliaPosts: 232 |
Hi Peter Just loaded your RGB Driver into my explorer 64 and connected to a 32 * 64 display. All worked OK. My problem is I wand the program to auto run at power up. inserted option autorun ON in the program, This does not work. Removed and typed option autorun on at the command prompt then ran program, repowered and the program did not auto run. typed run at the command prompt - worked OK. The following is the error message received on both occasion. ![]() hope you or any one can help. Regards Bill In the interests of the environment, this post has been constructed entirely from recycled electrons. |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10067 |
The driver should be loaded into the library as-is with nothing else (or with additional subroutines that only use local variables). The main program should be in normal memory. Include autorun on at the top of the main program. Restart, should be no errors. Then run the main program by hand once. After that it should autorun on restart. If this doesn't work you are going to need to provide program listings of the main program and whatever you have in the library in order to help further. |
||||
Bill.b![]() Senior Member ![]() Joined: 25/06/2011 Location: AustraliaPosts: 232 |
Hi Peter Thanks for the reply. The only program in library is the RGB driver. to ensure, I reloaded ver 5.2 and saved the rgb driver to the library. The program I used to test is your demo with the autorun added. The results are the same as before. ![]() [code] Option autorun on Option explicit option default NONE dim integer i,x,a cls TEXT 2,16,"geoffg.net",lm,8,1,RGB(red) DO FOR x = 64 to -60 STEP -1 TEXT x,6,"Micromite+",lm,8,1,RGB(green) a=4-x TEXT a,26,"Micromite+",lm,8,1,RGB(magenta) box a-64,22,64,8,0,0,rgb(black) pause 50 NEXT x LOOP [/code] Bill In the interests of the environment, this post has been constructed entirely from recycled electrons. |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10067 |
Bill I can replicate the issue exactly as you report. I've reported this to Geoff as I can't make any sense of the problem. I don't think you are doing anything wrong or abnormal in any way. UPDATE If you change mm.startup from sub MM.startup
const OE=21 const CLK=51 const LAT=52 RGBled64(LAT, CLK, OE) font 8 end sub to sub MM.startup
RGBled64(52, 51, 21) font 8 end sub I think the problem goes away. Please substitute your pin numbers and let me know Definitely one for Geoff!!!!! |
||||
Bill.b![]() Senior Member ![]() Joined: 25/06/2011 Location: AustraliaPosts: 232 |
Hi Peter Applied the change you suggested. Now it is working OK. Thank you Bill In the interests of the environment, this post has been constructed entirely from recycled electrons. |
||||
Cherokeecruiser Newbie ![]() Joined: 25/02/2015 Location: AustraliaPosts: 25 |
Hi All Firstly thanks to all who have contributed to this thread - this has made using these panels very painless indeed I've been using these for a great outside clock with scrolling basic weather info (temperature and pressure) and date, visible across my yard,and have made a couple extra for family and friends. I guess this will end up as a request to matherp - how hard is it to extend to 128*32 with 2 panels or even up to 256*32 with 4 panels? Is this within the capabilities of a micromite, or does memory become limiting? Regards Jeff |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10067 |
should be possible but I haven't got two panels to test with. What isn't possible without major work is > 32 high. |
||||
Bill.b![]() Senior Member ![]() Joined: 25/06/2011 Location: AustraliaPosts: 232 |
Hi all This is the sign I will be using on my Christmas display [https://www.youtube.com/watch?v=R7Cnje00-UI Bill In the interests of the environment, this post has been constructed entirely from recycled electrons. |
||||
WhiteWizzard Guru ![]() Joined: 05/04/2013 Location: United KingdomPosts: 2927 |
Thats really great ![]() I love the flag! This is NOT a criticism, but an idea for a slight improvement. On the page that says 'Pls Support....', would it not look better with a bit of scrolling text with the words spelt out in full? Sometimes scrolling text can be difficult to read, but with the right size font, and the correct scroll speed it can look good. You MUST post a video when you have all this set up (assuming it is all part of your previous fairground 'display')! If you were in the UK then that would be very 'soon' as people start 'early' here. When do you intend having the 'display' finished? Once again - great stuff Bill ![]() |
||||
Bill.b![]() Senior Member ![]() Joined: 25/06/2011 Location: AustraliaPosts: 232 |
Update on Christmas Display https://www.youtube.com/watch?v=N3lKY25FIpA ![]() Edit: Just noticed the error on the display with the Ferris Wheel on one section losing the S I start at the beginning of November for a 1st of December light up. Yes, this will be above the entry gate to the amusement park section of my display. In addition there is a new ride being added this year called the DRONE. I will post a description and video when completed. Bill In the interests of the environment, this post has been constructed entirely from recycled electrons. |
||||
lew247![]() Guru ![]() Joined: 23/12/2015 Location: United KingdomPosts: 1702 |
It's really brilliant, I wish I had the knowledge and brains to program such a beautiful display |
||||
Bill.b![]() Senior Member ![]() Joined: 25/06/2011 Location: AustraliaPosts: 232 |
Hi lew247 The program is very simple, the magic is Peter's fabulous RGB driver. [code] option autorun on Option explicit option default NONE dim integer a cls Do LOAD IMAGE "cbs.BMP" Pause 5000 cls for a = 1 to 7 LOAD IMAGE "xmas.BMP" pause 500 load image "xmas1.bmp" pause 500 next a pause 2000 cls for a = 1 to 3 load image "park1.bmp" pause 100 load image "park2.bmp" pause 100 load image "park3.bmp" pause 100 load image "park4.bmp" pause 100 load image "park.bmp" pause 100 load image "park5.bmp" pause 100 load image "park8.bmp" pause 100 load image "park6.bmp" pause 100 load image "park7.bmp" pause 100 next a pause 1000 cls for a = 1 to 5 LOAD IMAGE "new.BMP" pause 150 LOAD IMAGE "new1.BMP" pause 150 LOAD IMAGE "new2.BMP" pause 150 LOAD IMAGE "new3.BMP" pause 150 LOAD IMAGE "new4.BMP" pause 150 next a pause 1000 cls for a = 1 to 2 LOAD IMAGE "bear.BMP" pause 500 load image "bear1.bmp" pause 500 load image "bear2.bmp" pause 500 load image "bear3.bmp" pause 500 next a pause 1000 cls LOAD IMAGE "rda.BMP" pause 8000 cls LOAD IMAGE "LOGO.BMP" pause 5000 cls LOAD IMAGE "flag.BMP" pause 2000 cls loop [/code] The images are created in Paint Shop Pro on a 32 * 64 pixal page. ![]() Bill In the interests of the environment, this post has been constructed entirely from recycled electrons. |
||||
lew247![]() Guru ![]() Joined: 23/12/2015 Location: United KingdomPosts: 1702 |
I didn't realise it could display pictures as well as text Amazing work from both you and Matherp |
||||
![]() ![]() ![]() ![]() |
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |