「wio」タグアーカイブ

Wio Terminal でカメラ画像を表示2 ー LovyanGFX 編 ー

すき 0
0

前回はAIカメラのUnitVの撮影画像をビットマップで Wio Terminalに送信して表示しました。

UnitV で画像シリアル転送の味見 ーエッジAI活用への道 12ー

メモリ不足のためビットアップでは160×120サイズでの表示にとどまりましたが、
今回LovyanGFXライブラリを使用させていただきJPEGでの画像取得・表示が可能となり、
全画面表示(320×240)できましたのでご報告します。

 

 

UnitV用 MaixPy IDEコード

UnitVでの撮影画像(QVGA: 320×240)をJPEGに圧縮(圧縮率 50%)してUART送信します。

転送ボーレートは1152000にしました。
35ピンから画像ビットマップデータを送信しています。

Wio Terminal接続

前回と同様に、UnitVをWio Terminalの裏面40ピンヘッダの5Vとシリアル受信ピン(Serial1)に接続しました。

 

 

LovyanGFX ライブラリ

LovyanGFX は、@lovyan03さんによって開発された高機能・高速動作グラフィックライブラリです。

JPEG表示機能 も兼ね備えており、今回ありがたく使用させていただきました。
 

Arduino IDEのライブラリマネージャより簡単に導入できます。

Wio Terminal Arduinoコード

裏面のシリアルピン(Serial1)でUnitVからのJPEG画像データを受信します。

LovyanGFXのdrawJpg()でJPEG画像をWio TerminalのLCDに表示しています。

 

参考

 

動作

 

JPEG送受信&表示でカメラ画像をWio TerminalのLCDディスプレイ前面に表示することができました!!

Wio Terminal でカメラ画像を表示

0
0

Wio Terminalには320×240サイズのLCDディスプレイがついてますので
カメラ画像をリアルタイムに表示したいと思い、ここではAIカメラのUnitVを繋いでみました!

 

 

UnitV

以前 AIカメラ UnitVをM5StickCに繋いでLCD表示したことがございますので
今回はWio Terminalに表示してみました。

UnitV で画像シリアル転送の味見 ーエッジAI活用への道 12ー

MaixPy IDEコード

UnitVでの撮影画像(QQVGA: 160×120)をUART送信します。
demo_uart.py とdemo_camera.pyを参考にコーディングしました。

転送ボーレートは1152000にしました。
35ピンから画像ビットマップデータを送信しています。

 

 

Wio Terminal接続

UnitVをWio Terminalの裏面40ピンヘッダの5Vとシリアル受信ピン(Serial1)に接続しました。

Wio Terminal Arduinoコード

ディスプレイ表示については以下を参考にしました。
 https://wiki.seeedstudio.com/Wio-Terminal-LCD-Basic/

裏面のシリアルピン(Serial1)でUnitVからの画像データを受信します。

 

 

動作

カメラ画像をWio TerminalのLCDディスプレイに表示することができました。

全画面表示(320×240)もやってみたいのですが
ビットマップですとメモリが足りないので、jpeg表示もできるようになりたいですね。

Wio Terminal でUSB Host機能を堪能

0
0

Wio Terminal はUSB Host機能を有しUSBデバイスを接続することが可能です。

早速キーボードを繋いで試してみましたので、報告させてください。

 

 

USB Host

Wio Terminal でUSB Hostを使用するには USB Host Library SAMD が必要となります。
以下を参考にライブラリを導入しました。

キーボード接続

Wio Terminalにキーボードを繋いでみました。以下を参考に進めました。
 https://wiki.seeedstudio.com/Wio-Terminal-USBH-Keyboard/

USB-C OTG ケーブルを介してキーボードをWioに繋ぎます。

 

 

 

 

USB Host機能を使用時には給電とUSBシリアル通信ができないので、
Wioの裏面の40ピンヘッダを使用します。

 
USBシリアル変換ケーブルの電源は3.3Vに設定しています。

Serial1で出力してTera Termなどのシリアル通信ソフトでモニタ出来ます。

 

USB Host 動作

Wio Terminalにキーボードを繋いで、キーにブザーの音階を割り振って演奏してみました。

LCDディスプレイに音階も表示しています。

Arduinoコード

キーボード動作については以下を参考にしました。
 https://wiki.seeedstudio.com/Wio-Terminal-USBH-Keyboard/

ディスプレイ表示については以下を参考にしました。
 https://wiki.seeedstudio.com/Wio-Terminal-LCD-Basic/

ブザーについては以下を参考にしました。
 https://wiki.seeedstudio.com/Wio-Terminal-Buzzer/

 

注意

USB Hostのコードを書き込むと以降はWio TerminalのUSB-CコネクタとPCを接続しても、認識されません。

その際にはWio Terminal側面の電源ボタンをトトンと素早く2回下に下げて書き換えモードにしてください。
 

参考:Wio TerminalのUSB書き込みエラーの回復方法

Wio Terminal でパルスオキシメータを制作

0
0

前回はWio Terminalの基本機能の一部を堪能させていただきました。

Wio Terminal でカメラ画像を表示2 ー LovyanGFX 編 ー

今回は少し応用でWio Terminal を用いてパルスオキシメータを作ってみました。
トレンディーでしょ?ウフフ

 

 

