​ ​ ​ ​ Using 4 max7219 for four 8X8 matrix from a 20m2
Page 1 of 2 1 2 LastLast
Results 1 to 10 of 11

Thread: Using 4 max7219 for four 8X8 matrix from a 20m2

  1. #1
    Senior Member
    Join Date
    Apr 2013
    Location
    north dakota
    Posts
    483
    Blog Entries
    2

    Default Using 4 max7219 for four 8X8 matrix from a 20m2

    Hello everyone
    I bought one of these 16 8X8 matrix s that use's 16 max7219 driver chips
    Since I am a rookie I only made code to display 4 of the matrix s
    after reading westaust55 forums and many others I was able to make a simple code
    So if a person has four matrix s and wants to test them out this code should work
    and if you want to add/delete more matrix's then it shouldn't be hard to add/minus the code
    Maybe after I play around with it more I can try to make it more compact

    I know its simple code and takes about 704 bytes of memory

    your friends friend from north dakota
    using four 8X8 matrix max7219 displays simple code.bas

  2. #2
    Senior Member
    Join Date
    Apr 2013
    Location
    north dakota
    Posts
    483
    Blog Entries
    2

    Default

    I was coding some more
    I managed to get all the 16 8X8 matrix displays working
    whats funny since my code isn't "professional" and if you ignore the setfreq M32 it takes like 3 minutes to update the displays
    but with setfreq m32 added it can update the display to about 22 seconds but i love it because it works for me
    I still am super proud of the picaxe 20m2 even if I have to bootleg SHIFTOUT it still is my friend

    If you want a true 16 8X8 matrix this is in NO shape or form or way to go (because of speed and my input in the code)
    I just put this project here to in case someone wanted a simple code to make it light up

    your friend
    Attached Images Attached Images
    Attached Files Attached Files

  3. #3
    New Member
    Join Date
    Jul 2011
    Location
    france
    Posts
    10

    Default

    Hello,
    Have you the schématic please?
    best regards

  4. #4
    Technical Support
    Join Date
    Jan 1970
    Location
    UK
    Posts
    24,440

    Default

    Quote Originally Posted by duschmaulle View Post
    Have you the schématic please?
    I cannot help with the specifics of that but the MAX7219 has three input signals DIN, CLK and LOAD, plus a DOUT output.

    I would guess the MAX7219 are daisy-chained while CLK and LOAD are paralleled up. The PICAXE clocks out command data for all MAX7219's and then pulses LOAD.

    Any output pins could be used for that but it would be appropriate to connect the DIN and CLK to the HSPIOUT and HSPICLK pins for fastest data transfer.

    If you can point to a datasheet for a particular board you are thinking of using, members will be able to help determine what a suitable schematic would be.

  5. #5
    Moderator
    Join Date
    Mar 2008
    Location
    Western Australia
    Posts
    12,273

    Default

    Quote Originally Posted by newplumber View Post
    if you ignore the setfreq M32 it takes like 3 minutes to update the displays
    but with setfreq m32 added it can update the display to about 22 seconds but i love it because it works for me
    If you wish to update the display faster you could try a drop in PICAXE 20X2.

    Then the clock frequency can be increased to 64 MHz - double the speed.
    Next The X1/X2 inbuilt SHIFTOUT command is faster - by around a factor of 4 from recollect of some tests I did years ago
    for bit-bang versus inbuilt SHIFTOUT versus i2c.
    i2c was the fastest for a project at that time where I decided to go with i2c I/O Expander chips.
    westaust55

    Hey Hamlet, 2B OR NOT 2B = $FF

  6. #6
    Senior Member
    Join Date
    Apr 2013
    Location
    north dakota
    Posts
    483
    Blog Entries
    2

    Default

    Thanks Westaust55
    Always cool to learn about more speed from the picaxe
    although I haven't tried your suggestions and will someday but I also thought about using a
    40X2 with a faster clock and see if I can make some sort of scrolling display
    since I cut all the 8X8 displays to line up in a row (it came with all of them on one board)


    @duschmualle sorry I don't have one yet ...and the late reply but if you follow
    hippys post ...and use a good power supply like 5volt 1.5 amp or greater ..it should work great
    I used a low power supply like .500 amp and the first four 8X8's worked but the rest of the 12 went delusional!
    I did finally get it work okay with the small power supply with brightness on very low and alot of caps. (because it was the only one i had at the time)

  7. #7
    Senior Member
    Join Date
    Apr 2013
    Location
    north dakota
    Posts
    483
    Blog Entries
    2

    Default

    Here is a STOP sign symbol/code I made with the displays a while ago
    which used the 20m2 but now since I cut all the displays apart
    I am going to try making some scrolling message
    which will be later on ...or later later later on
    Attached Images Attached Images
    Attached Files Attached Files

  8. #8
    Senior Member
    Join Date
    Dec 2009
    Location
    UK
    Posts
    1,005

    Default

    Interesting to see how you get on with the scrolling message using these modules. I'm embarking on an attempt to make a display to fit to the rear window of my car to display a fixed number of preset messages, using these same modules but driven by a 20X2, in order to increase the speed.

    My goal is to make a simple unit with perhaps a handful of messages that can be triggered to display for a fixed time when a dedicated message button on a very simple dashboard mounted remote is pressed. The messages will just be the sort of common things I would find useful, like saying "thanks!" to someone that has stopped to allow me out of a junction, "Sorry" if I've accidentally been rude on the road to someone, or "Please overtake" if it's clear that someone behind me wishes to get past but can't see if the road ahead is clear. I can think of a few uncomplimentary messages, too, but will try and refrain from including those!

    My idea was prompted by a combination of reading about your experiments with these modules, and this news item from CES2018: http://www.bbc.co.uk/news/av/technol...-hand-gestures I'm not convinced that the "Car Wink" "emojis" are a good idea, as I believe they may well confuse drivers behind rather that clarify things. I reckon a simple text message will be a lot more user friendly. I've ordered a stack of the cheap 32 x 8 modules (really just 4 off 8 x 8 modules in a row) and will see how well I can get them to work with a faster Picaxe (hope the chips aren't fakes!).

  9. #9
    Senior Member
    Join Date
    Apr 2013
    Location
    north dakota
    Posts
    483
    Blog Entries
    2

    Default

    @ Jeremy
    my two cents is a little late but seems in order to "scroll messages" a person would need a picaxe chip with a external clock for higher speed
    unless you live in my town where the car behind you stays behind you for 20 minutes +/- for the display to update (joking)
    I am working on a project using a 40X2 ...thinking of clocking it to 40mhz see what it does ...but waiting to order to my clock
    if you can do it with a 20X2 my hats off to you tho

  10. #10
    Technical Support
    Join Date
    Jan 1970
    Location
    UK
    Posts
    24,440

    Default

    Scrolling messages should be fairly easy. Each matrix is 8x8, four in a row is 32x8, so all you need to do is put out 32 bytes to set all the displays. Sequentially put out sets of 32 different bytes and you have an animated display. I would have thought that should be achievable for message scrolling using any PICAXE.

    The challenge comes in how one creates the 32 bytes to put out, but that shouldn't be too hard either. It is a bit involved to describe but should be a straight forward process.

    The basic idea I would use is to keep a 'counter' to what's in the first column of the display. If characters are fixed width, 5 pixels plus a blank, 6 in all sequencing is 1:1, 1st char:1st column of character, 1:2, 1:3, 1:4, 1:5, 1:6 then 2:1, 2:2 etc.

    You can 'increment' that to scroll a column at a time. Then it's just a question of mapping the counter to those 32 bytes. Something like ...

    Code:
    Do
      startFrom = 1:1
      displayCol = startFrom
      For n = 1 To 32
         Send GetCol(displayCol,"Hello World")
         NextCol(displayCol)
      Next
      NextCol(startFrom)
    Loop

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •