HSES-LMC1のプログラミング
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[FrontPage]]
* HSES-LMC1のプログラミング [#vb112ea9]
LEDマトリックスコントローラHSES-LMC1には、ESP8266が搭載さ...
ESP8266にプログラムを書き込むことで、ネットワークから取得...
情報をLEDマトリックスモジュールに表示することが可能です。
このページでは HSES-LMC1のプログラムを作成する際に必要な...
提供します。
** 関連文書 [#r49b1089]
- [[Humblesoft_GFXのドキュメント:https://github.com/h-nar...
- [[Adafruit_GFXのプログラミング:https://github.com/h-nar...
- [[Humblesoft_GFX, Adafruit_GFXのメソッド一覧:https://gi...
** ESP8266-Arduino 開発環境 [#q62ca4cc]
HSES-LMC1では、プログラム開発環境として
esp8266-arduino を使用します。
インストール方法は、下記ページを参照して下さい。
- [[ESP8266 Arduinoのインストール]]
** HSES-LMC1用ライブラリ [#aa458736]
ESP8266 Arduinoから HSES-LMC1を使ってLEDマトリックスへの...
行うためにGitHubというサイトで、ライブラリHumblesoft_LedM...
- https://github.com/h-nari/Humblesoft_LedMat
GitHubからArduinoのライブラリのインストールの仕方については
[[Arduinoライブラリのインストール]]のページを御覧ください。
Humblesoft_LedMatは、他のArduinoライブラリを使用していま...
下記の3つのライブラリもインストールして下さい。
- https://github.com/adafruit/Adafruit-GFX-Library
- https://github.com/h-nari/Fontx
- https://github.com/h-nari/Humblesoft_GFX
** プログラム例 [#qb7de4a5]
LEDに文字と枠を表示する簡単なプログラム例lello.inoで説明...
プログラムはHumblesoft_LedMatライブラリのexamplesに収めら...
Arduino-IDEのスケッチの例で呼び出せます。
以下のページでも参照、ダウンロード可能です。
- [[Humblesoft_LedMat/hello.ino at master · h-nari/Humble...
このプログラムの動作した様子の動画です。
#youtube(IpKsGaTyxJI)
** ライブラリのインクルード [#k0311ae6]
#include <Adafruit_GFX.h>
#include <Fontx.h>
#include <Humblesoft_GFX.h>
#include <Humblesoft_LedMat.h>
使用するライブラリのヘッダファイルをインクルードします。
** イメージバッファの確保 [#o28c4499]
uint8_t imgBuf[1024*4];
Humblesoft_LedMatライブラリでは、LEDモジュールに表示する...
ESP8266側に持ち、そこに文字や図形等を描画し、まとめて全部
表示用サブCPU側にSPIで転送します。
イメージバッファのサイズは、使用するLEDモジュールの数、サ...
変化します。最大サイズのバッファを確保してしまうと、他の...
できなくなってしまいますので、ライブラリの外で明示的に確...
必要なサイズは、下の式で計算できます。
必要なサイズ[byte] = LEDの数÷2 × プレーン数
例えば、 64x32dot LEDモジュール2枚を1プレーン(1階調8色...
64 × 32 × 2 ÷ 2 × 1 = 2048 [byte]
2048byte必要となります。
64x32dot LEDモジュール6枚、4プレーン(16階調4096色表示)...
64 × 32 × 6 ÷ 2 × 4 = 24,576 [byte]
24,576byte必要になります。
大体、これが上限で これ以上のサイズを確保しようとすると、
コンパイル時に警告が出るようになります。
** 初期化 [#ye4b9ad4]
LedMat.begin(LMMT64x32s16);
LedMat.setLedMode(1);
LedMat.setImgBuf(imgBuf, sizeof imgBuf);
- bool begin(LMModuleType mtype=LMMT64x32s16, uint8_t col...
LedMat.begin()で LEDモジュールの種類、列数、行数、折り返...
&br;
LEDモジュールの種類は以下の3つが指定可能です
-- LMMT32x16s8: 32x16dot スキャン8のLEDモジュール
-- LMMT32x32s16: 32x32dot スキャン16のLEDモジュール
-- LMMT64x32s16: 64x32dot スキャン64のLEDモジュール
&br;
折り返しの種類は以下の2つが指定可能です。
-- LT_Normal: 折り返し無し
-- LT_Turnback: 折り返し有り
- void setLedMode(uint8_t mode);&br;
setLedMode()は、RGBの配置が特殊なLEDモジュール対策の設定...
HSLM-6432P4Bの場合は1を指定して下さい。&br;
通常は指定の必要はありません。
- void setImgBuf(uint8_t *buf, uint32_t length);
イメージバッファを設定します。&br;
設定しないとLEDに何も表示されません。
** 描画 [#x0bf5ab8]
LedMat.println("Hello");
LedMat.display();
println(), print(), printf()で文字がイメージバッファに書...
display()でイメージバッファが表示用サブCPUに転送されてLED...
uint16_t fg = LedMat.rgb(colors[ci]);
LedMat.clear();
LedMat.setTextColor(fg);
LedMat.setCursor(4,8);
LedMat.println(colors[ci]);
LedMat.drawRect(0, 0, LedMat.width(), LedMat.height(), f...
LedMat.display();
- clear()でイメージバッファがクリア
- setTextColor()で文字の色の指定
- setCursor()で文字描画位置の指定
- println()で文字を描画
- drawRectで長方形を描画
- display()でイメージを表示用サブCPUに転送し、LEDに表示さ...
** 監視機能 [#ia7bd0a1]
LedMat.checkSubcon();
- checkSubcon()は、表示用サブCPUの状態を確認し、電源容量...
** 他の話題 [#c8973cb5]
- 描画機能について詳細
-- [[Humblesoft_GFX文書:https://github.com/h-nari/Humbles...
- 日本語の描画
終了行:
[[FrontPage]]
* HSES-LMC1のプログラミング [#vb112ea9]
LEDマトリックスコントローラHSES-LMC1には、ESP8266が搭載さ...
ESP8266にプログラムを書き込むことで、ネットワークから取得...
情報をLEDマトリックスモジュールに表示することが可能です。
このページでは HSES-LMC1のプログラムを作成する際に必要な...
提供します。
** 関連文書 [#r49b1089]
- [[Humblesoft_GFXのドキュメント:https://github.com/h-nar...
- [[Adafruit_GFXのプログラミング:https://github.com/h-nar...
- [[Humblesoft_GFX, Adafruit_GFXのメソッド一覧:https://gi...
** ESP8266-Arduino 開発環境 [#q62ca4cc]
HSES-LMC1では、プログラム開発環境として
esp8266-arduino を使用します。
インストール方法は、下記ページを参照して下さい。
- [[ESP8266 Arduinoのインストール]]
** HSES-LMC1用ライブラリ [#aa458736]
ESP8266 Arduinoから HSES-LMC1を使ってLEDマトリックスへの...
行うためにGitHubというサイトで、ライブラリHumblesoft_LedM...
- https://github.com/h-nari/Humblesoft_LedMat
GitHubからArduinoのライブラリのインストールの仕方については
[[Arduinoライブラリのインストール]]のページを御覧ください。
Humblesoft_LedMatは、他のArduinoライブラリを使用していま...
下記の3つのライブラリもインストールして下さい。
- https://github.com/adafruit/Adafruit-GFX-Library
- https://github.com/h-nari/Fontx
- https://github.com/h-nari/Humblesoft_GFX
** プログラム例 [#qb7de4a5]
LEDに文字と枠を表示する簡単なプログラム例lello.inoで説明...
プログラムはHumblesoft_LedMatライブラリのexamplesに収めら...
Arduino-IDEのスケッチの例で呼び出せます。
以下のページでも参照、ダウンロード可能です。
- [[Humblesoft_LedMat/hello.ino at master · h-nari/Humble...
このプログラムの動作した様子の動画です。
#youtube(IpKsGaTyxJI)
** ライブラリのインクルード [#k0311ae6]
#include <Adafruit_GFX.h>
#include <Fontx.h>
#include <Humblesoft_GFX.h>
#include <Humblesoft_LedMat.h>
使用するライブラリのヘッダファイルをインクルードします。
** イメージバッファの確保 [#o28c4499]
uint8_t imgBuf[1024*4];
Humblesoft_LedMatライブラリでは、LEDモジュールに表示する...
ESP8266側に持ち、そこに文字や図形等を描画し、まとめて全部
表示用サブCPU側にSPIで転送します。
イメージバッファのサイズは、使用するLEDモジュールの数、サ...
変化します。最大サイズのバッファを確保してしまうと、他の...
できなくなってしまいますので、ライブラリの外で明示的に確...
必要なサイズは、下の式で計算できます。
必要なサイズ[byte] = LEDの数÷2 × プレーン数
例えば、 64x32dot LEDモジュール2枚を1プレーン(1階調8色...
64 × 32 × 2 ÷ 2 × 1 = 2048 [byte]
2048byte必要となります。
64x32dot LEDモジュール6枚、4プレーン(16階調4096色表示)...
64 × 32 × 6 ÷ 2 × 4 = 24,576 [byte]
24,576byte必要になります。
大体、これが上限で これ以上のサイズを確保しようとすると、
コンパイル時に警告が出るようになります。
** 初期化 [#ye4b9ad4]
LedMat.begin(LMMT64x32s16);
LedMat.setLedMode(1);
LedMat.setImgBuf(imgBuf, sizeof imgBuf);
- bool begin(LMModuleType mtype=LMMT64x32s16, uint8_t col...
LedMat.begin()で LEDモジュールの種類、列数、行数、折り返...
&br;
LEDモジュールの種類は以下の3つが指定可能です
-- LMMT32x16s8: 32x16dot スキャン8のLEDモジュール
-- LMMT32x32s16: 32x32dot スキャン16のLEDモジュール
-- LMMT64x32s16: 64x32dot スキャン64のLEDモジュール
&br;
折り返しの種類は以下の2つが指定可能です。
-- LT_Normal: 折り返し無し
-- LT_Turnback: 折り返し有り
- void setLedMode(uint8_t mode);&br;
setLedMode()は、RGBの配置が特殊なLEDモジュール対策の設定...
HSLM-6432P4Bの場合は1を指定して下さい。&br;
通常は指定の必要はありません。
- void setImgBuf(uint8_t *buf, uint32_t length);
イメージバッファを設定します。&br;
設定しないとLEDに何も表示されません。
** 描画 [#x0bf5ab8]
LedMat.println("Hello");
LedMat.display();
println(), print(), printf()で文字がイメージバッファに書...
display()でイメージバッファが表示用サブCPUに転送されてLED...
uint16_t fg = LedMat.rgb(colors[ci]);
LedMat.clear();
LedMat.setTextColor(fg);
LedMat.setCursor(4,8);
LedMat.println(colors[ci]);
LedMat.drawRect(0, 0, LedMat.width(), LedMat.height(), f...
LedMat.display();
- clear()でイメージバッファがクリア
- setTextColor()で文字の色の指定
- setCursor()で文字描画位置の指定
- println()で文字を描画
- drawRectで長方形を描画
- display()でイメージを表示用サブCPUに転送し、LEDに表示さ...
** 監視機能 [#ia7bd0a1]
LedMat.checkSubcon();
- checkSubcon()は、表示用サブCPUの状態を確認し、電源容量...
** 他の話題 [#c8973cb5]
- 描画機能について詳細
-- [[Humblesoft_GFX文書:https://github.com/h-nari/Humbles...
- 日本語の描画
ページ名: