Easy LED Matrix Control: Arduino and 8x8 1088AS Matrix Multiplexing

Поделиться
HTML-код
  • Опубликовано: 5 сен 2024

Комментарии • 107

  • @RaahimAzfar
    @RaahimAzfar 4 месяца назад +1

    this is the only video that works. if you don't have 2 breadboards try to get 16 dupont wires and connect them

  • @SidTheGr8
    @SidTheGr8 3 года назад +6

    You are amazing, I could not find any resource that helped me understand this concept, then I found this video :)

    • @marios_ideas
      @marios_ideas  3 года назад

      Glad you liked it!

    • @Matrix_Tate1
      @Matrix_Tate1 28 дней назад

      @@marios_ideas please explain c1 in se led active in row function

  • @marcolanza-yatta7003
    @marcolanza-yatta7003 2 года назад +3

    Thank you Mario for the inspiration. I tried another solution because I didn't understood the need of the "-abs(...)" part of code and I have also two problems with your code: the text was mirrored (as other said) and I didn't want to turn the matrix 90° to see the text in the right way. So I share here my solution:
    ....
    void loop() {
    movecol = 0;
    while(movecol

  • @richardjacobse
    @richardjacobse 3 года назад +8

    Tip: when looping trough the columns first SelectRow(0) which effectively deselects all rows then set the columns and after that select the actual row. This will prevent the pixels 'bleeding' from the previous row

    • @marios_ideas
      @marios_ideas  3 года назад +2

      Thanks for the tip. I know exatly what you mean by bleeding. I will connect the components again and see what differenence it makes:)

    • @ayeletfadlon9051
      @ayeletfadlon9051 2 года назад

      You are a genious! Thank you so much

    • @christophscharpf6169
      @christophscharpf6169 2 года назад

      My man with the good ideas😄

  • @xert_13
    @xert_13 2 года назад +2

    Finally a video that got my LED matrix to work, Thank You......

    • @marios_ideas
      @marios_ideas  2 года назад +1

      Great :) If it was off help don't forget to like it:)

  • @debsarkar4893
    @debsarkar4893 7 месяцев назад

    Bro I was able to use ur logic to make my own code after looking at ur code with a raspberry Pi and two 74hc595n ICs to control a led matrix in c++ with pigpio Library. Thank you so much bro❤😊

  • @alheeley
    @alheeley 3 года назад +1

    Very well explained - great help. NB: You have both r6 and r5 going to d7 - r5 needs to go to d6 ;)

    • @marios_ideas
      @marios_ideas  3 года назад

      Can you point to the exact time in the video.

    • @alheeley
      @alheeley 3 года назад

      @@marios_ideas I see now its already been commented on below, its at 3:48 to 4:04. NB: Im searching for code for a mini word clock using this size LED matrix, Arduino controller , RTC breakout board and no multiplexer if can assist?

    • @marios_ideas
      @marios_ideas  3 года назад

      @@alheeley Updated the video description. Thanks for spotting this.

    • @marios_ideas
      @marios_ideas  3 года назад

      This should be straight forward. You either stack 4 MAX7219 with the matrixes yourself or you can buy the modulesready to use. And then look at the Parola library. It is meant for scrolling the text but I think if you look at the library examples and figure out how to just display the content without writing low level complicated code. Then you just create string out of RTC output and send it to the matrixes. Alternatvely you can wait few weeks as this is one of the videos I am planning to do in the neerer future

    • @alheeley
      @alheeley 3 года назад

      @@marios_ideas But any way of tackling it with no multiplexer? No Maxx chip?

  • @videocloud6722
    @videocloud6722 Год назад

    Thanks Mario, very helpful. this video inspired me, to create snake with the 8x8 led matrix.

  • @hamagui7120
    @hamagui7120 3 года назад +2

    Hi, a very good and clear explanation video. You are using common cathode matrix, but the circuit diagram at 0:36 , is a common anode matrix, right?

    • @marios_ideas
      @marios_ideas  3 года назад +1

      Rats ... missed that. you are right. Thanks for spotting this.

  • @Spytech334
    @Spytech334 3 месяца назад

    Hi when i tried 1 +ve and 1-ve 3 to 4 led was on.i think my metrix pin out is not similar as yours can you do another metrix pin out as led metrix 1088BS

  • @JiffyDealer
    @JiffyDealer 4 месяца назад

    Thanks! Why does row1 start at R2? And why do columns use hex after 13?

  • @tirthvora5061
    @tirthvora5061 Год назад

    this is the perfect thing I was looking for.

  • @luffy27272727
    @luffy27272727 2 года назад

    this is the same concept of how letters, symbols or images were displayed on screens when commodore was used...... or on modern monitor screens when you press any key on keyboard?

  • @alexanderbagus9106
    @alexanderbagus9106 3 года назад

    Thanx for the explaination, Mario... very clear...

  • @Matrix_Tate1
    @Matrix_Tate1 28 дней назад

    i am not understanding C1 in set led active row function

  • @uhdrhd
    @uhdrhd 9 месяцев назад

    Hello, for me it worked out that i had to swap the highs and lows. Otherwise it worked perfectly!thanks

  • @alinaqvi2902
    @alinaqvi2902 2 месяца назад

    How does the displaying of leds speed up over time in the second example?

    • @marios_ideas
      @marios_ideas  2 месяца назад

      By decreasing the delay. I have not watch this video in a long time. But I am fairly certain there is delay(variable); line anad the variable is set to a certain value and the it is decreased so the delay inbetween frames gets smaller

  • @josepcalderon1087
    @josepcalderon1087 6 месяцев назад

    Hi, excelent video.
    When i tried the text scrolling, the text scroll to the other direction (move right to left). Why this is happening?

    • @marios_ideas
      @marios_ideas  6 месяцев назад

      It maybe because of the different pinout of max7219 module.

  • @kusaiabuzed5534
    @kusaiabuzed5534 3 года назад

    thanks for your explanation
    i understand a little bet
    but may point is split into tow things
    first one
    why there's loop x

    • @marios_ideas
      @marios_ideas  2 года назад

      The loop x5 is for persistance of vision. You display a current 8x8 part of the text with the two inner loops . If you did not have the thrird loop the loop function would complete and you would go to execute loop function with the changed position. That would mean that the text would scroll way to quickly and you would not see the right effect.
      With that extra loop you are displaying each position 5 times slowing down the scol. You could even make this 5 a variable changed with potentiometer and theis way you can control the speed of scrolling. If it was e.g. 7 the scrolling would be slower

  • @graemebrumfitt6668
    @graemebrumfitt6668 Год назад

    Cheers Mario Dude! TFS, GB :)

  • @GorkemYildirim
    @GorkemYildirim 4 года назад

    Now I understand thanks to you!

  • @robiramandhani6149
    @robiramandhani6149 3 года назад

    Thanks, Mr. Mario

  • @duartesilva3728
    @duartesilva3728 3 года назад

    Amazing! Thanks so mucth i learn very muthc but how can make efects for exmple the move the somthing in his body or pacman open and close the mouth?

    • @marios_ideas
      @marios_ideas  3 года назад

      Well then you need to have three or four sligtly different 8x8 maps that make the animation and display them one by one. Just like you would do any stop motion animation. If you liked this video please give it a like. It hals me a lot

    • @marios_ideas
      @marios_ideas  3 года назад

      Please check a space invaders animation I did in my different video It was not for 8x8 led matrix but the concept is the same.
      ruclips.net/video/VbEGfZIjpdg/видео.html

  • @AlexandreLopez1999
    @AlexandreLopez1999 3 года назад +1

    Hello! super clear video, thank you very much. I'm a bit confused, did you mean to write C1, C1, C1... in the definition of the bottom function at 7:15 ? Because C1, C2, C3... i thought was what you meant, but im not sure. Otherwise very clear video!

    • @marios_ideas
      @marios_ideas  3 года назад +1

      Of course. Thanks for spotting this. I will add info in the comment section.
      If you go to the code link you will see that there everthing is ok.

  • @user-fm8bz3fo5z
    @user-fm8bz3fo5z 2 года назад

    I don't understand something though. You have not connected anything to a ground pin. How can current flow? Or am I missing something?

    • @marios_ideas
      @marios_ideas  2 года назад

      If you select a row and send Low signal to it with Select row function that connects all cathodes of leds in that row to ground and then if you select a column by sending High signal to it meaning all anodes are connected to 5 v. Then for LED which is in place that this colum and row crossess electricity can frlow and it lits

  • @dror-krief
    @dror-krief 3 месяца назад

    thank you

  • @gibi1269
    @gibi1269 Год назад

    Why if we choose row 1 & column 1, R1 is low and C1 is high, shouldn't both of them be high, could someone explain it please?

    • @marios_ideas
      @marios_ideas  Год назад +1

      The electricity flows from positive (+ or 5V) to Negative (- or GND). This is why to activate the row we send low and to activate column we send HIGH

    • @gibi1269
      @gibi1269 Год назад

      @@marios_ideas thanks!

  • @kiwinesss
    @kiwinesss 4 года назад +1

    Wow fantastic! Thank you. Would it be possible to use your file for the 3D print?

    • @kiwinesss
      @kiwinesss 4 года назад

      Subscriber :)

    • @marios_ideas
      @marios_ideas  4 года назад +1

      Sure. I uploaded STL file here create.arduino.cc/projecthub/mdraber/controlling-8x8-led-matrix-without-drivers-libraries-585371?ref=user&ref_id=1474727&offset=4
      under CUSTOM PARTS AND ENCLOSURES. Let me knwo if you could download it?

    • @kiwinesss
      @kiwinesss 4 года назад

      @@marios_ideas Perfect, thank you so much. It downloaded and opened in Cura just fine :)

  • @kusaiabuzed5534
    @kusaiabuzed5534 3 года назад

    set_led_in_active_row(i+1,marios_ideas [j] [(i+position)+abs((i+position)/54)*54]);
    firs of all i want to thank you about the content it was useful for me and taught me the way of matrices are working
    but i still got problem with understanding the way of scrolling text
    and main thing that i didn't understanding is this line that i mention it in the top how did you dealing with columns
    and why there's a subtraction mark ( - )between [ (i + position )and ( i + position / 54 )* 54] i will be grateful if you explain it for me
    thanks

    • @marios_ideas
      @marios_ideas  3 года назад

      It is fairly simple. You always display 8x8 leds this in the video is shown by moving yellow farme if I am not mistaken. The exact 8 columns to be displayed is selected by variable position. It indicates which is the first column to display and then 7 subsequent columns are displayed as well. When the loop function is executed we increase the position by one so next time around we display 8 columns shifted by one to the right. So this is all great as long as position is within 54 columns of the Mario's Ideas bitmap. Loop is executed indefinetly so soon you may look at position being equal e.g to 1000. Then we are dividing the position by 54 and take the absolute value from that division and then multiply it by 54 and substract it from position. This way we remove equivalent of all 54 led cycles that happened before and this way we achieve the smooth transition so the text starts all over again. Did I make myself clear?

    • @marios_ideas
      @marios_ideas  3 года назад

      Don't forget to like the video if you enjoyed it. It helps me a lot with youtube algorithm. This video also shows doing things a bit harder way. Please check also this video ruclips.net/video/SGjQ-E3UD7AD/видео.htmlon't forget to like the video if you enjoyed it. It helps me a lot with youtube algorithm. This video also shows doing things a bit harder way. Please check also this video ruclips.net/video/SGjQ-E3UD7A/видео.html. I will also in the future do a video on parola library which is dedicated to scrolling text on multiple matrixes like this one

  • @chidiebube3657
    @chidiebube3657 2 года назад

    Hi, really love your project. how do I generate my own array of bits to display the text of my choice. thanks

    • @marios_ideas
      @marios_ideas  Год назад

      The way I did it here is very time consuming. But check my other video. ruclips.net/video/oZDFh95Tt_E/видео.html

  • @mohammedkamran8559
    @mohammedkamran8559 3 года назад

    How can I connect 26 buttons and make a keyboard,like each button should trigger different LEDs to display different letter patterns?

    • @marios_ideas
      @marios_ideas  3 года назад +1

      that seems a bit too complicated and you would need. not sure why you need 26 buttons

    • @mohammedkamran8559
      @mohammedkamran8559 3 года назад

      @@marios_ideas I mean it's more accurate if there are separate buttons for letters,like can u just tell me the extra components needed to implement it,I'll try to figure out the rest😄😄, thanks for ur reply 👍🏻

    • @marios_ideas
      @marios_ideas  3 года назад +1

      ​ @Mohammed Kamran ​ @Mohammed Kamran This will be crazy amount of work. I would simplyfy this by using something like this
      ruclips.net/video/Iueek8hVl8E/видео.html to type the message. Not sure you want to type on the display in real time or prepare the static
      message to display

    • @mohammedkamran8559
      @mohammedkamran8559 3 года назад

      @@marios_ideas alright I'll check it out,thanks for ur help😄😄

  • @desterward
    @desterward Год назад

    hi Mario. Nice video. How do you do the diffusion panel?

    • @marios_ideas
      @marios_ideas  Год назад

      I have a 3d printer. Design it in Tinkercad

    • @desterward
      @desterward Год назад

      @@marios_ideas Thank you! and for the explanation in the video.

  • @mikhailgrigoryev5757
    @mikhailgrigoryev5757 3 года назад

    Looking for some minor advice. I am working on a matrix project where I plan to create my own matrix, entirely.
    Obviously the concept is the same. I then plan to use the matrix on a project I am working on and am looking for an Arduino alternative. Reason being the project does not require the full functionality of the Arduino, just the clock, memory, and cpu functions. I also plan to mass produce this project (To a minor extent) with that being said I need a budget alternative to the Arduino, looking for a variation of something opensource that i could base my motherboard off of. Any tips or idea? Thanks in advance.

    • @marios_ideas
      @marios_ideas  3 года назад +1

      ATtiny85? It has just few pins costs below 1EUR and is Arduino compatible

    • @mikhailgrigoryev5757
      @mikhailgrigoryev5757 3 года назад

      @@marios_ideas THAT'S PERFECT, Thank you!!!

  • @aniket.debnath
    @aniket.debnath Год назад

    How do i convert a custom text into the integer array?

    • @marios_ideas
      @marios_ideas  Год назад

      The way I did it here is very time consuming. But check my other video. ruclips.net/video/oZDFh95Tt_E/видео.html

  • @ahmadlotfy910
    @ahmadlotfy910 2 года назад

    Hello Mario, thanks very much for this nice video.
    but I want to ask about
    SelectRow(j+1);
    and Set_LED_in_Active_Row(i+1 ,Cat[j][i]);
    why j+1 and i+1
    I didn't got this, would you please identify it for me.
    thanks for your effort.

    • @abbasabbas-np1ct
      @abbasabbas-np1ct 2 года назад

      it's because the i and j variables begin at the value of 0 at the beginning of the for loop
      and when they reach 7 which is < 8 the loop ends
      so basically their values are from 0 to 7
      the +1 is to enter a number from 1 to 8

  • @fjalarsigurdarson4862
    @fjalarsigurdarson4862 3 года назад +1

    At min 4:04 you say R5 to D7 - but at 3:48 you already said R6 to D7 ...?

    • @marios_ideas
      @marios_ideas  3 года назад +1

      My bad ... Doing a video like that is not that difficult to make a mistake like this. You moste often notice it when video is already cut and uploaded. So not the firs mistake and probably not the last one.Please check the code and there you will find actual connectivity data
      .

    • @fjalarsigurdarson4862
      @fjalarsigurdarson4862 3 года назад

      @@marios_ideas :-) No problem - I just followed the video closely and saw that there was one spot you never mentioned so I stuck it in there. I never got the program to upload to the board so I had to go another way anyway.

  • @ernestorivero9909
    @ernestorivero9909 2 года назад

    Buen vídeo lo entendí bien a pesar de q no hablo ingles

    • @marios_ideas
      @marios_ideas  2 года назад

      Thx:)Give video a like if you enjoyed it. It helps to grow my channel

  • @diamony123
    @diamony123 Год назад

    4:08 how would you map this exact 16 pin setup to a Pot is what i would like to know 4:08

    • @marios_ideas
      @marios_ideas  Год назад

      I would be quite complex. you would connect the rows of both matrixes together and connect them to 8 pins of Arduino. And then connect all 16 columns to Arduino 16 pins. so you need 24 pins. I think in this case Arduino Uno and Nano are out of the question and you need Arduino Mega. It is easier with the MAX7216 :)

    • @marios_ideas
      @marios_ideas  Год назад

      In this video you have the exact layout of columns from C1 to C8 so If you add another the columns of this display become C9-16. You connect rows of both displays so R1 is connected to R9 R2 to R9 and so on. But thie you ave to program multiplexing accross both matrixes. So the code would be different

    • @diamony123
      @diamony123 Год назад

      Thanks, i will be using omega and the 16 pins, my matrix is home made using one color leds . I just need your test code you did to see if all led is working to be tied or map to a Pot . The sequence will be control with the Pot . Not automatic as demonstrated here

  • @code._learning
    @code._learning Год назад

    thanks

  • @hishamalhajalyable
    @hishamalhajalyable Год назад

    Thx

    • @marios_ideas
      @marios_ideas  Год назад

      My pleasure:) like and subscribe to my channal. Also consider supporting it.

  • @grenfish
    @grenfish Год назад

    09:58 why is there polish? (im from poland btw)

    • @marios_ideas
      @marios_ideas  Год назад

      Moźe dlatego że też jestem Polakiem:)

    • @grenfish
      @grenfish Год назад

      @@marios_ideas to fajnie :) świetny poradnik, nawet dla początkujących

  • @MizzardNote11s-yx1cj
    @MizzardNote11s-yx1cj 4 месяца назад

    Be careful, this circuit is wrong, you need to put drivers for both the positive and negative poles of the LEDs with a resistor to avoid overloading the microcontroller with current...
    and then there is a problem in the software called "led ghosting" where some leds are turned on with lower brightness when they should be turned off.

    • @marios_ideas
      @marios_ideas  4 месяца назад

      This is a very old video. I am aware of those issues. Isn’t that problem also called “led bleeding”?

  • @itz_abhinavv
    @itz_abhinavv 2 года назад

    Please give me last code please 🥺

    • @marios_ideas
      @marios_ideas  2 года назад +1

      The link to the code is in video description

    • @itz_abhinavv
      @itz_abhinavv 2 года назад

      @@marios_ideas yes but last program isn't available 🥺 please give me sir

    • @marios_ideas
      @marios_ideas  2 года назад

      The subscribe one? Unfortunately i did not save this Design

  • @iml404
    @iml404 Год назад

    Автор, тебе нужно не видео для ютуба записывать а для начала научиться не писать говнокод

    • @marios_ideas
      @marios_ideas  Год назад

      Give me the link to your code, I will start there:)

    • @iml404
      @iml404 Год назад

      @@marios_ideas «запахи кода» - можешь начать с этого

  • @hokazshinitzu9042
    @hokazshinitzu9042 3 года назад

    thanks