Akizuki 32x16 dot LED Matrix unit (K-03735) control library.

秋月電子の32×16ドットLEDマトリクス表示装置(K-03735)を制御するライブラリです。
バッファの内容をそのままLEDマトリクス装置に送ります。
LEDマトリクス表示装置は最大4台まで接続できるので、接続台数を必ず指定してください。(この台数でバッファのサイズを計算しています。)
行間表示は1msのdelayを入れています。パラメタで変更可能です。
このライブラリの呼び出し元は基本的にwhile()でループしてください。
初めてのライブラリなのでメンバ関数もドキュメントとかまだ最低限です。
おかしなところはぜひコメントをください。

表示例は以下ページをご覧ください。

Committer:
kanpapa
Date:
Sun Feb 17 14:38:20 2013 +0000
Revision:
1:2705be49d5e2
Parent:
0:bf351a2fa565
Child:
2:ddef08e13c8e
Child:
10:9ce938cdeb33
beta1 release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kanpapa 0:bf351a2fa565 1 #ifndef MBED_AKILEDMATRIX_H
kanpapa 0:bf351a2fa565 2 #define MBED_AKILEDMATRIX_H
kanpapa 0:bf351a2fa565 3
kanpapa 0:bf351a2fa565 4 #include "mbed.h"
kanpapa 0:bf351a2fa565 5
kanpapa 0:bf351a2fa565 6 /** AkiLedMatrix class.
kanpapa 0:bf351a2fa565 7 * Used for AKIZUKI MATRIX LED unit.
kanpapa 0:bf351a2fa565 8 *
kanpapa 0:bf351a2fa565 9 * Example:
kanpapa 0:bf351a2fa565 10 * @code
kanpapa 0:bf351a2fa565 11 * #include "mbed.h"
kanpapa 0:bf351a2fa565 12 * #include "akiledmatrix.h"
kanpapa 0:bf351a2fa565 13 *
kanpapa 1:2705be49d5e2 14 * // LEDMatrix mbed
kanpapa 1:2705be49d5e2 15 * // ---------- --------
kanpapa 1:2705be49d5e2 16 * // 1 LED_PWR
kanpapa 1:2705be49d5e2 17 * // 2 SIN_1 ----- p5 line
kanpapa 1:2705be49d5e2 18 * // 3 SIN_2 ----- p6 LED1 row
kanpapa 1:2705be49d5e2 19 * // 4 SIN_3 ----- p7 LED2 row
kanpapa 1:2705be49d5e2 20 * // 5 CLOCK ----- p8
kanpapa 1:2705be49d5e2 21 * // 6 LATCH ----- p9
kanpapa 1:2705be49d5e2 22 * // 7 STROBE ---- p10
kanpapa 1:2705be49d5e2 23 * // 8 IC_PWR
kanpapa 1:2705be49d5e2 24 * // 9 GND
kanpapa 1:2705be49d5e2 25 * // 10 GND
kanpapa 1:2705be49d5e2 26 *
kanpapa 1:2705be49d5e2 27 * AkiLedMatrix ledmatrix(p5, p6, p7, p8, p9, p10, 1);
kanpapa 0:bf351a2fa565 28 *
kanpapa 0:bf351a2fa565 29 * int main() {
kanpapa 1:2705be49d5e2 30 * const unsigned char buf[] = {
kanpapa 1:2705be49d5e2 31 * 0xff,0xff,0xff,0xff, // D15
kanpapa 1:2705be49d5e2 32 * 0xff,0xff,0xff,0xff, // D14
kanpapa 1:2705be49d5e2 33 * 0xff,0xff,0xff,0xff, // D13
kanpapa 1:2705be49d5e2 34 * 0xff,0xe7,0xff,0xfc, // D12
kanpapa 1:2705be49d5e2 35 * 0xff,0xe7,0xff,0xfc, // D11
kanpapa 1:2705be49d5e2 36 * 0xff,0xe7,0xff,0xfc, // D10
kanpapa 1:2705be49d5e2 37 * 0x44,0x60,0xe0,0xe0, // D9
kanpapa 1:2705be49d5e2 38 * 0x00,0x20,0x40,0x40, // D8
kanpapa 1:2705be49d5e2 39 * 0x33,0x26,0x4e,0x4c, // D7
kanpapa 1:2705be49d5e2 40 * 0x33,0x26,0x40,0x4c, // D6
kanpapa 1:2705be49d5e2 41 * 0x33,0x26,0x4f,0xcc, // D5
kanpapa 1:2705be49d5e2 42 * 0x33,0x20,0x60,0xc0, // D4
kanpapa 1:2705be49d5e2 43 * 0x33,0x28,0xf1,0xe4, // D3
kanpapa 1:2705be49d5e2 44 * 0xff,0xff,0xff,0xff, // D2
kanpapa 1:2705be49d5e2 45 * 0xff,0xff,0xff,0xff, // D1
kanpapa 1:2705be49d5e2 46 * 0xff,0xff,0xff,0xff}; // D0
kanpapa 1:2705be49d5e2 47 *
kanpapa 1:2705be49d5e2 48 * int delay = 1000; // dynamic time (us)
kanpapa 1:2705be49d5e2 49 *
kanpapa 1:2705be49d5e2 50 * while(1){
kanpapa 1:2705be49d5e2 51 * ledmatrix.display(buf, delay);
kanpapa 1:2705be49d5e2 52 * }
kanpapa 0:bf351a2fa565 53 * }
kanpapa 0:bf351a2fa565 54 * @endcode
kanpapa 0:bf351a2fa565 55 */
kanpapa 0:bf351a2fa565 56 class AkiLedMatrix {
kanpapa 0:bf351a2fa565 57 public:
kanpapa 1:2705be49d5e2 58 /** Create AkiLedMatrix instance
kanpapa 1:2705be49d5e2 59 * @param sin1 SIN_1
kanpapa 1:2705be49d5e2 60 * @param sin2 SIN_2
kanpapa 1:2705be49d5e2 61 * @param sin3 SIN_3
kanpapa 1:2705be49d5e2 62 * @param clock CLOCK IN
kanpapa 1:2705be49d5e2 63 * @param latch LATCH IN
kanpapa 1:2705be49d5e2 64 * @param strobe STROBE IN
kanpapa 1:2705be49d5e2 65 * @param maxledunit The number of LED units.
kanpapa 1:2705be49d5e2 66 */
kanpapa 0:bf351a2fa565 67 AkiLedMatrix(PinName sin1,
kanpapa 0:bf351a2fa565 68 PinName sin2,
kanpapa 0:bf351a2fa565 69 PinName sin3,
kanpapa 0:bf351a2fa565 70 PinName clock,
kanpapa 0:bf351a2fa565 71 PinName latch,
kanpapa 1:2705be49d5e2 72 PinName strobe,
kanpapa 1:2705be49d5e2 73 const unsigned int maxledunit);
kanpapa 0:bf351a2fa565 74
kanpapa 1:2705be49d5e2 75 /** Displays the contents of the buffer
kanpapa 1:2705be49d5e2 76 *
kanpapa 1:2705be49d5e2 77 * @param buffer Display buffer
kanpapa 1:2705be49d5e2 78 * @param delay Dynamic display delay in microseconds
kanpapa 1:2705be49d5e2 79 * @returns
kanpapa 1:2705be49d5e2 80 * void
kanpapa 1:2705be49d5e2 81 */
kanpapa 1:2705be49d5e2 82 void display(const unsigned char *buffer, const unsigned int delay = 1000);
kanpapa 0:bf351a2fa565 83
kanpapa 0:bf351a2fa565 84 private:
kanpapa 0:bf351a2fa565 85 DigitalOut _sin1,_sin2,_sin3,_clock,_latch,_strobe;
kanpapa 1:2705be49d5e2 86 unsigned int _maxledunit;
kanpapa 0:bf351a2fa565 87 };
kanpapa 0:bf351a2fa565 88
kanpapa 0:bf351a2fa565 89 #endif