1 / 512345

MFT2017出展報告

8月5日(土)、6日(日)東京ビッグサイトで開催されたMaker Faire Tokyoに出展したので報告する。

続きを読む… »

ESP8266用ILI9341ライブラリの高速化

HSES-LCD24用のILI9341ライブラリとして、Humblesoft_ILI9341を使用している。これは、Adafruit_ILI9341を拡張したもので、Fontxを使った漢字描画機能、scroll機能などが追加されている。 実行速度面では、まったく改善されていない。HSES-LCD24用のデモプログラムを新たに作ろうと思うのだが、描画速度が遅いので、先に高速化を行うことにした。

Adafruit_ILI9341のexamplesにgraphicstestという各種描画機能の実行時間をマイクロ秒単位で表示してくれる。これを使い、実行時間を計測しながら高速化を行った。

最終的な結果の表を以下に示す。塗りつぶし系の描画では7倍前後、あまり高速化できなかったLines等でも1.5倍程度の高速化ができた。 文字の描画も4.68倍高速化されているが、これは若干説明を要する。

今回使用した高速化の手段を以下に示す。

  • CS,D/C信号操作の高速化
  • SPI大量データ転送の高速化
  • クロックの高速化
  • 文字描画の高速化

続きを読む… »

混ぜるな危険、取り扱い注意 武田邦彦

このところ、TBSの加計学園等の倒閣運動報道が酷く、聞くに堪えないので、朝からPCで虎ノ門ニュースを見るようになった。虎ノ門ニュースは、なかなか情報量が多い。他では得られないような情報をいろいろ得られる。

金曜日、武田邦彦、大高未貴の番組を見て、武田氏を見直した。武田氏といえば、他番組では、人の話に突拍子もない意見で反論したり、さらにそれを他の出演者に止められたりで、空気を読めず、極論に近いことを言う人という印象があったのだが、発言を中断されず、全部の話を聞けば、一理も二理もある意見、知見を語っていることがわかった。まるのまま信じはしないが、頭に留めておく価値は十分ある話ばかりである。
続きを読む… »

ESP32のI2S+DAC出力成功

ESP32_MP3_Decoderのプログラムを調べ、遂にはESP32のI2S+DACから、音声を出力することができた。嬉しい。

Tw_Mhageさんの記事:ESP32でBluetoothイヤホンを作ってみた – Qiitaに刺激を受け、ESP-IDF添付のサンプルプログラムを改造し、Bluetooth Speakerのデモプログラムを作成、公開している。Bluetoothの中身に疎いので、最初苦戦したが、iPhoneに接続し音が出せるようになった。回路は、ものすごく簡単なので、ESP32のモジュールを持っている人には、一度試してもらいたい。

ESP32_MP3_Decorderを動かしてみた。

ESP32のI2Sで音声出力の実験をしているが、なかなかうまくいかない。サンプルプログラムを元にプログラミング・ガイドを見ながらDACに音声を出力させようとしているのだが、うまくいかない。部分的にちゃんと波形は出力されているのだが、うまくつながらない。周期も変。

資料も少ないし、動いたという例も無いと思っていたところESP32_MP3_Decoderの存在を知る。試してみると、いろいろ問題は、ありながら、断続的に音が出た。MP3のデコードも自前でやっているらしい。


続きを読む… »

ESP8266+OLEDでRSS表示

HSES-NODEのサンプルプログラムにRSS表示のプログラムを追加することは、前々から予定していた。RSS表示自体はHSES-LCD24で既にやっていて新味が無いので後回しになっていたのだが、やっと完成した。実際に動かして見ると案外面白い。OLEDなので、表示が鮮明。LCDより、はるかに見やすい。表示される文字数が少なく、スクロールされていくので、見続けないと内容がわからないため、つい見続けてしまう。あとサイズが小さいのも魅力的。

プログラムとしては、まずHumblesoft_SSD1306ライブラリに文字をスクロール表示する機能(ScrollTextクラス)を追加。HSES-LCD24用のRssDispのソースプログラムを持ってきて、ちょっと修正してやったら、すぐにRSSが表示された。 それに日付・時刻等を表示する機能を追加し、さらに画面のレイアウトを変更する機能もつけた。スイッチ(IO0)を押すとレイアウトが切り替わり、時刻が大きく表示されたり、RSSが大きく表示されたりする。

ESP32で動画表示

ESP32に接続した320×240のTFT LCDにネットワーク経由でデータを転送し動画を表示することができた。表示速度は、240×160だと10fps, 240×135で15fps, 120×90なら30fps以上が可能。あと2倍ぐらい高速化の余地はありそう。

ESP32側のプログラムはArduino環境で開発。udpパケットを受信し、データをそのままLCDに書き込む。簡単なフロー制御も実装している。tcpではなく、udpを使用したのは、フロー制御を自前でやりたかったから。通信エラーでパケット欠落が起きても再送などして欲しくなかったから。あとudpだと自然にパケット単位で処理することになり、プログラムがわかりやすい。tcpのストリームにパケットの切り出し処理が面倒。やってみた結果,フロー制御でいろいろ実験できて面白かった半面、いろんな通信環境にちゃんと対応できているかどうか不安。そのうちtcpでも試してみたい。

動画データは、既存の動画ファイルをffmpegで専用フォーマットに変換したものを使用。ファイルの中には RGB各5,6,5bitづつの16bit/pixelのTFT LCDのフォーマットで画像データが収められている。これをpythonのプログラムでudpパケットで送信している。


