// 14セグメントLEDコントローラ // by 武蔵野電波 #include // ライブラリのインストールが必要 #define NUMDIGIT 8 #define SPACE 10 #define CLK 14 #define SD 15 // 14セグ・フォントデータ unsigned int font[37] = { 0b1111110000100100, // 0 0b0000000001001000, // 1 0b1101000100000100, // 2 0b1111000100000000, 0b0000011101001000, 0b1011011100000000, 0b1011111100000000, 0b1000000000100100, 0b1111111100000000, 0b1111011100000000, // 9 0b0000000000000000, // space 0b1110111100000000, // A 0b1111000101001000, // B 0b1001110000000000, 0b1111000001001000, 0b1001111000000000, 0b1000111000000000, 0b1011110100000000, // G 0b0110111100000000, 0b1001000001001000, 0b0111100000000000, 0b0000111000110000, // K 0b0001110000000000, 0b0110110010100000, 0b0110110010010000, 0b1111110000000000, // O 0b1100111100000000, 0b1111110000010000, 0b1100111100010000, 0b1011000110000000, // S 0b1000000001001000, 0b0111110000000000, 0b0000110000100100, 0b0110110000010100, // W 0b0000000010110100, 0b0000000010101000, 0b1001000000100100 // Z }; char driverPin[NUMDIGIT] = {2,3,4,5,6,7,8,9}; // カソードにつながるピン char t[NUMDIGIT] = {11,12,13,14,0,1,2,3}; // 最初にABCD0123と表示 char currentDigit = 0; byte buf = 0; void setup() { for(char i=0; i 0) { buf = Serial.read(); if(c == 0) { for(char i=0; i 'Z') { // nop } else if(buf <= '9') { t[c++] = buf - '0'; } else { t[c++] = buf - 'A' + 11; } if(c >= NUMDIGIT) c = NUMDIGIT - 1; } }