プログラムの書き込み成功して、ファイルをsdcardに入れてコントローラーに入れて電源を入れたが、シリアルモニターにずっと「LedMat not enable readSubconStatus failed」が書かれました。
ledモジュールには「赤緑」だけ表示されています。 どうすればいいでしょうか?
ご返信ありがとうございます。
書き込むときにエラーがでました。 =================================== Arduino:1.8.13 (Windows 10), ボード:"Generic ESP8266 Module, 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), dtr (aka nodemcu), 26 MHz, 40MHz, QIO (fast), 4MB (FS:1MB OTA:~1019KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, Only Sketch, 115200" sketch\webServer.cpp: In function 'void handle_file_upload()': webServer.cpp:152:1: error: expected primary-expression before '<<' token <<<<<<< HEAD ^ webServer.cpp:152:3: error: expected primary-expression before '<<' token <<<<<<< HEAD ^ webServer.cpp:152:5: error: expected primary-expression before '<<' token <<<<<<< HEAD ^ webServer.cpp:152:7: error: expected primary-expression before '<' token <<<<<<< HEAD ^ webServer.cpp:152:9: error: 'HEAD' was not declared in this scope <<<<<<< HEAD ^ webServer.cpp:153:5: error: expected ';' before 'f' f = SD.open(path, FILE_WRITE); ^ webServer.cpp:154:1: error: expected primary-expression before '==' token ======= ^ webServer.cpp:154:3: error: expected primary-expression before '==' token ======= ^ webServer.cpp:154:5: error: expected primary-expression before '==' token ======= ^ webServer.cpp:154:7: error: expected primary-expression before '=' token ======= ^ webServer.cpp:156:1: error: expected primary-expression before '>>' token >>>>>>> t190123 ^ webServer.cpp:156:3: error: expected primary-expression before '>>' token >>>>>>> t190123 ^ webServer.cpp:156:5: error: expected primary-expression before '>>' token >>>>>>> t190123 ^ webServer.cpp:156:7: error: expected primary-expression before '>' token >>>>>>> t190123 ^ webServer.cpp:156:9: error: 't190123' was not declared in this scope >>>>>>> t190123 ^ webServer.cpp:157:5: error: expected ';' before 'if' if(!f) Serial.printf("open %s failed.\n", path.c_str()); ^ exit status 1 expected primary-expression before '<<' token =================================== 画面のスクショも添付しております。
すみません。
恥ずかしいミスです。 修正しました。
ちゃんと動きました。
新規メッセージとかもちゃんと表示できました。 本当にありがとうございます。
動いたということで安心いたしました。
ご報告ありがとうがございました。 |
「HSES-LCD24B」について質問させて下さい。
「HSES-LCD24B基板」と「LCD基板」をセットにして使用し、 「LCD基板」にて何かしらの表示を行っている最中に、 「HSES-LCD24B基板」にてシリアルポートコネクタより UART通信する事は可能でしょうか?
表示中に通信を行いたいということですが、
問題になるのは、受信を待ちつつ、表示を
行う部分ではないかと思います。
ArduinoのSerialには available()があり、
受信済みの文字数を取得できますので、
if(Serial.available()){
char buf[40];
size_t n = Serial.readBytes(buf, sizeof buf);
/* ... 受信データの処理 ... */
}
というようにすれば、受信データがある時だけ
処理を行うということができて、
受信を待ちつつ、表示を変化させるというようなことが
可能です。
ご連絡ありがとうございます。
検討してみます。 |
お世話になります。
Wikiに書かれているの手順通りLED_Signboardをコンパイルするとエラーがでてしまいます。 エラー内容を添付いたしますので原因・対処方法を教えて頂けないでしょうか。 https://github.com/h-nari/LED_Signboard Windows 10 バージョン 1809 (OSビルド 17763.678) Arduino IDE 1.8.9 esp8266 by ESP8266 Community 2.5.2 下記はGitでCloneしてます。 - LED_Signboard - afruit-GFX-Library - FsHandler - Humblesoft_LedMat - Humblesoft_GFX - Fontx よろしくお願いいたします。
早速のご返信ありがとうございます。
Adafruit_GFX_libraryを 1.4.14 と 1.3.2 にしてコンパイルを試してみましたが前回と異なるエラーが出ています。 1.4.14と1.3.2のエラー内容は同じでした。 エラー内容を添付いたしますので対策方法のご対応をお願いできますでしょうか。 よろしくお願いいたします。
ボードの esp8266 by ESP8266 Community を最新の 2.5.2 から 2.5.0 へダウンしたところコンパイルできました。
書き込みをできまして、無事動作させることができました。 ご対応ありがとうございました。
ご報告ありがとうございます。
別件の質問と勘違いしたため、 変な回答になってしまいました。 最新のライブラリに対応したものに、 近いうちに更新したいと思います。
誤解を招く書き方をしてしまいすみません。
Adafruit_GFX_libraryのバージョンを教えて頂いたおかげで大変スムーズにエラーの対応ができました。 ちなみに下記の変更の組み合わせによりコンパイルと書き込みができるようになりました。 Adafruit_GFX_library 1.15.6 -> 1.4.14 esp8266 by ESP8266 Community 2.5.2 -> 2.5.0 サポートありがとうございました。 |
荒谷様
スレッドが深くなりすぎたので、新規に投稿します。 シリアルモニターの画面コピーありがとうございます。 これを見ると Exception が表示されています。 これは、HSES-LMC1のプログラム実行中に 致命的なエラーが発生したことを意味します。 HSES-LMC1は、このあと再起動(リセットからやり直し) しますので、スクロールも止まると思うのですが 動いているのでしょうか? LED Signboardのコンパイル・書込み時に エラー等は出ていませんでしたでしょうか?
▼nariさん:
>>[chromeでアクセスして」とはどういう意味ですか。最初にシリアルモニターに表示されるIPアドレスにchromeによってアクセスするのですか。(何度もしていますが、シリアルモニターはどのように関係するのでしょうか?) > >chrome(クローム、ブラウザ)でled_signboardで動作している >web-serverにアクセスすると、 >例外、またはプログラムの異常処理が >行われているように思われます。 > >例外・異常処理が発生している場所を >特定したいので、プログラムに >処理中の位置のメッセージをシリアルモニターに >出力する処理を追加しました。 > > >>前回お送りしたものが、書き込みした後、基板の電源を入れ直す、あるいは、リセットボタンを押したときの最初の画面です。あとはエラー表示がつづきます。申し訳ないのですが、わかりやすい操作方法をお願いします。 > >シリアルモニターの「自動スクロール」のチェックを外し、 >リセット後、エラー表示の最初の部分を表示させ、 >画面コピーを取り送って下さい。 シリアルモニターの画面、nChrome でのhttp://192.168.1.8のアクセス画面です。。 相変わらず、どうしたらよいのかはっきりわかりませんがこれでよいのでしょうか? なお、今回、Sprintf入りのプログラムを再度書き込みしましたが、今度はLED画面には最初のSignBoardの文字しか表示されず、赤、緑、青以降が表示されなくなりました。正常なのでしょうか?
画面コピーありがとうございます。
なんか、シリアルモニターに出力されるエラーが readSubconStatus failed. となる場合と、 Exception になる場合があり、不安定ですね。 現象を安定させることは、できませんか? HSES-LMC1の基板は、どのように固定されてますか? 基板の近くに電気を通すものがあったりしませんか? > 画面には最初のSignBoardの文字しか表示されず、 > 赤、緑、青以降が表示されなくなりました。正常なのでしょうか? これは SDカードが読めていない状態ですね。 SDカードをPCで読めるか確認してみて下さい。
▼nariさん:
>画面コピーありがとうございます。 > >なんか、シリアルモニターに出力されるエラーが > > readSubconStatus failed. > >となる場合と、 > > Exception > >になる場合があり、不安定ですね。 >現象を安定させることは、できませんか? どうしたら安定させられるのか、教えてください。 > >HSES-LMC1の基板は、どのように固定されてますか? >基板の近くに電気を通すものがあったりしませんか? > >> 画面には最初のSignBoardの文字しか表示されず、 >> 赤、緑、青以降が表示されなくなりました。正常なのでしょうか? > >これは SDカードが読めていない状態ですね。 >SDカードをPCで読めるか確認してみて下さい。 SDカードがPCで読めるかどうか、どうすれば試せるのですか。データを入れたり出したりはできますが、読み書きはどうするのですか? もう一つ質問ですが、wifiが入っていないコンピュータ(有線でインターネットにつないでいるもの)は、今回の場合、つかえないということなのでしょうか? こちらはデスクトップなので、できればこれでいろいろ試したいと思っているのですが、wifiのアダプターをさして環境を整えないと駄目ということでしょうか? 忙しくなってしまったため、すこし時間をおいて、またチャレンジしたいと思います。その時にまた質問を再開させていただきますので、よろしくお願いします。
>>現象を安定させることは、できませんか?
>どうしたら安定させられるのか、教えてください。 これは、ひたすら試して、 現象を安定させる条件を探すしか無いと思います。 条件の例としては、 電源投入直後、 リセットボタン押下後 どれかのケーブルに触ったあと 手をかざしたとき ... 等々様々です。 >>これは SDカードが読めていない状態ですね。 >>SDカードをPCで読めるか確認してみて下さい。 >SDカードがPCで読めるかどうか、どうすれば試せるのですか。データを入れたり出したりはできますが、読み書きはどうするのですか? SDカードに書き込んだ、 拡張子 .jsn .htm .jsのファイルは テキストファイルですので、メモ帳等で開いて 内容を確認してみて下さい。 もともとの内容は 下記URLのgithub上でも見れます。 https://github.com/h-nari/LED_Signboard/tree/master/sdcard >もう一つ質問ですが、wifiが入っていないコンピュータ(有線でインターネットにつないでいるもの)は、今回の場合、つかえないということなのでしょうか? こちらはデスクトップなので、できればこれでいろいろ試したいと思っているのですが、wifiのアダプターをさして環境を整えないと駄目ということでしょうか? 使えます。 私は、いつも有線LAN接続のPCから使用しています。 |
貴社のHSES-LMC1およびRGB LEDmatrix64*32の購入を考えております。
用途は、ゲーム機の得点表示(センサーからの信号に応じてカウンターをアップさせる)に使いたいと思っています。(Wifiは使用しない環境です。点数だけでなく、文字表示も行いたいと考えています。) 当方、arduino初心者です。スケッチを多少変更すれば良いのではないかと思いますが、 具体的な方法がわかりません。(カウントアップの数字と、ディスプレーに表示させるための 全角数字とのマッチングの問題なのでしょうか?)。 もし購入した場合に、変更の方法等ご教示いただけるのかどうか、お尋ねします。 よろしくお願いいたします。
それぞれのコンピュータで
Windowsのコマンドプロンプトから ipconfigコマンドを実行した結果を教えて 下さい。 参考までに、私のPCで実行した結果の 画像を添付します。 一部の情報は隠しています。 そちらの情報を公開したくなければ、 画像を私宛にメールで送っていただいても 構いません。
シリアル・モニターの情報ありがとございます。
シリアル・モニターに readSubconStatus failed. と表示されていますが、 これは HSES-LMC1内部の2つのCPUが 通信できていないことを示しています。 原因として考えられるのは、 5Vの電源の問題などですが、 他のサンプルプログラムはうごいているのですよね? "readSubconStatus failed"が表示されるのは chromeから、なんらかの操作をしたあとでしょうか? LEDの構成は 64x32 LEDモジュール1枚で、 5Vの電源は何をご使用でしょうか?
▼nariさん:
>シリアル・モニターの情報ありがとございます。 > >シリアル・モニターに > > readSubconStatus failed. > >と表示されていますが、 >これは HSES-LMC1内部の2つのCPUが >通信できていないことを示しています。 > >原因として考えられるのは、 >5Vの電源の問題などですが、 >他のサンプルプログラムはうごいているのですよね? 使用している電源は5V3A15wのACDCアダプターです。 再度試しましたが症状は同じです(添付ファイル) 違うのは、LEDSignboardのスクロース文字がリセットしても不規則に止まることなく、いつも同じ表示をおこなうようになったことです。 > >"readSubconStatus failed"が表示されるのは >chromeから、なんらかの操作をしたあとでしょうか? > >LEDの構成は 64x32 LEDモジュール1枚で、 >5Vの電源は何をご使用でしょうか? 電源は5V3A15WのACDCアダプターです。 再度インストールして試しましたが症状は同じでした(添付) 今回試してのはコンピュータの電源を一度切ってからで、chromeはIPアドレスの画面を表示するときのみ使用しました。 ただ前と異なるのは、以前はLEDsignboardのデモ画面のスクロールが、リセットするたびに不規則に止まりましたが、今回はいつも同じように表示(スクロール)していることです。
スレッドが深くなりすぎたので、
新規投稿しました。 以下の記事を御覧ください。 http://www.humblesoft.com/bbs/c-board.cgi?cmd=one;no=175;id= |
お世話になります。
HSES-LCD24にUSBケーブルを刺して、PCと接続しArduinoIDEを起動しても シリアルポートの選択タブにポートが表示されません。 USBケーブルを接続するだけではだめなのでしょうか? LCDの画面には購入字のサンプル画像が表示されているので、システム自体は動いていると思います。
通信ドライバが外付けだったんですね。
そんな気もしましたが、取説を見ても気が付きませんでした。 通信ドライバをサービスしていただけるとのこと ありがとうございます。
Nari様
HSES-LCD24Bと通信アダプタが届きました。 サンプルプログラムも書き込むことができるようになりました。 簡単なサンプルから動かして行きます。 ありがとうございました。
ご不明な点、わかりにくいことなど
ありましたら、 またこの掲示板で質問して下さい。 |
こんにちは
久しぶりにkanjiDisp.inoをコンパイルしましたが ビルド時のFLASHサイズの指定よっては正しく表示できません。 1M(512) NG 2M(1M) OK 4M(1M) NG 4M(2M) NG 4M(3M) NG 環境は以下の通りです Arduino-IDE 1.8.5 "Adafruit_GFX.h" 1.3.2 "Adafruit_ILI9341.h" 1.2.0 Adafruit_ILI9341ライブラリに付属のサンプルスケッチでも同じ現象なので Adafruit_GFXライブラリに問題があるかもしれません 私の環境だけの問題かもしれません。 ご確認ください。
はい HSES-LCD24です
電源を入れなおすと一瞬表示されますが、すぐにホワイトアウトします。 こちらに関連情報が有りました https://nitoblab.itu-toki.com/2018/03/15/esp-wroom-02-oled-ssd1306-3/ そこで、esp8266 coreを2.4.2→2.3.0にバージョンダウンしたら 4M(1M)や4M(3M)でも正常に表示されるようになりました
情報ありがとうございます。
こちらで、今確認してみましたところ、 esp8266 core 2.4.2 Arduino-IDE 1.8.5 Adafruit_GFX.h 1.3.2 でコンパイル&書込を行い、 動作しました。動作時の画像を添付します。 各ライブラリが、それぞれversion upするので、 問題が発生すると大変ですね。 とりあえず、全部最新にして確認する必要が ありそうです。 ちなみに、今のHumblesoft_ILI9341は、 Adafruit_ILI9341.hを使用しておりません。
了解しました
私のところだけの現象ですね。
▼nopnop2002さん:
>了解しました >私のところだけの現象ですね。 こちらの検証にミスがあるのかもしれません。 現状、こちらでは減少を再現できていないということです。 |
HSES-LMC1とHSLM-6432P4Bを所有しています。
ネット接続せず決まった日本語文を流れるように表示させたいです。 現在添付したスケッチの表示まで出来ましたが、日本語表示等、わからないことだらけです。サンプルスケッチ、考え方等教えてください。よろしくお願いします。
WiFi有りの環境で表示できるようになったということで、
安心いたしました。 表示する文字の位置、色など固定で よければ、1(プログラムで文字列指定)でも 2(SDカード中のテキストファイル表示)でも 簡単です。 文字色、位置等をプログラムを触らずに 変更したければ、3の電光掲示板のような プログラムになります。 どの方法が簡単か? というと、 私にとっては、とりあえず3をWiFi無しでも 動くようにするのが簡単です。 時刻なしにするのは、時刻を表示する部分を 3の電光掲示板のプログラムでブラウザで削除する だけです。 1,2の方法も 使い方のサンプルとしては あった方が良さそうな気もするので、 近日中に作る気はあります。
3をWIFIなしで動くようにする方法を教えてください。
よろしくお願いします。 この場合でも書き込みにはWIFI接続が必要と思いますが もし環境がない場合はスマホのテザリングで書き込めば OKですよね? ▼nariさん: >WiFi有りの環境で表示できるようになったということで、 >安心いたしました。 > >表示する文字の位置、色など固定で >よければ、1(プログラムで文字列指定)でも >2(SDカード中のテキストファイル表示)でも >簡単です。 > >文字色、位置等をプログラムを触らずに >変更したければ、3の電光掲示板のような >プログラムになります。 > >どの方法が簡単か? というと、 >私にとっては、とりあえず3をWiFi無しでも >動くようにするのが簡単です。 > >時刻なしにするのは、時刻を表示する部分を >3の電光掲示板のプログラムでブラウザで削除する >だけです。 > >1,2の方法も 使い方のサンプルとしては >あった方が良さそうな気もするので、 >近日中に作る気はあります。
LED_Signboardを修正し、
WiFiが使用できない環境でも メッセージの表示を行えるように しました。 https://github.com/h-nari/LED_Signboard から、再度プログラムを入手し、インストールしてください。 conf.h-sampleを変更していますので、 これを conf.hにコピーすることをお忘れなく。 先頭2行と、最後の1行が追加されているだけですので、 そこだけ修正してもらっても大丈夫です。 変更後のプログラムでは、起動時 WiFiの接続を試み、10秒たっても接続できなければ、 WiFi無しで、表示動作のみおこなうようになります。 conf.h 先頭で USE_NETWORKの値を0に変更すると、 WiFiの接続を試みることもしなくなります。
早速ご連絡頂きありがとうございます。
スケッチを書き込みシリアルモニタに表示されたアドレスに ブラウザで接続して電光掲示板の初期画面が表示されました。 その後メッセージを入れ(3個)順番に表示されましたが 内容を修正しようとするとメッセ―ジ一覧画面が表示できなくて 内容が修正できませんでした。 ノートンにてアクセスが制御されているのかもしれませんが 分からずで今日のところは終了です。 ▼nariさん: >LED_Signboardを修正し、 >WiFiが使用できない環境でも >メッセージの表示を行えるように >しました。 > >https://github.com/h-nari/LED_Signboard > >から、再度プログラムを入手し、インストールしてください。 > >conf.h-sampleを変更していますので、 >これを conf.hにコピーすることをお忘れなく。 >先頭2行と、最後の1行が追加されているだけですので、 >そこだけ修正してもらっても大丈夫です。 > >変更後のプログラムでは、起動時 >WiFiの接続を試み、10秒たっても接続できなければ、 >WiFi無しで、表示動作のみおこなうようになります。 > >conf.h 先頭で USE_NETWORKの値を0に変更すると、 >WiFiの接続を試みることもしなくなります。 |
いつもありがとうございます。漢字などのフォントを表示させるときに、現在の背景を塗りつぶすのでなく、添付画像(数字"5"の例)のように影文字表示させることができないかと、ライブラリを見させて頂いております。背景を付けると目立たせることはできるのですが、電流が大きくなるのか欠点です。これを影文字で表示させたいと思い、解析中です。
頂いたスクロールサンプル LedMat.print → Humblesoft_GFX::write → drawChar と関数を呼び出していると思い、「Humblesoft_GFX.cpp」プログラムを変更して見ましたが、変わりません。(textbgcolorをゼロにしても背景色が表示) アドバイスをお願いします。
スクロールしない静止文字も表示ですと、
位置と色を変更して描画してやれば できるはずです。 スクロール文字(ScrollText)で 影文字を描画するのは、ちょっと面倒です。 ScrollTextでは、一旦、単色のBitmap https://github.com/h-nari/Humblesoft_GFX/blob/master/src/Bitmap.h に文字を描画 https://github.com/h-nari/Humblesoft_LedMat/blob/master/src/ScrollText.cpp#L65 これを1列づつ表示させているので、 袋文字に対応するには、Bitmapのカラー対応版 を作成し、これにカラーで袋文字を描画後、 1列づつ表示という感じになるのかなと思います。
早速ありがとうございます。まずは固定文字の影文字を表示させることができました。
スクロール文字の影文字もこれからチャレンジしていきます。
自己レスです。
> https://github.com/h-nari/Humblesoft_LedMat/blob/master/src/ScrollText.cpp#L65 > >これを1列づつ表示させているので、 というアドバイスを頂きましたので、「ScrollText.cpp」を変更して影文字を表示させました。画像を添付します。 元々のプログラムは、次のようになっており、m_bitmap.getPixel関数で0,1を判断し、TextColorとTextBGcolorのどちらかを設定しています。 if(m_oy +y >= 0 && m_oy + y < m_sch) { m_led->drawPixel(m_xi, m_scy + m_oy + y, m_bitmap.getPixel(m_ri, y) ? m_cText : m_cBg); } これを改良して、1ドットずらした位置をチェックしてTextBGcolorで描画、 その後、TextColorで描画するようにして対応しました。 以下が変更点です。(ScrollText.cppの91行目から) 座標のチェックなどしていないため、もしかするとまだ不具合があるかもしれません。 if(m_ri < m_gw){ for(int y = 0; y < m_gh; y++){ ////変更ここから//// if( m_cBg != 0 ){ if(m_oy +y-1 >= 0 && m_oy + y-1 < m_sch) { if( m_bitmap.getPixel(m_ri-1, y)!= 0 ){ m_led->drawPixel(m_xi, m_scy + m_oy + y - 1, m_cBg ); } } } if(m_oy +y >= 0 && m_oy + y < m_sch) { if( m_bitmap.getPixel(m_ri, y)!= 0 ){ m_led->drawPixel(m_xi, m_scy + m_oy + y, m_cText ); } } } ////変更ここまで//// m_ri++; } ただし、処理が多くなる分、一瞬処理のため止まります。今後の課題です。
画像拝見しました。
素晴らしいですね。 bitmapはカラーにする必要はなく、 描画時に色と位置をずらしているわけですね。 スクロールの動きが、ぎこちなくなるのは、 ある程度仕方ないと思っています。 理由は、スクロール速度をLEDのリフレッシュレートと 関係なく変更可能にしているからです。 あと、事前に表示する内容が決まっているものであれば、 動画として作成し、SDカードに書き込み再生させる 方法があります。 この場合、表現方法は、動画編集ソフト次第ですので、 ほぼ無制限ですし、スクロールが一瞬止まるようなことも 起きないはずです。 |
SPIFFS上にフォントファイルを置き、LEDモジュールコントローラ HSES-LMC1で文字を表示させるサンプルプログラムは何かありませんか。
楽しみにしております。簡単なサンプルで構いませんので、あわせて、漢字を表示させる(位置固定)とスクロールさせるものをお願いします。
Humblesoft_LedMatライブラリのexamplesに
3つのsketchを追加しました。 ledMatDemo_fsfontx: SPIFFS上に置いたfontxのフォント・ファイルを使用し、 LEDに漢字を表示するプログラムです。 dataフォルダ内のフォントファイルを、 メニュー/ツール/ESP8266 sketch Data upload等で アップロードしてください。 LedMatDemo_fsfontx_webserver: 同じくSPIFFS上のfontxのフォント・ファイルで LEDに漢字を表示するプログラムですが、 ESP8266 sketch Data upload でデータのアップロードに 失敗する場合も結構あるので、 webserver経由で spiffs内のファイルの参照、削除、アップロード を行う機能が追加されています。 プログラムを書き込み起動後、シリアルモニタに表示される IPアドレスにブラウザでアクセスしてください。 scroll_text: 文字のスクロール表示のプログラムです。 固定文字(?)の位置指定の機能も使っています。 数字表示前の、 setCursor()の部分です。 全体に説明が不足しているので、今後 説明を追加するかもしれません。 説明を多少追加しても、完全な情報の提供は難しいので、不明な部分は ライブラリのソースコードを読んでもらうのが速いと思います。 幸い、ソースコードは全て github上で参照可能ですので、結構見やすいです。 描画機能は、基本的に Adafruit_GFXライブラリを継承していますので、 これが基本となります。 setCursor()も、ここで定義されています。 https://github.com/adafruit/Adafruit-GFX-Library fontxでの漢字描画機能や、色名での色指定、その他 共通で使えそうな便利機能は Humblesoft_GFXライブラリにあります。 https://github.com/h-nari/Humblesoft_GFX スクロールテキストの機能は、Humblesoft_LedMatライブラリの ScrollTextクラスで提供されています。 https://github.com/h-nari/Humblesoft_LedMat/blob/master/src/ScrollText.h 参考になりましたら、幸いです。
サンプルをありがとうございました。参考になりました。
また、ご不明な点などありましたら御質問ください。
|
SDカードをHSES-LMC1で動作しているサンプルプログラムはありますか?
SD-CSを16にセットしてサンプルを書き込みましたが、認識されません。 どこかにあれば、教えて下さい。
SDカードの初期化は、
Humblesoft_LedMatライブラリ で行われていまして、 LedMat.begin()呼び出し時に SD.begin()が呼び出されます。 この時、シリアルモニターに、 初期化が成功すれば initialize SD Card done. 失敗(SDカードが挿入されていないなど)すれば initialize SD Card failed. と出力されますので、確認してみてください。 その後のSDカードの操作は、 通常と同じように SD に対して行ってください。 SDカードを使用しているプログラムの例は、 examplesの MoviePlayerクラスを経由してですが、 movie_player/movie_repeat/movie_simple などがあります。 あと、電光掲示板プログラム https://github.com/h-nari/LED_Signboard などがありますが、いずれも結構複雑なので、 必要であれば、簡単な物も用意します。
ありがとうございました。SDカード認識できました。
ご報告ありがとうございます。
解決したとのことで、安心しました。 |
HSES-LMC1で、LED Signboardを書き込んでいるのですが、最初にsignboardと出た後に、赤と出てその後何も表示されません。
シリアルモニタで見ると HTTP server started ここまでは、多分正常に表示されており、その後 readSubconStatus failed. このfailedがずっと続いています。 電源は5V6.2Aのものを使用していて、RSSの表示ソフトでは問題なく動いています。上記の状態でもブラウザからIPアドレス指定では入れます。 書き込みもできていますが、表示はされません。 よろしくお願いいたします。
お手数をおかけしております。
シリアルの出力は以下の通りです。 lize SD Card done. Reset LedCon m_configId differ (1:0),reset subcon params begin() succeeded. cmd_send: 00: a5 04 30 26 FVER: 1-0-3 最後が違うようですね。 よろしくお願いいたします。
ご回答ありがとうございます。
ファームウェアが1つ前のバージョンのものの ようですので、最新のものに更新をお願いいたします。 更新の方法は、 Humblesoft_LedMatの サンプルプログラム(スケッチの例)の firmware_update を開き、 プログラムの wifiのssidとパスワードを ご使用のものに修正し、 コンパイル・プログラムの書込を行ってください。 プログラムが走ると、シリアルモニターに ファームウェアの更新を行うかどうかの 入力を求めてきますので、 y と入力しますと、 更新が始まります。 お手数ですが、よろしくお願いいたします。
回答ありがとうございました。
無事に動くことを確認致しました。 対応ありがとうございました。
解決したとのことで安心しました。
古いファームウェアで、表示しなくなるバグがあるのですが、 発生するのは、比較的大きい(LEDモジュールが多い) 構成の時だけだと思ってました。 ファームウェアが古いのは、昨年の MFTで販売していたもので、 それらに対しては、ファームウェアの更新を呼びかけて行こうと 思います。 |
HSES-LMC1にてテストを行おうとした所コンパイルが通りません。
環境はArduino1.8.5を使用しています。 wikiの指示通りESP8266 Arduino(2.4.1)のインストールとツールメニューの設定を済ませ、 https://github.com/h-nari/Humblesoft_LedMat https://github.com/h-nari/Fontx https://github.com/h-nari/Humblesoft_GFX https://github.com/adafruit/Adafruit-GFX-Library の4つの最新ライブラリをインストール後、スケッチ例の「hello」をそのままコンパイルしましたが 「ボードGeneric ESP8266 Moduleに対するコンパイル時にエラーが発生しました。」となり止まってしまいます。 どこか設定が間違っているのでしょうか?
申し訳ございません。
Humblesoft_GFXの更新がGitHubにpushしてありませんでした。 お手数ですが、 Humblesoft_GFX を更新し、 再度、コンパイルを試して下さい。 よろしくお願い致します。
更新した所、無事コンパイルが通るようになりました。
ありがとうございました。
コンパイルが通ったということで、
安心致しました。 |
複数LEDモジュールを接続した際の、プログラムでの指定方法がわからない。
▼isomuraさん:
>複数LEDモジュールを接続した際の、プログラムでの指定方法がわからない。 begin()で指定して下さい。 例えば、 64x32のLEDモジュールを2枚接続する場合は、 以下のようになります。 LedMat.begin(LMMT64x32s16, 2, 1); 参考: http://www.humblesoft.com/wiki/?HSES-LMC1%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0#ye4b9ad4 |
お世話になります。
ハンブルソフトのwikiに記載されている「ESP8266 Weather Station Color インストール方法」に従い、現在の最新版のライブラリを導入して書き込みましたが、どうしても天気アイコンのみ表示されません。 サンプル画像では現在や3日間の天気アイコンが見えますが全て表示されません。気温や月の表示、日の出などの時刻は出ています。 以前から同様の症状でしたが放置しており、最近、ESP8266 Weather Station Colorのファイルのアップデートがあったので全て最新版にして試してみましたが同様です。 何か対処方法が分かればよろしくお願いします。
ご返信ありがとうございます。
シリアルは115200にしています。これはたまたまでしたが。 先ほどのコメントでbmpがうまくダウンロードできていないのでは? と思い、一度FLASHサイズを小さなものに変更し書込み、再度元に戻して書込んだところ、WiFiの設定のやり直しとbmpのダウンロードが再度始まりました。 その結果、表示しました。 先ほどまで天気がOvercastだったので、もしかしたらこのアイコンが無いのかな?とも思いましたが、現在の天気はMostly Cloudyに変わってしまったので、ここのところは良く分からないです。 恐らくbmpがうまくダウンロードできていなかったのでは無いかとは思ってますが、しばらく様子見てみます。 ちなみにダメだったときの画像は参考のためにアップしておきます。 ご助言いただき大変ありがとうございました。
解決しました。
bmpのダウンロードや天気がMostly Cloudyだから表示できたわけではなかったみたいで、Flash sizeを4M(1M SPIFFS)で書き込んだことが解決したようです。 あの後、4M(3M SPIFFS)で再度書き込んでみたら、再度表示されなくなり、もう一度4M(1M SPIFFS)で書き込んでみたら表示しました。 どうやら4M(3M SPIFFS)のボード設定が問題のように思えます。 とりあえず表示ができたので良かったです。 解決の糸口をいただき大変ありがとうございました。
解決したとのことで、安心しました。
ご報告ありがとうございました。 |
こんばんは
https://github.com/h-nari/Fontx こちらを一式ダウンロードし \examples\fsfontx_example\fsfontx_example.ino をコンパイルしたのですが、以下のエラーとなります。 回避方法を教えてもらえないでしょうか?? Arduino:1.6.13 (Windows 10), ボード:"Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None" Warning: Board atmega64:avr:memduino64_8MHz doesn't define a 'build.board' preference. Auto-set to: AVR_MEMDUINO64_8MHZ Warning: Board atmega644_1284:avr:avrmega1284p doesn't define a 'build.board' preference. Auto-set to: AVR_AVRMEGA1284P Warning: Board atmega644_1284:avr:avrmega644p16 doesn't define a 'build.board' preference. Auto-set to: AVR_AVRMEGA644P16 Warning: Board atmega644_1284:avr:avrmega1284p16 doesn't define a 'build.board' preference. Auto-set to: AVR_AVRMEGA1284P16 Warning: Board atmega644_1284:avr:avrmega644p doesn't define a 'build.board' preference. Auto-set to: AVR_AVRMEGA644P ビルドオプションが変更されました。全体をリビルドしています。 \\LANDISK-HDL-AA1\disk1\Arduino\libraries\Fontx-master\examples\fsfontx_example\fsfontx_example.ino:1:18: fatal error: conf.h: No such file or directory #include "conf.h" ^ compilation terminated. exit status 1 ボードGeneric ESP8266 Moduleに対するコンパイル時にエラーが発生しました。 「ファイル」メニューの「環境設定」から 「より詳細な情報を表示する:コンパイル」を有効にすると より詳しい情報が表示されます。
▼nariさん:
>fsfontx_exampleの方も更新しようとしたのですが、 >spiffsへの書き込みが、個体によっては、うまくいかず、 >ネットで検索しても、環境、versionの違い等で >いろいろありそうなので、まだ行えておりません。 fsfontx_exampleも以下のコードで正常動作しました。 #include <FS.h> #include <Fontx.h> #include <FsFontx.h> FsFontx fx("/ILGH16XB.FNT","/ILGZ16XB.FNT"); void setup() { const uint8_t *p; uint8_t w,h; uint16_t str[] = {u'漢',u'字',u'T',u'E',u'S',u'T'}; Serial.begin(9600); delay(100); Serial.println("\nReset:"); if(!SPIFFS.begin()) Serial.println("SPIFFS failed."); else { Dir dir = SPIFFS.openDir("/"); int cnt = 0; while(dir.next()){ File f = dir.openFile("r"); Serial.printf("[%d] %-12s %12u\n",++cnt,f.name(), f.size()); f.close(); } Serial.printf("%d files found.\n",cnt); } // end if for(int i=0;i<sizeof(str)/sizeof(str[0]);i++){ if(!fx.getGlyph(str[i], &p, &w, &h)){ Serial.printf("getGlyph failed. code:%x\n",str[i]); } else { for(int y=0; y<h; y++){ Serial.printf("%02d: ",y); for(int x=0; x<w; x++){ Serial.print(p[x/8] & (0x80 >> (x % 8)) ? '*' : '.'); } // end x Serial.println(); p += (w + 7)/8; } // end y } // endif } // end i } void loop() { }
こんにちは
Fontxを利用させていただいていますが、気が付いた点が有りますので 報告します。 その1 bool RomFontx::getGlyph(uint16_t code , const uint8_t **pGlyph, uint8_t *pw, uint8_t *ph) codeはuint16_tです codeはそのままuni2sjisに渡りますが、uni2sjisではuint32_tで受けています。 result_t uni2sjis(uint32_t ucode, uint32_t *pScode) その2 uni2sjis_tbl.cに半角カナが定義されていません。 余裕があるときに対応してもらえると嬉しいです。
半角カナ OKです
ありがとうございました |
AitendoのESP-13用の変換基盤に対応したものがあると嬉しいです
イメージとしては写真の下側の3ピンのところにUSB−TTL変換モジュール がついている感じです。
ESP8266の基板が増えてきて、
ボードごとに同じ回路を載せるのが嫌になり 作りました。 FTDI-BASIC-BREAKOUTみたいな業界標準のボードになって、 どこかのメーカーがもっと安く出してくれると嬉しいのですが。 |
Humblesoft_ILI9341のバージョンアップしました。
今回のバージョンアップで、これまでのHumblesoft_ILI9341を 使用しているプルグラムは修正が必要となります。 申し訳ありません。 主な変更点を説明します。 * クラス構造の変更 従来は、 Adafruit_GFX -> Adafruit_ILI9341 -> Humblesoft_ILI9341 となっておりましたが、変更後は Adafruit_GFX -> Humblesoft_GFX -> Humblesoft_ILI9341 となりました。 Humblesoft_GFX事態にに 漢字(fontx)描画機能を実装してありますので、 漢字描画機能の他デバイスへの展開が容易になりました。 * SPIFFS格納fontxファイルへの対応 Fontxクラスを抽象化し、その具象クラスとして 従来どおりのIMPORT_BINを使用するRomFontxクラスと、 SPIFFS内のfontxファイルを使用するFsFontxクラスを 作成しました。 SPIFFSは3Mbyteの容量があり、一度書き込めばプログラムを 変更してもそのまま使えますので、プログラムの書き込み時間を 大幅に短縮できます。 また、プログラムサイズが小さくなった ことで、 漢字を使用するプログラムでも OTA(Over The Air, Wifi)経由 で高速にプログラム書込みが行えます。 * 今回変更したライブラリ https://github.com/h-nari/Fontx https://github.com/h-nari/Humblesoft_GFX https://github.com/h-nari/Humblesoft_ILI9341 * 対応して更新したサンプルプログラム、アプリ https://github.com/h-nari/HSES_LCD24_Sample_programs https://github.com/h-nari/NetLCD 具体的な使用方法は、サンプルスケッチをライブラリにつけておりますので、 そちらをご覧ください。 ご不明な点などありましたら、こちらの掲示板で質問してください。 |
こんばんは
大垣からずいぶん時間が経ちましたが いろいろと教えていただきありがとうございます。 こちらでHSES-LCD-24を紹介させていただきました http://nopnop2002.webcrow.jp/HSES-LCD24/HSES-LCD24-1.html
ありがとうございます。
拝見させていただきました。 話は、変わりますが 最近 ESP8266 PlaneSpotterColor という プログラムを HSES-LCD24で動かしてみました。 ESP8266 PlaneSpotterColorを動かした | うだうだブログ <http://www.narimatsu.net/blog/?p=11055> いろいろと可能性を感じさせるプログラムです。 一度試してみることをお勧めします。 |
タッチパネル機能について教えてください
公開されているcalibrationSaveLoadを参考に 以下のコードを書きました。 先日大垣でピンコンパチの2.8インチTFTに換装したものをお見せしましたが これだと以下のコードであっさりタッチパネルが動きますが、 標準の2.4インチTFTだと同じコードが動かず、ずっとパネルが押された状態として認識します。 タッチパネルのライブラリはこれを使っています。 https://github.com/PaulStoffregen/XPT2046_Touchscreen 何が問題なのか教えていただけますでしょうか?? /* * Simple Touch Screen Test */ #include <SPI.h> #include "XPT2046_Touchscreen.h" #define CS_PIN 16 XPT2046_Touchscreen ts(CS_PIN); #define TIRQ_PIN 4 //XPT2046_Touchscreen ts(CS_PIN); // Param 2 - NULL - No interrupts //XPT2046_Touchscreen ts(CS_PIN, 255); // Param 2 - 255 - No interrupts //XPT2046_Touchscreen ts(CS_PIN, TIRQ_PIN); // Param 2 - Touch IRQ Pin - interrupt enabled polling void setup() { Serial.begin(9600); delay(500); Serial.println(); Serial.println("Start"); ts.begin(); while (!Serial && (millis() <= 1000)); } void loopB() { TS_Point p = ts.getPoint(); Serial.print("Pressure = "); Serial.print(p.z); if (ts.touched()) { Serial.print(", x = "); Serial.print(p.x); Serial.print(", y = "); Serial.print(p.y); } Serial.println(); // delay(100); delay(30); } void loop() { if (ts.touched()) { TS_Point p = ts.getPoint(); Serial.print("Pressure = "); Serial.print(p.z); Serial.print(", x = "); Serial.print(p.x); Serial.print(", y = "); Serial.print(p.y); Serial.println(); delay(100); } }
ジャンパー付きのボードは、こちらで実験で
使用したものを手違いで販売してしまったものだと 思われます。 もうしわけありません。 ジャンパーがある以外は、違いはありません。 T_IRQをIO0に接続して問題無いか試していた ものだと思われます。 結局、IO0はSDカードのCSで使用しているので、 使えないということがわかりました。 TSC2046というのは知りませんでした。 情報ありがとうございます。 タッチスクリーンを使用したプログラムをいくつか 作ってみましたが、T_IRQの必要性は感じませんでした。 T_IRQを接続しても、ポーリング時の負荷が若干軽くなる程度では ないでしょうか。 あとT_IRQが必要になるのは、ArduinoVNC (VNCクライアント)で タッチスクリーンを使用したい時ですね。 これは、Links2004/XPT2046を使用しているので、T_IRQが接続 されていないと動きません。
▼nariさん:
>ジャンパー付きのボードは、こちらで実験で >使用したものを手違いで販売してしまったものだと >思われます。 もうしわけありません。 ということはT_IRQを使いたい時には、やはりSP1をショートさせて T_IRQ=IO4として使うことになりますか?? http://www.humblesoft.com/wiki/?HSES-LCD24/VNC_ILI9341_touch こちらのページに SP1をショートさずに、T_IRQとIO0を接続する方法もあります と書かれていますが、これは通常の製品では使えないという事ですね?
▼nariさん:
>TSC2046というのは知りませんでした。 >情報ありがとうございます。 http://www.yoycart.com/Product/536896614188/ 上記のページのマーキングのものです。 XPT2046 の互換品のようですが、どうも挙動が違います。 HR2046でデータシートを探してみましたが、どこにもありませんでした。
SDカードを使用しなければ、T_IRQをIO0に接続する
して使うことも可能です。 いろいろと、説明が不足していて済みません。 |