2020/06/17

オシロスコープ(もどき) W2B / M5Stack / Wio Terminal

オシロスコープ(もどき)をM5Stack、Wio Terminalに移植しました。

液晶表示のオシロスコープ (初代)

 2014年にPIC24上で動くように作成し、内蔵の高速なADCを使って、2チャンネルで最高2MSPSの高速サンプリング可能で、表示はタッチパネル付きの液晶を使用して、画面をタッチすることで操作が可能でした。

今回、その後にM5Stackに移植した版を話題のWio Terminalに移植しました。
M5StackやWio TerminalのADCはあまり高速ではないために「オシロスコープ」と名乗るのはおこがましい性能ですが、ボタンでのメニュー操作のお試しとして移植しています。

ソース公開前にベータ版をここに置いておきます、お試しいただければ幸いです。

M5Stack、Wio terminal、W2B(ESP32+480×320のタッチパネル液晶)での動作風景

使用するポート

M5Stack
信号名 ポート
CH1入力  GPIO35(A7)
CH2入力  GPIO36(A0)
テスト信号1出力  GPIO2
テスト信号2出力  GPIO26(DAC2)

 

 

 

 

 

Wio Terminal
信号名 ポート
CH1入力  A0
CH2入力  A1
テスト信号1出力  BCM2
テスト信号2出力  DAC0

 

M5Stack、Wio terminal、W2Bでの主クリーンショット

M5Stack

Wio Terminal

W2B

・M5Stack用実行モジュール(LovyanLauncher対応)・・SScope095.bin
・Wio Terminal用実行モジュール(ExtFlashLoader対応)・・ apps

Wio Terminalについては、SeeedStudio「Wio Terminal」で詳しく書かれています。

2020/05/24

スマートハレタ(24×24マトリクスLED)

スマートハレタの「24×24マトリクスLED」に表示するドライバを書きました。

今流行の「荒ぶるパロット」
GIFファイルから連続画像に変換して、PPIFFSにファイルとして保存し、繰り返し表示することで、動画表示しています。

このドライバでは、2値のビットマップデータを対応する位置のLEDに書き込むことしかしていませんので、円や四角形などの描画は自前で用意する必要があります。

・マトリクスドライバの初期化
・マトリクスのクリア
・バッファ上の指定ビットのオン/オフ
・ビットイメージの書き込み
・バッファからマトリクスLEDアレイへの書き出し

プログラム本体はスマートハレタだけではなく、ESP32が搭載されていて、「LovyanGFX」や「TFT_eSPI」で使用可能な色々なLCDに対応できます。
これを使って、簡単に動画再生みたいなことができるようになります。

#define 一覧

ダウンロードはこちらから:
ESP32_FFMovie3

スマートハレタ概要

スマートハレタとは・・

「スマートハレタ」の特長
「スマートハレタ」は、『トップ ハレタ』の本体ボトルに装着して使用するIoTデバイスです。ご家庭のWi-Fiを通して自宅エリアのリアルタイムの天気予報と連動します。お洗濯の時に、ボトルを持ち上げると、「外干し」、「部屋干し(降水確率10%以上)」を即座に判断し、アイコン、光、音声でお知らせします。さらに、季節に応じた洗濯の豆知識を専用アプリにお届けします。

ライオン株式会社のプレスリリースより

ネットで「スマートハレタ HACKS (その1) ハード構成の調査と表示制御をやってみる」を見つけて、キャンペーンではなく(キャンペーンは既に終わっていました)、ネットオークションで入手しました。

スマートハレタ(以下、ハレタ)は、CPUにESP32を採用しており、Bluetooth、Wi-Fiでの通信ができ、LEDマトリクスやフルカラーLED、MP3デコーダなど色々と遊べるデバイスが沢山搭載されています。

主なデバイス:
・ESP32-WROOM-32
・MP3(VS1053B) (MP3デコーダ)
・2MByteFlash(Winbond25Q16) (案内音声が格納されている)
・8×8 LEDx9+16K33x5 (24×24の白色LEDマトリクス表示板)
・WS2812Bx17 (フルカラーシリアルLED)
・ロードセル(SC616C-750g)+ADC(HX711) (750gまでの重量測定)
・RTC(DS1307)+1F/5.5V (RTC+スーパーキャパシタバックアップ)
・TXS0108E (レベルシフタ)
・LM386+スピーカー (音声案内)

【続きを読む】

2020/02/11

Arduino UNO+ESP-WROOM-02(ATコマンドモード)でAmbient

Ambientは、簡便なシステム構成で環境データを送信、蓄積、可視化(グラフ化)を可能にするアンビエントデーター株式会社が提供するサービスです。

Ambientへデータ送信するためのハードウェア、ソフトウェアは、Obniz、IchigoJam、ESP-WROOM-02、ESP-WROOM-32などの様々な構成でのサンプルが用意されています。

ここでは、Arduino UNO+ESP-WROOM-02(ATコマンドモード)の(あまり一般的に選択しないであろう)構成での運用を構築します。 このハードウェア構成で運用するのに必要なスケッチを探したところ、1000円あったら電子工作 ThousanDIY@tomorrow56氏がSpresenseボード向けに開発、販売されているWi-Fi add-on board for SPRESENSEボードがESP-WROOM-02をATコマンドモードで使用してAmbientへのデータ送出するサンプルコードを提供されているのを見つけました。

こちらのサンプルはSpresense+ESP-WROOM-02の構成用ですが、Arduino UNOで多少の修正は必要ながらコンパイルすることができました。