心拍数センサ MAX30105

センサにはMAX30105を使用しました。
赤、緑、赤外線LEDと高感度光子検出器を搭載したモジュールで、
粉塵や血中酸素飽和度(SpO2)などを測ることができます。

Wio Terminalとの接続

MAX30105をWio Terminalの4ピンのGroveコネクタに接続します。

 

Wio Terminalの回路図を紐解くと2個のGroveコネクタの左側がハードウェアI2Cとつながっておりました。

 

パルスオキシメータ動作

酸素飽和度(SpO2)、脈拍数と心電図を表示しています。
心拍に合わせてブザーで音も出しています。

ブザー音の演出も功を奏し、いい感じの仕上がりとなりました♪

Arduino コード

MAX30105のライブラリは以下にございます。
 https://github.com/sparkfun/SparkFun_MAX3010x_Sensor_Library

以下のサンプルコードを参考にコーディングしました。

 

Wio TerminalのLCD表示は以下を参考にいたしました。
 https://wiki.seeedstudio.com/Wio-Terminal-LCD-Linecharts/

 
ブザー音出力は以下を参考にしました。
 https://wiki.seeedstudio.com/Wio-Terminal-Buzzer/

 

 

参考

Wio Terminal を使ってみた

0
0

なんとSeeed様よりWio Terminalを提供いただきました!
本当にありがとうございます!

 

 

Wio Terminal

Wio TerminalはLCD、BluetoothやWiFi、赤外線や照度センサなど
その他もろもろがパッケージングされた多機能マイクロコントローラです。

紹介しきれないので以下を参照くださいw

 

Wio Terminal到着

Wio TerminalにはUSB-Cケーブルと説明書が同梱されておりました。

LCDディスプレイの保護シートをはがして使用します。
ちなみに裏面の赤外線LEDや照度センサ用の透明窓にも保護シートが貼ってありますのでお気を付けください。

技適もバッチリです!!

USB-CケーブルをPCと接続して側面の電源スイッチをONするとWio Terminalが起動し、初期状態ではゲームが始まります。

くそ難しいので、すぐ諦めました。。。。
次行きましょう!

Arduino設定

Arduino IDEでコーディングするべく環境設定します。
設定方法は以下の通りです。
 https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/#getting-started

私は先日Seeed社の超小型マイコン Seeeduino XIAOを購入しArduino環境の設定を実施したのですでにWio Terminalも使える状態でした。

ハンディ バーサライタ PovRanian の製法

 

ここではWio Terminalの機能の一部を使用して色々試してみましたので紹介させてください。
 

照度センサ

 

照度センサの値でディスプレイの色の輝度をコントロールしてみました。

Arduinoコード

照度センサについては以下を参考にしました。
 https://wiki.seeedstudio.com/Wio-Terminal-Light/

ディスプレイ表示については以下を参考にしました。
 https://wiki.seeedstudio.com/Wio-Terminal-LCD-Basic/

また以下のライブラリが必要になりますので
Seeed_Arduino_LCD 
Adafruit Zero DMA
LCD概要ページを参考に導入してください。

照度センサの値(0~1023)をディスプレイの青色の輝度(0~31)に変換して表示します。

照度センサの値が50以下の場合にはディスプレイのバックライトをOFFしています。

ブザーで楽器

上部の3つのボタンと前面の5Wayスイッチでメロディーを奏でる楽器を作ってみました。

ボタンとスイッチに音階(C, D, E, F, G, A, B, C)を割り振って
ディスプレイにも表示させています。

Arduinoコード

文字表示については以下を参考にしました。
 https://wiki.seeedstudio.com/Wio-Terminal-LCD-Fonts/

ボタンと5Wayスイッチ、ブザーについては以下を参考にしました。
 https://wiki.seeedstudio.com/Wio-Terminal-Buttons/
 https://wiki.seeedstudio.com/Wio-Terminal-Switch/
 https://wiki.seeedstudio.com/Wio-Terminal-Buzzer/

TVリモコン

 

赤外線LEDでTVリモコン操作を試してみました。
5Wayスイッチの上下で音量を、プッシュで電源操作します。

Arduinoコード

文字表示については以下を参考にしました。
 https://wiki.seeedstudio.com/Wio-Terminal-Infrared-Emitter/

我が家のリモコンコードは以前にAlexaでTV操作をする際に調査済みです。

ESP-WROOM-02 と Blynk でLEDコントロール

 

 

おわりに

勉強しながらWio Terminalを堪能したいと思います!
まだまだ一部の機能しかつこてないので

以下のサイトで今回の作例を紹介いただきました!

 

他のユーザーさんの作例もカテゴリ分けされて紹介されているので
非常に参考になります。
今後ドンドン追記され更に充実していくかと思いますので是非ご覧ください!

応用

パルスオキシメータを制作

Wio Terminal を使ってみた

USB Host機能を堪能

Wio Terminal でUSB Host機能を堪能

Wio Terminal でカメラ画像を表示

UnitV で画像シリアル転送の味見 ーエッジAI活用への道 12ー

Wio Terminal でカメラ画像を表示2 ー LovyanGFX 編 ー

Wio Terminal でカメラ画像を表示2 ー LovyanGFX 編 ー