LEDアレイを制御するためのArduino C ++ 11ライブラリ

LEDマトリックスカスケード8x8 今日、私はArduinoハブの異常な品質で話し、デバイスについてではなく、ライブラリについてお話したいと思います。

MAX7219およびMAX7221チップ上の8x8 LEDアレイを制御できるLedMatrixライブラリ( ロシア語の説明についてお話します。







ここでリポジトリからreadmeを再度語るのではなく、主な機能に焦点を当てます。



基本的な概念は、 コードをインストールのアーキテクチャではなく、インストールのアーキテクチャに適応させることです



だから、私のライブラリは何ができますか?



1.彼女は、 プログラムでマトリックスを回転させる方法を知っています。 したがって、考えた絵が正しく表示されるように、マトリックスの配置を調整する必要はありません。

そのような問題は存在します。 そして、しばしばフォーラムで盛り上がります。



2.彼女は、行列をカスケード結合する方法を知っています。 個別のエンティティとしてカスケードを使用する方が、個々のマトリックスの単純な配列を使用するよりもはるかに便利です。



3. カスケードをスーパーカスケードに結合する方法を知っています。

MAX7219およびMAX7221チップは、カスケードあたり8個のマトリックスというカスケードサイズにハードウェア制限を課します。 ただし、複数のカスケードを接続し、それらを1つのスーパーカスケードに結合して、単一のカスケードとして動作させることができます。 スーパーカスケードは単なる大きなカスケードです。 インターフェイスの違いはありません。



4.彼女は、ハードウェアSPIとソフトウェアの両方で作業できます 。 自分でデバイスを接続する方法を選択し、必要に応じて、動作するインターフェイスを選択します。



5.反復子の形で構文糖のごく一部が装備されており、バイナリ表現で便利に機能します。



6.そしてもちろん、彼女はそのような図書館ができることをすべて知っています 。 これには、個々の行、列、ドットの操作が含まれます。 生産、設置、反転、シフトなど。



結論として、ライブラリには、最新のC ++で記述された、適切に設計された柔軟なインターフェイスが備わっていると言えます。



使用例は、 ロシア語の説明のページと例のセクションにあります。



PS
当初、私のライブラリはLedControlライブラリのフォークでした。 いくつかの化粧品の変更を行い、不足している機能を追加することを計画していましたが、最終的には夢中になり、元のライブラリを完全に書き直しました。 元のファイルから数行だけが残っていましたが、現在はsrc / CoreMax72xx.cppファイルにあります









現在、Arduino IDEにはavr-g ++バージョン4.8.1が組み込まれています。これは、C ++ 11標準を完全にサポートしています。 それで、ほとんどのライブラリがクラスを備えたCだけであるときに、なぜ憂鬱な画像が表示されるのでしょうか。 私は現代の標準に移行する時が来たと信じています。 そして、私の事業を支援することを提案します。



All Articles