然しながら、Spresenseと比べてRAM容量が圧倒的に少ないために計測データをAmbientサーバーへの送出形式に変換するデータ領域が不足で、コンパイル時に警告が表示され、実際に動作が不安定(正しく動作しない)になります。

@tomorrow56氏のサンプルは、Ambientで提供されているライブラリとの親和性を主眼にSpresense向けに作成されてい(るものと思い)ますので、Arduino UNOのようなボードでの運用は難しそうです。

ということで、サンプルコードの借用は断念して、ESP-8266(ATコマンドモード)用に作られた「HttpClient_ESP8266_ATライブラリ」を使わせていただくことにしました。

qoosky / Arduino_HttpClient_ESP8266_AT
https://github.com/qoosky/Arduino_HttpClient_ESP8266_AT

 

 

【続きを読む】

2019/09/16

ESP-WROOM-02/32 Wi-Fi ラジコンカー(改2)

旧記事「ESP-WROOM-02/32 Wi-Fi ラジコンカー(改)」は、スマホのジャイロセンサーを使って操作するものでしたが、最新のブラウザからは操作できなくなっています(^-^;)
改修するのが難しそうなので、以前から考えていたジョイスチック風の操作画面に改変しました。
メインのスケッチは、ほぼそのままでスマホ上の操作画面だけを書き直しました。
旧記事と同様に iPhone または Android 端末から操作します。
ラジコンカー本体のハード構成は変更ありません。

操作アプリ画面

iPhone 操作画面

iPhone 操作画面

Android 操作画面

Android 操作画面


【続きを読む】
2019/05/27

暫定版 Otto DIY+ w/obniz 3Dプリントデータ

Otto DIY+のArduino nanoをobnizに入換えるために本体を大きくしました。

暫定版として3Dデータ(.stl)を下記に公開します。
ottoDIY2ObnizTOPBOT4.zip

本体サイズ比較

  (W) (D) (H)
オリジナル 69 69 70
obniz版 75 75 76

オリジナルデータ:
Otto DIY build your own robot
https://www.thingiverse.com/thing:1568652

2018/11/02

ESP-WROOM-02/32 Wi-Fi ラジコンカー(改・ハードウェア編)

この記事は「ESP-WROOM-02/32 Wi-Fi ラジコンカー(改)」のハードウェア編になります、市販のESP-WROOM-02またはESP-WROOM-32のボードや汎用の車体を使ってラジコンカーを組立てます。

組立て写真
[ESP-WROOM-02]

[ESP-WROOM-32]

【続きを読む】

2018/11/01

ESP-WROOM-02/32 Wi-Fi ラジコンカー(改)

ご注意:スマホの最新のブラウザではセンサー値取得が制限されているために使用できません、新しい記事「ESP-WROOM-02/32 Wi-Fi ラジコンカー(改2)」を検討してください(*- -)(*_ _)ペコリ

旧記事「ESP-WROOM-02 Wi-Fiラジコンカー」は、投稿日が「2015/09/15」とかなり古いですが、このブログ中では2番目に来訪者の多い記事です。(1番は「Scratch Boardを作る」です(^-^;)

旧記事は今でもそのままで動作しますが、久々に更新することにしました。
モータードライバーは、当時と変わらず安価で入手可能ですのでそのままにして、ソフトウェアを改訂します。
元記事では、スマホアプリ自作のリモコンでUPD通信を使って操作する方式でしたが、今回はスマホのジャイロセンサーを使って操作することにしました、ラジコンカーがWebサーバーとして動作し、スマホのブラウザから接続することになります。
(スマホは iPhone または Android)

操作アプリ画面

【続きを読む】

2018/05/19

M5Stackオシロスコープ

液晶表示のオシロスコープをM5Stackに移植しました。
2チャンネルで最大40k/sサンプリングできますので4kHz程度の波形は見ることができます(^-^;
*なんとなく波形らしいのが見えればいいや・・程度のものです、「使い物にならない!」などのクレームはご容赦ください(*- -)(*_ _)ペコリ

立上がり、立下りエッジでのトリガ機能もあり、最後の観測画面をM5Stack内蔵のSDカードに保存(表示画面のスナップショットをBMP形式で保存)したり、観測値をUARTにCSV形式で出力することもできます。
M5Stackのアナログ入力を使って波形読取りを行っていますので、入力できる電圧は最大で3.3Vです、通常使われると思われる5Vを観測するためには下記のような抵抗での分圧回路が必要になります。
デフォルトでは、下記の抵抗分圧で接続されていることを想定していますので、最大観測電圧を5V以外としたい場合は抵抗値を変更する必要があります。
*負電圧を入力したり、3.3Vを超える電圧を入力するとM5Stackの内部にダメージを与える可能性があります、ご注意ください。
【続きを読む】

2018/05/01

M5Stack 日本語フォントの表示

ご注意:新しいM5Stack by M5Stack バージョン 0.1.9(以降?)では使用できません(*- -)(*_ _)ペコリ
M5StackはESP32を使用して小型のケースに液晶LCDやSDソケットなどが組み込まれています。
センサーデバイスなどをケースの外周に露出されているコネクタに接続することで簡単にお試しができるようになります。
小型で綺麗な表示ができる液晶LCDですが、残念ながらそのままでは日本語フォントを表示することができません。

下記のような画面が表示できるようになります。

Arduino+ESP-WROOM-02

M5Stack 日本語表示

【続きを読む】