ArduinoUnoでLEDマトリックスを制御する
コンポーネントと消耗品
> ![]() |
| × | 1 | |||
| × | 1 | ||||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 20 | ||||
| × | 20 |
アプリとオンラインサービス
> ![]() |
|
このプロジェクトについて
このプロジェクトは、ArduinoUnoを使用して8x8LEDマトリックスのアレイを制御する方法を示しています。このガイドは、独自のプロジェクト用のシンプルな(そして比較的安価なディスプレイ)を作成するために使用される場合があります。このようにして、文字、数字、またはカスタムアニメーションを表示できます。
私たちのロボットプロジェクトの1つ(「RobôdaAlegria」)で使用されている5マトリックス配列は、このテクノロジーを説明するための例として使用されています。このプロジェクトについて詳しくは、次のリンクをご覧ください。
- https://hackaday.io/project/12873-rob-da-alegria-joy-robot
- https://github.com/ferauche/RoboAlegria
- https://www.facebook.com/robodaalegria/
コンポーネント <図>







MAX7219-MAX7221.pdf
2種類のジャンパーが必要であることに注意してください。マトリックス間の接続用のメスからメスと、最初のマトリックスのArduinoへの接続用のオスからメスです。
コンポーネントの数は、考えている構造によって異なる場合があります。
組み立て <図>




回路図に従ってすべてのコンポーネントを接続します。最初のマトリックスをArduinoに接続し、各マトリックスをアレイ上の次のマトリックスに接続するには、ジャンパー線が必要です。
Arduinoのピン配置:
- Arduinoデジタルピン13 =最初のディスプレイのDIN
- Arduinoデジタルピン12 =最初のディスプレイのCLK
- Arduinoデジタルピン11 =最初のディスプレイのCS
- Arduino5Vピン=最初のディスプレイのVcc
- ArduinoGNDピン=最初のディスプレイのGndピン
また、各ディスプレイを特定の位置に配置することもできます。そのためには、アクリルシート、いくつかのネジとナット(各ディスプレイに4つ)を使用して、各コンポーネントを所定の位置に配置します。回路を組み立てるのに工具は必要ありませんが、ディスプレイを表面に取り付ける場合はドライバーが必要になります。この例では、5つのディスプレイが顔のパターン(2つの目と1つの口)に配置されています。 USBケーブルをArduinoUnoボードに接続し、次の手順に進みます。
FLPMR9JIRKFL3VQ.fzz
コーディング <図>

最新のArduinoIDEバージョンがインストールされている状態で、LEDの制御に使用されるLedControl.hライブラリを追加します。 Arduinoのコードをダウンロード、コンパイル、アップロードします。コードは4つの部分に分かれています:
- 1。目と口の定義: 各アイが構成され、8バイトのアレイ。口は24バイトの配列として定義されています
- 2。セットアップ: ディスプレイを設定して通信を開始する
- 3。メイン: シリアル通信コマンドを待ち、顔が表示されるかどうかを選択します
- 4。補助機能: 目と口のディスプレイを設定するための関数。 setRow 関数は、LEDディスプレイの各行を設定するために使用されました。 setColumn の代わりに使用されました それは8倍速く実行されるからです!このように、各ディスプレイの図面は、反時計回りに90度回転したと宣言する必要があります。
setIntensity LEDの明るさを制限するために使用されました。モジュールの消費電力をUSBポートで許容できるレベルまで削減するために、1(0から15のスケールで)に設定されました。
FEGF6QQIRKFL5XL.ino
使用法 <図>







アップロード後、ArduinoをコンピューターのUSBポートに接続したままにして、シリアルモニターを開きます。コードは、シリアルポートが受信したメッセージに応じて、LED面に一連の絵文字を表示するようにプログラムされています。次のコマンドが構成されました:
目のために
- : (普通の目)
- ; (点滅)
- 8 (不気味な目)
口の場合:
- ) (幸せ)
- | (中立)
- ( (悲しい)
- D または d (とても幸せです)
- O または o (驚いた)
- P または p (舌を出す)
シリアルモニターに文字のペア(目用と口用)を入力し、Enterキーを押すと、コマンドに従って表示が更新されます。
必要に応じて、図面を変更したり(たとえば、新しい顔を追加したり)、制御方法を変更したり(BluetoothまたはWi-Fiインターフェイスを含む)することができます。
楽しんでください!
コード
Github
https://github.com/ferauche/RoboAlegriahttps://github.com/ferauche/RoboAlegriaGithub
https://github.com/wayoda/LedControlhttps://github.com/wayoda/LedControl製造プロセス
- 実際のセンサーで効果を制御する
- フライトシミュレータ用のArduinoを備えたLCDパネル
- FS2020用のArduinoを備えたスイッチ/ LEDパネル
- イスラムの祈りの時間とArduino時計
- MAX7219を搭載した24x16マトリックスのArduinoPongゲーム
- LEDを制御するBluetoothを搭載したArduino!
- Arduino UNOを使用してLCDTFTスクリーンに画像を表示する!
- Arduino Quadruped
- ArduinoとMPU6050によるサーボモーターの制御
- BoltとArduinoを使用したLEDの明るさの制御
- ArduinoUnoを使用した25kHz4ピンPWMファン制御