2014/06/15

7セグメントLED表示器 Act.2

7セグメントLED表示器をI2Cで接続できるようになりました。

くらんべりーさんのウエブログ
「特に縛りなく」
「arduinoで4桁7セグメントLEDを使ってみる」
http://cranberrytree.blogspot.jp/2013/05/arduino47led.html

のスケッチを勝手に改造し、アルファベット24文字対応にしました。
62行目以降は、オリジナルを残してあります。
デモのアニメも問題なく動きます。
(char_code行のアルファべット"cdef"は、大文字に書き換える必要があります。)

以前、オンボードの水晶発振子で動く時計のスケッチを考えました。
http://daikunomokichi.blogspot.jp/2014/04/blog-post_29.html

I2Cの表示ルーチングを追加し、
LCDとLEDを
同時に表示させています。

byte bitmap[] = {
    0b00000010, //- ←キャラクタコード- → アスキーコード45 → bitmap[0]
    0b00000001, //. ←キャラクタコード. → アスキーコード46 → bitmap[1]
    0b00000000, //SPASE
    0b11111100, //0 ←キャラクタコード0 → アスキーコード48 → bitmap[3]
    0b01100000, //1
    0b11011010, //2
    0b11110010, //3
    0b01100110, //4
    0b10110110, //5
    0b10111110, //6
    0b11100000, //7
    0b11111110, //8
    0b11110110, //9
    0b00000000, //
    0b00000000, //
    0b00000000, //
    0b00000000, //
    0b00000000, //
    0b00000000, //
    0b00000000, //
    0b11101110, //A ←キャラクタコードA → アスキーコード65 → bitmap[20]
    0b00111110, //B
    0b10011100, //C
    0b01111010, //D
    0b10011110, //E
    0b10001110, //F
    0b10111100, //G
    0b00101110, //H
    0b00100000, //I
    0b01111000, //J
    0b10101110, //K
    0b00011100, //L
    0b11101100, //M
    0b00101010, //N
    0b00111010, //O
    0b11001110, //P
    0b11100110, //Q
    0b00001010, //R
    0b00110110, //S
    0b00011110, //T
    0b00111000, //U
    0b01111100, //V
    0b01010100, //W
    0b01101110, //X
    0b01110110, //Y
    0b11011000, //Z ←キャラクタコードZ → アスキーコード90 → bitmap[45]
    0b00000000, //
    0b00000000, //
    0b00000000, //
    0b00000000, //
    0b00000000, //
    0b00000000, //
    0b10000000, //a  セグメントa点灯←キャラクタコードa → アスキーコード97 → bitmap[52]
    0b01000000, //b  セグメントb点灯
    0b00100000, //c  セグメントc点灯
    0b00010000, //d  セグメントd点灯
    0b00001000, //e  セグメントe点灯
    0b00000100, //f  セグメントf点灯
    0b00000010, //g  セグメントg点灯
    0b00000001, //h  '.'(dot)←キャラクタコードh → アスキーコード104 → bitmap[59]
    0b10000010, //i  横2本
    0b00010010, //j  横2本
    0b10010000, //k  横2本
    0b00011100, //l  L
    0b11110000, //m  Cの反対
    0b00001100, //n  縦棒
    0b01101100, //o  縦棒2本
    0b11001110, //p  P
    0b10000000, //q  セグメントa点灯
    0b01000000, //r  セグメントb点灯
    0b00100000, //s  セグメントc点灯
    0b00010000, //t  セグメントd点灯
    0b00001000, //u  セグメントe点灯
    0b00000100, //v  セグメントf点灯
    0b00000010, //w  セグメントg点灯
    0b10010010, //x  横3本
    0b00000000, //y  ' '(space)
    0b00000010, //z  '-'(minus)
};

追伸 11:45 ( JST )
ボードの配線を整理しました。

0 件のコメント:

コメントを投稿