Sun 01/24, 2016

ESP8266 [Electronics ]

morecat_lab さんから ESP8266 の開発用基板を譲っていただきました。基板が届いたのは一週間程前なのですが、手持ちの部品が足りなくてようやく組み立てと動作確認ができました。
more01.png

こちらの基板は morecat_lab さんのページで紹介されているものの後に作られた新しいものでレジスト色が緑から紺になっている他、リセットスイッチの処にコンデンサのパターンが追加されています。また LDO には AZ1117 の 3.3V 固定のものを使って R6 は無し、R5 は 0Ω としています。1608 サイズが指定されている抵抗と LED に 2012 サイズのものを使ったため、半田付けにちょっと難儀しました。ブートモードの切り替えは Arduino IDE からの書き込みに対応して USB-UART の DTR で制御されるようになっていますが、実行時には DTR=GPIO0 を 1 にする必要があります。とりあえず Blinky で動作チェックしました。此の頃の Arduino IDE は Eclipse のように URL を指定して機能を簡単に追加できるようになっているのですね。私は専ら NodeMCU 環境を使っていますが、そのファームウェア書き込みツールである ESP8266Flasher.exe などでもこれで行けます。

aitendo CH12864 FSTN 液晶モジュールをつないで NodeMCU の u8glib のサンプル(u8g_graphics_test.lua)を動かしてみた様子がこちらです。
more02.png

more02.png

このモジュールはモノクロームで 128x64 pixel. ドライバー LSI が ST7567R、SPI 接続です。u8glib では st7565_64128n_hw_spi を指定するのですが、標準の NodeMCU ファームには u8blib は入っておらず、nodemcu-build.com で u8glib を入れても st7565 対応は入りません。仕方ないので https://github.com/nodemcu/nodemcu-firmware からソースを取得してビルドします。Linux (Ubuntu)機で Build instructions にしたがって toolchain から入れていきます。build-options で u8glib 入っていますが、デフォルトのドライバが ssd1306_128x64 の i2c と SPI のみなので、app/include/u8g_config.h を編集して次のようにしておきます。

#define U8G_DISPLAY_TABLE_SPI \
U8G_DISPLAY_TABLE_ENTRY(st7565_64128n_hw_spi)
ファームウェアは bin ディレクトリの下に 0x00000.bin と 0x10000.bin が出来ていますから、これをファイル名通りのベースアドレスに ESP8266Flasher などで書き込めば OK です。サンプルプログラム lua_examples/u8glib/u8g_graphics_test.lua についても init_spi_display() の箇所をいじっておきます。

Posted by masato at 09:09 PM
このエントリーのトラックバックURL: http://bird.dip.jp/cgi-bin/mt/mt-tb.cgi/1870
コメントする

おそらく携帯電話等からは投稿できません。日本語文字列を含まないコメントやトラックバック、および当サイトへの言及を含まないトラックバックは御遠慮いただいております。また、90日以上経過した記事へのコメントはできません。










名前、アドレスを登録しますか?