Close

Arduino Pro Mini - 8x8 DIY matrix - Version 2

A project log for LED displays on Arduinos - a collection

for building clocks and bring them anywhere you want, even integrated a temperature sensor, if you're into that kind of stuff

davedarkodavedarko 10/14/2016 at 09:442 Comments

I used some sanding paper to diffuse the displays but stripped of the grey stuff as well. still looks nice though. It's possible to daisy them with I2C and put them next to each other to get an even bigger matrix. Works as a micro badge.

Here's the pinout of those tiny matrices. Had to google the name on the PCB to find stuff. Funky trap when checking the pinouts, it's not like an IC where the first row - first col LED is on the top left, it's on the bottom.

Here's some code to start:

// columns are anodes (positive) in my case
int col_pins[8] = {
  // 13,3,4,10,6,11,15,16
  5, A1, A0, 8, 12, 7, 3, 2
};

int row_pins[8] = {
  // 9,14,8,12,1,7,2,5
  9, 4, 10, 6, A3, 11, A2, 13
};

byte img[8] =
{
  B11000011,
  B11000011,
  B00111100,
  B00111100,
  B00111100,
  B00111100,
  B11000011,
  B11000011
};

void setup() {
  // put your setup code here, to run once:
  for (int i=0; i<8; i++)
  {
    pinMode(col_pins[i], OUTPUT);
    pinMode(row_pins[i], OUTPUT);
  }
  for (int i=0; i<8; i++)
  {
    digitalWrite(col_pins[i], HIGH);
    digitalWrite(row_pins[i], LOW);
  }
}

void loop() 
{
  for (int j=0; j<8; j++)
  {
    digitalWrite(col_pins[j], LOW);

    int i = 0;
    for (byte mask = B00000001; mask>0; mask <<= 1) 
    {
      if (img[j] & mask)
      {
        digitalWrite(row_pins[i], HIGH);
        delayMicroseconds(15);
        digitalWrite(row_pins[i], LOW);
        delayMicroseconds(5);
      }
      else
      {
        digitalWrite(row_pins[i], LOW);
        delayMicroseconds(20);
      }
      i++;
    }
    digitalWrite(col_pins[j], HIGH);
  }
}

Discussions

Alex wrote 10/14/2016 at 17:14 point

nice! 

I like this white front. With a white matrix the new hackaday.io logo would be also in the right colors 

  Are you sure? yes | no

davedarko wrote 10/15/2016 at 05:57 point

Then sandpaper is your friend too :)

  Are you sure? yes | no