Arduinoで7セグメントLED 8桁(4桁×2)をMAX7219にて制御(画面表示テスト)
Arduino で7セグLED制御 必要部材
Arduino Uno(本体)
Arduino IDE (Microsoft Storeからダウンロード)
7セグLED 4桁×2 MAX7219 (シリアルインタフェース、8桁LEDディスプレイドライバ)
USBケーブル
ジャンパピン(オスーメスタイプ5本)
Arduino IDE 設定
今回はMAX7219 (シリアルインタフェース、8桁LEDディスプレイドライバ)を利用するので必要なライブラリをダウンロードします。
Arduino IDEから「ツール」「ライブラリ管理」に進みます。
「ライブラリマネージャ」の検索タブに「MAX7219 」と入力して検索します。
候補の中から「DigitLed72xx」を探してインストールします。
Arduino IDEの「ファイル」「スケッチ例」に進んで「カスタムライブラリのスケッチ例」の中に先ほどダウンロードした「DigitLed72xx」があることを確認して、その中の「DigitLed72xxTest」を開きます。
※作成者の方感謝です。
Arduino と7セグLEDの接続
先ほど開いたスケッチ内にも記載がありますが
Arduino | MAX7219/MAX7221 |
---|---|
MOSI (11) | DIN (1) |
SCK (13) | CLK (13) |
I/O (7)* | LOAD/CS (12) |
MAX7219付属のLEDには5本の端子があり各端子に名称がプリントされています。
VCCは5Vに接続
GNDはアース接続
DINは11番へ接続
CSは12番へ接続
CLKは13番へ接続
上記の番号へ接続して準備完了です。
※今回はブレッドボード無しでも問題ありません。
マイコンボードへの書き込み
正しく配線できていることを確認して、Arduino とパソコンをUSBケーブルで接続します。
Arduino IDEで先ほどの「DigitLed72xxTest 」を開いて、とりあえずそのまま「マイコンボードに書き込む」で書き込みます。
配線などが問題なければ数字が表示されるはずです。
もう少し単純にスケッチを変更
/*
Basic code for using Maxim MAX7219/MAX7221 with Arduino.
Version 0.0.3
Wire the Arduino and the MAX7219/MAX7221 together as follows:
| Arduino | MAX7219/MAX7221 |
| --------- | --------------- |
| MOSI (11) | DIN (1) |
| SCK (13) | CLK (13) |
| I/O (7)* | LOAD/CS (12) |
* - This should match the LOAD_PIN constant defined below.
For the rest of the wiring follow the wiring diagram found in the datasheet.
Datasheet: http://datasheets.maximintegrated.com/en/ds/MAX7219-MAX7221.pdf
Thankyoy to Leonardo SAMMARTANO for help and support.
*/
#include <SPI.h>
#include <DigitLed72xx.h>
// What pin on the Arduino connects to the LOAD/CS pin on the MAX7219/MAX7221
#define LOAD_PIN 7
#define NCHIP 2
DigitLed72xx ld = DigitLed72xx(LOAD_PIN, NCHIP);
void setup()
{
ld.on(2);
ld.printDigit(00000000);
delay(1500);
}
int n = 0;
void loop()
{
/* Prints data to the display */
ld.printDigit(12345);
}
ld.printDigit(12345) 部分の12345を好きな数字(8桁以下)に変更すればその数字だけが表示されます。
※桁区切りカンマは自動で表示されます。
コメント