[電子工作]GS-0005:ESP32-S3 LCD+I2Sオーディオ搭載ボードESP32-S3 1.77型LCDパネル+I2SオーディオアンプIoT(WiFiやBluetooth)とI2Sオーディオの学習やソフト開発に最適価格:4500円在庫品はメルカリ(匿名で購入できます)で「GS-0005」で検索購入下さい。ESP32-S3評価セット(GS-0004とGS-0005のセット)もございます。受注生産(料金振込後、製作するため多少納期が必要です)で良ければ、 hge00744@nifty.ne.jp にメール下さい。折り返し、納期、金額(割引要相談)、振込先を回答致します。 保証内容はこちら。
GS0005ボードの特徴IoT(WiFiやBluetooth)とI2Sオーディオの学習やソフト開発に最適・ESP32-S3-WROOM-1-N16R8を搭載し、プログラムの書き換えやデバッグが可能。(技適あり、16MBフラッシュメモリ、8MB PSRAM、USBシリアル変換LSIとしてCH340N搭載)・無線LAN、Bluetooth、SPI、I2Sなどの機能を評価可能。・アナログジョイスティックと4つのキー(1つはリセット専用)を搭載。・1.77型、128x160画素、液晶パネル搭載。・MicroSDカード(32GB以下)スロット搭載。(ArduinoIDEのサンプル使用可)・I2S対応DAC(16bit)、オーディオアンプ、ステレオスピーカを搭載。・単3乾電池4個で動作可能。(電池は付属しません)・サンプルプログラムとして、SDカードのMP3/WAVオーディオ再生、各種ゲームなどを準備。・秋月電子、共立エレショップなど、信用できる販売店より部材調達。・鉛フリー半田使用注意.液晶パネルには保護シートが貼られていますので、購入後、剥がして下さい。 注意.基板形状、搭載部品(特にスイッチの色など)は、出荷時期によって変更される 場合があります。但し、ソフト互換性は確保し、基本仕様は変更しません。
サンプルソフト一覧(サンプルは予告なく変更します)ーーーー目次ーーーー 1.仕様2.ソフト開発環境(1)Arduino IDEのインストール (2)ライブラリの準備 (3)ボードへのプログラム書き込み方法 3.サンプルプログラム(8)ゲーム:3Dシューティング(私が作成したオリジナルゲーム) 4.各種資料5.トラブルシューティングーーーーーーーーーー 1.仕様
2.ソフト開発環境(1)Arduino IDEのインストール まず、Arduino IDEをインストールしてください。 その後、ファイルー環境設定ー追加のボードマネージャのURL に https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json を追加し、ツールーボードのボードマネージャで「esp32」を検索し、インストールします。 詳細は、Arduino IDEのESP32開発環境を参考にして下さい。
(2)ライブラリの準備 ライブラリとして、次のものを準備しています。 ・LCDパネルの表示ライブラリ ILI9163:Adafruit社の単純描画ライブラリを改変。(フレームバッファ無し。描画しているのが見える。) ILI9163_buf:フレーム単位表示切り替えライブラリ(フレームバッファあり。アニメーションできる。) ・グラフィックライブラリ Adafruit_GFX_Library:Adafruit社のライブラリ
次のファイルをダウンロードし、 Windowsの場合、「PC\ドキュメント\Arduino\libraries\」の下 Linuxの場合、「~/Arduino/libraries/」の下 にコピーする。 (3)ボードへのプログラム書き込み方法 (1)でインストールしたArduino IDEを起動し、ESP32S3用のプログラムを開きます。 ツールを、 ボード:ESP32S3 Dev Module UploadSpeed:921600 Upload Mode:UART0 FlashSize:16MB PSRAM:OPI PSRAM シリアルポート:ボードが繋がっているポートを選択(分からない時は抜き差しして確認) 書き込み装置:esptool、USBtinyISP に設定します。 ボードのUSRボタンを押したまま、RSTボタンを押して離し、最後にUSRボタンを離します。 これで、ESP32-S3はライト状態になります。 Arduino IDEの→ボタンを押すとコンパイルされ、プログラムの書き込みが開始されます。 終了したら、今度はRSTボタンだけを押して離すか、電源を入れ直すと、プログラムが起動します。 3.サンプルプログラム
説明:MicroSDカードに書き込んである、〜44.1KHzのMP3/WAVフォーマットのオーディオデータを 再生できます。最大128ファイルに対応し、深いフォルダーにも対応します。 Audacity(Windows版とLinux版があります)を使えば、ネットの音楽を録音し、MP3やWAVで 保存できます。詳細はこちらを参照下さい。 なお、GS0005ボードに付いているスピーカでは、低音が全く出ませんので、少しでも良い音で 聞きたければ、100円ショップのもので十分ですので、重低音の出るイヤホンやヘッドホンを 接続して聞いて下さい。もちろん、良いアンプやスピーカーに接続すれば、なお良いです! 注意:ESP8266Audioが必要です。Linuxなら~/Arduino/libraries、Windowsなら PC\ドキュメント\Arduino\librariesの下に、ESP8266Audioフォルダーを置いて下さい。 また、そのままではESP32-S3で正常にI2S音声出力できませんので、私が作成したソフトを 使うように、ESP8266Audio/src/の「AudioOutputI2S.cpp」を「AudioOutputI2S.cpp.org」などに ファイル名を変更ください。Linuxの場合、次のようにします。 >>cd ~/Arduino/libraries >>git clone https://github.com/earlephilhower/ESP8266Audio >>cd ESP328266Audio/src >>mv AudioOutputI2S.cpp AudioOutputI2S.cpp.org
説明:Ver.2の変更点 ・様々なサンプルレートに対応 ・様々なフォルダー構成に対応 ・WDTにより強制リセットがかかる場合があったので対策 MicroSDカードに書き込んである、〜48KHz、PCM 16bitのwavフォーマットのオーディオデータを 再生できます。最大128ファイルに対応し、深いフォルダーにも対応します。 Audacity(Windows版とLinux版があります)を使えば、ネットの音楽を録音したり、MP3ファイルを 読み込み、好みのサンプルレートに変換して、WAVファイルで保存できます。詳細はこちらを参照下さい。 なお、GS0005ボードに付いているスピーカでは、低音が全く出ませんので、少しでも良い音で 聞きたければ、100円ショップのもので十分ですので、重低音の出るイヤホンやヘッドホンを 接続して聞いて下さい。もちろん、良いアンプやスピーカーに接続すれば、なお良いです!
説明:Webから時間を取得し、動作する時計です。それ以外の機能は何もありませんので、 各自、ソフトを改変ください。 まず、下記ファイルをダウンロードし、Arduino IDEでファイルを開き、 const char* ssid = "yourssid"; const char* password = "yourpasswd"; をご自分のネット環境の、SSID及びパスワードに変更下さい。そして、LCDパネルに、 Connecting to yourssid CONNECTED と表示されれば接続OKです。
説明:私のオリジナルの思考ルーチンを持つコンピュータと対戦できるオセロです。 Computer4は私と互角の強さです! アナログジョイスティックで選択して、右ボタンで決定です。
説明:WiFiでPCやスマホと接続し、対戦できるオセロです。 まず、下記ファイルをダウンロードし、Arduino IDEでファイルを開き、 const char* ssid = "yourssid"; const char* password = "yourpasswd"; をご自分のネット環境の、SSID及びパスワードに変更下さい。そして、LCDパネルに、 Connecting to yourssid WiFi connected. IP address: 192.xxx.xxx.xxx のように表示されれば接続OKです。 次にPC/タブレット/スマホ等のブラウザから、「http://192.xxx.xxx.xxx」にアクセスすると、 上の写真の右側のような画面が出ますので、画面に従って、ボタンを押すと、オセロが できます。 私のオリジナルの思考ルーチンを持つコンピュータと対戦可能で、Computer4は私と 互角の強さです!
説明:私が作成したオリジナルゲームです。一番上のバーが消えるまでに全てのフルーツを 取って、ゲートに入れば1面クリア。なお、全てのフルーツを取るまで、ゲートは現れません。 左右で移動し、右ボタン(A)でジャンプします。
説明:私が作成したオリジナルゲームです。30年以上前に、PCで作成したソフトを移植。 迷路の地図は、展開したフォルダーの中の「*.dat」で、SDカードに書き込んで本体に セットする必要があります。 ・左右で回転、上で前に進み、下で後退。 ・行き止まりの黄色のゲートに入ればクリア。 ・途中、同じような景色で迷子になるので、緑や青のゲートを頼りにゴールを目指して下さい。 ・時間制限も無いので、気長にやって下さい。 2024' 6/9「*.dat」は、SDカードに書き込み、本体にセット
(8)ゲーム:3Dシューティング(私が作成したオリジナルゲーム)
説明:私が作成したオリジナルゲーム。上記の3D迷路の3D表示ルーチンを使った3Dポリゴンの シューティングゲーム。3Dポリゴンの塗りつぶしは時間がかかりますが、自作のライブラリで 高速化を図っています。
説明:ESP32はOSを搭載しなくてもWebサーバーを立ち上げることができます。本ボードでは ArduinoIDEのサンプルプログラムそのままで、MicroSDカードにアクセス可能です。 トップページを「index.htm」という名前にして、HTMLファイルや各種画像ファイルなどの データをMicroSDカードにコピーしセットします。 次に スケッチ例−WebServer−SDWebServer を選びます。この中の、 const char* ssid = "**********"; const char* password = "**********"; をご自分のネット環境のSSID及びパスワードに変更し、ボードに書き込んでください。 http://esp32sd.local にアクセスすればOKです。
説明:ESP32S3でPythonを使うことができます。 MicroPythonのESP32-S3から、Firmware(Support for Octal-SPIRAM)の[.bin]を選んで、 ダウンロードします。その後、ボードのUSRボタンを押しながら、RSTボタンを押して離して、 最後にUSRボタンを離します。そして、次のコマンドで書き込みます。 >>esptool.py --chip esp32s3 --port /dev/ttyUSB0 erase_flash >>esptool.py --chip esp32s3 --port /dev/ttyUSB0 write_flash -z 0 ???.bin ボードをUSBケーブルで接続し、uPyCraft、gtkterm、TeraTermなどのシリアルモニタを 115200bps、8bit、NoParityで起動すれば、MicroPythonが使えます。 MicroSDにもアクセスできます。
4.各種資料
(2)回路図 PDF
その他、ESP32-S3の標準のサンプルや、MicroPythonなども使えます。詳細は、次のページをご覧下さい。 「ESP32-S3-WROOMの使い方」はこちら。 |