Changes between Version 2 and Version 3 of wade/embedded/arduino/example/example_3-2
- Timestamp:
- Feb 10, 2010, 6:03:56 PM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
wade/embedded/arduino/example/example_3-2
v2 v3 1 1 {{{ 2 2 /* 3 * 由 12 個 digital pins 控制 5*7 矩陣式 LED Matrix,col:掃描,row:data 3 * 由 12 個 digital pins 控制 5*7 矩陣式 LED Matrix,col:掃描,row:data :載入 5x7 字形。 4 4 */ 5 5 6 #define lpin0 2// 定義 LED 負極腳位7 #define lpin1 3// 定義 LED 負極腳位8 #define lpin2 4// 定義 LED 負極腳位9 #define lpin3 5// 定義 LED 負極腳位10 #define lpin4 6// 定義 LED 負極腳位11 #define lpin5 7// 定義 LED 負極腳位12 #define lpin6 8// 定義 LED 負極腳位13 #define hpin0 9// 定義 LED 正極腳位14 #define hpin1 10// 定義 LED 正極腳位15 #define hpin2 11// 定義 LED 正極腳位16 #define hpin3 12// 定義 LED 正極腳位17 #define hpin4 13// 定義 LED 正極腳位6 #define lpin0 7 // 定義 LED 負極腳位 7 #define lpin1 8 // 定義 LED 負極腳位 8 #define lpin2 9 // 定義 LED 負極腳位 9 #define lpin3 10 // 定義 LED 負極腳位 10 #define lpin4 11 // 定義 LED 負極腳位 11 #define lpin5 12 // 定義 LED 負極腳位 12 #define lpin6 13 // 定義 LED 負極腳位 13 #define hpin0 2 // 定義 LED 正極腳位 14 #define hpin1 3 // 定義 LED 正極腳位 15 #define hpin2 4 // 定義 LED 正極腳位 16 #define hpin3 5 // 定義 LED 正極腳位 17 #define hpin4 6 // 定義 LED 正極腳位 18 18 #define row_size 7 // 定義 Matrix row 大小 19 19 #define col_size 5 // 定義 Matrix colum 小 20 #define delay_time 100 // 延遲時間20 #define delay_time 1000 // 延遲時間 21 21 22 22 #define data_A {1, 0, 0, 0, 0,\ … … 27 27 0, 0, 0, 1, 0,\ 28 28 0, 0, 0, 0, 1} 29 30 29 // 0 的字型。 30 byte data_0[5]={0x03E, 0x051, 0x049, 0x045, 0x03E}; 31 31 // 所有要顯示字的 array 32 32 boolean word_array[4][row_size][col_size] = {data_A}; … … 44 44 pinMode(i , OUTPUT); 45 45 clear_led(); 46 Serial.begin(9600); 47 // for (int j = 0x01; j<=0x80; j <<= 1) 48 // if ((data_0[1] & j) == j) 49 // Serial.println(data_0[0], HEX); 50 // Serial.println(data_0[1], HEX); 51 46 52 } 47 53 … … 49 55 void loop() 50 56 { 57 51 58 // HEX 000 59 60 // 將第一個 word 讀入 led 52 61 clear_led(); 53 54 // 將第一個 word 讀入 led 55 word_to_led(0); 56 display_led(led, 1000); 62 hex_word_to_led(); 57 63 /* 58 64 word_to_led(1); … … 63 69 display_led(led, 1000); 64 70 */ 65 delay(delay_time);71 //delay(delay_time); 66 72 73 } 74 75 void hex_word_to_led() 76 { 77 78 for(int k = 0; k < col_size; k++) 79 { 80 int j=0; 81 digitalWrite(col_pin[k], HIGH); 82 for (byte i = 1; i != 0; i <<= 1) 83 { 84 if ((data_0[k] & i) == i) 85 { 86 digitalWrite(row_pin[j++], LOW); 87 }else 88 {j++;} 89 } 90 //delay(1); 91 clear_led(); 92 } 67 93 } 68 94 … … 73 99 led[i][j] = word_array[n][i][j]; 74 100 } 101 75 102 76 103 // 將 led 全關 … … 83 110 } 84 111 112 // 顯示led 85 113 void display_led(byte led[row_size][col_size], int continue_time) 86 114 {