続きを読む… »

Bad Apple on ESP8266 + OLED

HSES-NODE-OLEDでBad Apple(影絵)を再生できた… って、結構前に出来ていたのだけれど、Blogに記事を書くのが遅くなってしまった。画像データは ffmpegで1フレームづつBMPファイルに変換し、PCからpythonのプログラムでudpパケットにして送信している。詳しい話はQiitaに書いた。ソースコードはGitHubで公開している。
続きを読む… »

WeatherStationDemoをHSES-NODE-OLEDで動かした。

前回ESP8266 Weather Station ColorをHSES-LCD24で動かした際、ESP8266 Weather Stationライブラリをインストールしたのだが、そのexampleにOLED用のプログラムがあったのでHSES-NODE-OLEDで動かしてみた。インストール方法はこちら

表示される情報は前回のcolorとほぼ同じ、月齢が無いぐらい。画面が小さいので、何秒ごとかに切り替えながら表示される。動作の様子の動画を下に置く。

画面切り替えは、見栄えが良いので、デモ用としてはありがたい。でも実用上はどうなんだろう。欲しい情報が得られるまで何秒か待たなければいけないのは不満。

スケッチの例には WetherStationDemo|Extended|DSTと似たようなものが3本ある。中身を見ると動作はほぼおなじで、表示の仕方、画面の枚数などが違う程度。あとThingSpeakやセンサーをつかって、室温・湿度なども表示させているようだ。

Minecraft現状報告

相変わらずマインクラフトをやっている。ゲーム実況動画を見て、経験値トラップとか作っていたら、また楽しくなってしまった。現状を記録しておけば、あとで見返して楽しいような気がするのでこの記事を書く。

今後の目標としては、翼、滑空翼、エリトラが欲しい。それにはエンダードラゴンを倒さなければならない。まだまだ楽しめそうだ。

HSES-LCD24のタッチスクリーンを使う

タッチスクリーンを使おうとすると意外に大変だ。HSES-LCD24のLCDモジュールではXPT2046というチップ経由でタッチスクリーンのデータを読み込む。XPT2046のライブラリは複数あり、その点では苦労しないのだが、その次にcalibrationの問題がある。自分ひとりで使う、使い捨てみたいなプログラムであれば、実測値を使い、定数をプログラムに埋め込んで解決だが、人に使いやすいライブラリを提供しようと思うと、それではまずい。LCDの座標系を90度づつ、4方向に設定可能かだから、calibrationも、それに対応する必要がある。毎回、calibrationするのは面倒なので、結果は不揮発性メモリに保存しておきたい。さらに、ちょっと見栄えがするサンプルプログラムを付けようとすると、ボタンやメニューも扱える簡易ウィンドウシステム的なものも欲しくなる。
続きを読む… »

splatoon その後の後


一時はA+まで上がったウデマエも、すぐに落ち、今はA-あたりをウロウロしている。今は、ウデマエを上げることを目標にせず、毎晩少しづつ楽しんでいる。A-でも、十分相手は強いし楽しい。

動画は、先日できた気持ちの良い試合。編集のミスで、なんか動画が小さくなってしまった。この辺も慣れて行きたい。

HSES-LCD24に文字を表示させる(4) 画像表示とNetLCD公開

HSES-LCD24の販売再開しました。あとNetLCDというプログラムをgithubで公開しました。URLはhttps://github.com/h-nari/NetLCD。中身は今回の記事のプログラムです。

160819a3今回は画像を表示させる機能を追加させたのだが、プログラムの公開方法に悩み、githubで公開することにし、プログラムを整理し、ドキュメントなども書いてたら、時間がかかってしまった。

HSES-LCD24のディスプレーは320×240画素で、1画素16bitなので1画面で 320x240x2byte = 153,600byte必要になる。これだとパラメータで渡すのは無理そうだ、そもそも153kbyteも空容量がESP8266にありそうにない。

WebServerのファイルアップロード機能が使えるのではないかと考え、探すと、サンプルプログラムがあった。SDWebServer.inoだ。これの93行あたりにあるhandleFileUpload()という関数に必要な情報が詰まっている
続きを読む… »

HSES-LCD24発売

ついに新製品を発売。HSES-LCD24という商品で、スイッチサイエンスから4,969円で発売開始。スイッチサイエンスの商品ページはこちら

どういう製品かというと、中華製WiFiモジュールESP-WROOM-02を2.4インチLCDモジュールに直結できるようにした基板です。LCDモジュールは別製品にするか悩んだが、スイッチサイエンスの委託販売では並行輸入品は扱わないようなので、LCDモジュール込みの製品になった。
続きを読む… »

splatoon A+昇格

6月初頭にAに昇格後、調子を落とし、A → A- → B+ → B → B-まで落ちる。
全般に成績が悪いが、得にガチホコがひどい。負け試合がが続く。
ガチホコは好きで得意だと思っていたのだが、何かずれて来たのかもしれない。

うでまえを落としている間、ギア構成をいろいろ試してみた。武器はスシコラ、スシワサビなのだが、
防御力アップを積んで見るも、効果が感じられない。次に攻撃力アップを積んでみると、なんか強くなった気がする。それで続けていたらガチエリア、ガチヤグラで腕前が上がって行き、ついにA+に昇格した。また、すぐに落ちるから記念に動画をあげておく。今回はYukkuriMovieMakerで音声もつけてみた。

1 / 512345