User Tools

Site Tools


tutorials:arduino:led_array

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

tutorials:arduino:led_array [2014/02/27 21:07]
aaron
tutorials:arduino:led_array [2014/02/28 10:00] (current)
sam
Line 9: Line 9:
  
 ===== Abstract ===== ===== Abstract =====
 +
 +How to do this,please refer to [[http://​docs.cubieboard.org/​tutorials/​arduino/​controlling_led |light led]] and [[http://​docs.cubieboard.org/​tutorials/​arduino/​connecting|how to connect cubieboard and arduino]]
 +
 +{{:​tutorials:​arduino:​20140227_191102.gif|400}}
 {{:​tutorials:​arduino:​照片_1_.jpg|400}} {{:​tutorials:​arduino:​照片_1_.jpg|400}}
 +
  
 =====Schematics===== =====Schematics=====
-{{:​tutorials:​arduino:​led_.png|}}+{{:​tutorials:​arduino:​led_.png|400}
 + 
 + 
 +====Source Code==== 
 +<​code>​ 
 +#define display_array_size 8 
 +// ascii 8x8 dot font 
 +#define data_null 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // null char 
 +#define data_ascii_A 0x02,​0x0C,​0x18,​0x68,​0x68,​0x18,​0x0C,​0x02 /​*"​A",​0*/​ 
 +/**  
 + ​**"​A"​ 
 + #​define A  { // 
 +    {0, 0, 0, 0, 0, 0, 1, 0}, //0x02 
 +    {0, 0, 0, 0, 1, 1, 0, 0}, //0x0C 
 +    {0, 0, 0, 1, 1, 0, 0, 0}, //0x18 
 +    {0, 1, 1, 0, 1, 0, 0, 0}, //0x68 
 +    {0, 1, 1, 0, 1, 0, 0, 0}, //0x68 
 +    {0, 0, 0, 1, 1, 0, 0, 0}, //0x18 
 +    {0, 0, 0, 0, 1, 1, 0, 0}, //0x0C 
 +    {0, 0, 0, 0, 0, 0, 1, 0}  //0x02 
 +
 +**/ 
 +#define data_ascii_B 0x00,​0x7E,​0x52,​0x52,​0x52,​0x52,​0x2C,​0x00 /​*"​B",​1*/​ 
 +#define data_ascii_C 0x00,​0x3C,​0x66,​0x42,​0x42,​0x42,​0x2C,​0x00 /​*"​C",​2*/​ 
 +#define data_ascii_D 0x00,​0x7E,​0x42,​0x42,​0x42,​0x66,​0x3C,​0x00 /​*"​D",​3*/​ 
 +#define data_ascii_E 0x00,​0x7E,​0x52,​0x52,​0x52,​0x52,​0x52,​0x42 /​*"​E",​4*/​ 
 +#define data_ascii_F 0x00,​0x7E,​0x50,​0x50,​0x50,​0x50,​0x50,​0x40 /​*"​F",​5*/​ 
 +#define data_ascii_G 0x00,​0x3C,​0x66,​0x42,​0x42,​0x52,​0x16,​0x1E /​*"​G",​6*/​ 
 +#define data_ascii_H 0x00,​0x7E,​0x10,​0x10,​0x10,​0x10,​0x7E,​0x00 /​*"​H",​7*/​ 
 +#define data_ascii_I 0x00,​0x00,​0x00,​0x7E,​0x00,​0x00,​0x00,​0x00 /​*"​I",​8*/​ 
 +// display array 
 +byte data_ascii[][display_array_size] = { 
 +  data_null,​ 
 +  data_ascii_A,​ data_ascii_B,​ 
 +  data_ascii_C,​ 
 +  data_ascii_D,​ 
 +  data_ascii_E,​ 
 +  data_ascii_F,​ 
 +  data_ascii_G,​ 
 +  data_ascii_H,​ 
 +  data_ascii_I,​ 
 +}; 
 +//the pin to control ROW 
 +const int row1 = 2; // the number of the row pin 24 
 +const int row2 = 3; // the number of the row pin 23 
 +const int row3 = 4; // the number of the row pin 22 
 +const int row4 = 5; // the number of the row pin 21 
 +const int row5 = 17; // the number of the row pin 4 
 +const int row6 = 16; // the number of the row pin 3 
 +const int row7 = 15; // the number of the row pin 2 
 +const int row8 = 14; // the number of the row pin 1 
 +//the pin to control COl 
 +const int col1 = 6; // the number of the col pin 20 
 +const int col2 = 7; // the number of the col pin 19 
 +const int col3 = 8; // the number of the col pin 18 
 +const int col4 = 9; // the number of the col pin 17 
 +const int col5 = 10; // the number of the col pin 16 
 +const int col6 = 11; // the number of the col pin 15 
 +const int col7 = 12; // the number of the col pin 14 
 +const int col8 = 13; // the number of the col pin 13 
 + 
 +void displayNum(byte rowNum,int colNum) 
 +
 +  int j; 
 +  byte temp = rowNum; 
 +  for(j=2;​j<​6;​j++) 
 +  { 
 +    digitalWrite(j,​ LOW); 
 +  } 
 +  digitalWrite(row5,​ LOW); 
 +  digitalWrite(row6,​ LOW); 
 +  digitalWrite(row7,​ LOW); 
 +  digitalWrite(row8,​ LOW); 
 +  for(j=6;​j<​14;​j++) 
 +  { 
 +    digitalWrite(j,​ HIGH); } 
 +    switch(colNum) 
 +    { 
 +      case 1: digitalWrite(col1,​ LOW); break; 
 +      case 2: digitalWrite(col2,​ LOW); break; 
 +      case 3: digitalWrite(col3,​ LOW); break; 
 +      case 4: digitalWrite(col4,​ LOW); break; 
 +      case 5: digitalWrite(col5,​ LOW); break; 
 +      case 6: digitalWrite(col6,​ LOW); break; 
 +      case 7: digitalWrite(col7,​ LOW); break; 
 +      case 8: digitalWrite(col8,​ LOW); break; 
 +      default: break; 
 +    } 
 +    for(j = 1 ;j < 9; j++) 
 +    { 
 +      temp = (0x80)&​(temp) ; 
 +      if(temp==0) 
 +      { 
 +        temp = rowNum<<​j;​ 
 +        continue; 
 +      } 
 +      switch(j) 
 +      { 
 +        case 1: digitalWrite(row1,​ HIGH); break; 
 +        case 2: digitalWrite(row2,​ HIGH); break; 
 +        case 3: digitalWrite(row3,​ HIGH); break; 
 +        case 4: digitalWrite(row4,​ HIGH); break; 
 +        case 5: digitalWrite(row5,​ HIGH); break; 
 +        case 6: digitalWrite(row6,​ HIGH); break; 
 +        case 7: digitalWrite(row7,​ HIGH); break; 
 +        case 8: digitalWrite(row8,​ HIGH); break; 
 +        default: break; 
 +     } 
 +    temp = rowNum<<​j;​ 
 +  } 
 +
 + 
 +void setup(){ 
 +  int i = 0 ; 
 +  for(i=2;​i<​18;​i++) 
 +  { 
 +    pinMode(i, OUTPUT); 
 +  ​}
  
 +  for(i=2;​i<​18;​i++) {
 +    digitalWrite(i,​ LOW);
 +  }
 +}
 +void loop(){
 +  int t1;
 +  int l;
 +  int arrage;
 +  for(arrage=0;​arrage<​10;​arrage++)
 +  {
 +    for(l=0;​l<​512;​l++)
 +    {
 +      for(t1=0;​t1<​8;​t1++)
 +      {
 +        displayNum(data_ascii[arrage][t1],​(t1+1));​
 +      }
 +    }
 +  }
 +}
  
-==== Headline ==== 
  
 +</​code>​
  
 ===== Headline ===== ===== Headline =====
tutorials/arduino/led_array.1393506444.txt.gz · Last modified: 2014/02/27 21:07 by aaron