2017年04月02日

ESP32用のブレークアウトボード「E32-BreadPlus」

esp32bb1.jpg

先日ESP32-DevKitCを購入しましたが、実はその前にESP32モジュール単体も購入していました。

モジュールのほうはパーツケースの肥やし(泣)かなあと思っていたのですが、たまたまスイッチサイエンスさんでT字型のブレークアウトボードを見つけました。

ESP-WROOM-32 ブレッドボード開発基板 「E32-BreadPlus」(基板のみ) - スイッチサイエンス

ESP8266やRaspberry Piも同様なT字型の変換基板を見かけます。ブレッドボード上を広く使えるのがメリットです。
で、このボードですが、開発元のIndoor Corgi Elec.さんのページを訪問したところ、ブログで紹介するなら無料でボードをいただけるキャンペーンを開催中ということでしたので、ありがたく1枚送っていただきました。

ボードの表面です。
esp32bb2.jpg


ボードの裏面です。
GNDや3.3Vのパターンは太くなっています。
esp32bb3.jpg


モジュールはこんな感じでカプトンテープで固定してからハンダ付けしました。

esp32bb4.jpg


あとは抵抗2本、タクタイルスイッチ2個、コンデンサ1個とピンヘッダをつけて完成です。

とりあえず組み立ててみましたが、電源やUSBシリアルも必要ですので、火入れ・動作確認はまた別途やることにします。
posted by boochow at 17:00| Comment(0) | ESP8266/ESP32 | このブログの読者になる | 更新情報をチェックする

2017年03月20日

Raspberry Pi Zero WとESP32のサイズ比較

rpizerow.jpg

実はRaspberry Pi Zero Wも買ってみたりしています。
小さくてオールインワン、という以外に初代Raspberry Piとあまり違わなさそうなので、若干モチベーションは低いですが、そのうちいじってみようと思います。

ESP32 DevKitと並べて写真を撮ってみました。
こうしてみると大きさはわずかにPi Zero Wのほうが大きい、という程度です。

大きさも値段もほぼ同じ(Pi Zero Wは送料込みで13.5ポンドでした)というこの2つのボードですが、スペックはCPUクロックで4倍、RAMの容量に至っては1000倍の開きがあります。
趣味としては窮屈な環境で工夫をするほうが面白いのですが、将来どちらが主流になるかというと、やはりリソースが潤沢なほうになるのかもしれません。
posted by boochow at 17:11| Comment(0) | Raspberry Pi | このブログの読者になる | 更新情報をチェックする

2017年03月16日

ESP32-DevKitC

esp32.jpg

秋月電子の前を通ったら、ESP-32の開発ボードが売られているのが目に留まり、買ってみました。

ESP32−DevKitC ESP−WROOM−32開発ボード: 無線、高周波関連商品 秋月電子通商 電子部品 ネット通販

なんと、たまたま発売日だったようです。
モジュール単体が700円なので、ボードで1480円というのは安いですね。
USBシリアルがオンボードで載っているので、便利そうです。
esp32-2.jpg

このモジュール、電力食いらしいですし、パワフルすぎて扱いに困る感じもしますが、おいおい試してみたいと思います。

とりあえず、ArduinoでのLチカまでは確認してみました。
ツール類のインストール方法はこちらにあります。

GitHub - espressif/arduino-esp32: Arduino core for the ESP32

私はWindows7で試しましたので、Arduino IDE 1.8.1、Gitをインストールしました。
ESP32用の開発ツールはArduinoのボードマネージャを使わずにダウンロードする手順になっています。
Gitで基本ツールをクローンした後、さらに「Get」コマンドを実行すると必要なファイルがダウンロードされます。
(手順は上記リンクを確認)

他に、USBシリアルのドライバのインストールが必要でした。

USB - UART ブリッジ VCP ドライバ|Silicon Labs

シリアルポートを選択し、ボードはボードメニューから「ESP32 Dev Module」を選択します。

スケッチ例→ESP32→AnalogOut→LEDCSoftwareFadeを試してみました。
LEDはGPIO5に接続します。
esp32-3.jpg

写真では抵抗入りLEDを使っていますので、I/Oピンに直結しています。
Arduinoのダウンロードボタンを押すだけで普通にスケッチが書き込まれ、実行されました。
使い勝手は通常のArduinoボードと全く同じです。
posted by boochow at 08:44| Comment(0) | ESP8266/ESP32 | このブログの読者になる | 更新情報をチェックする

2017年03月12日

Dave Smith Instruments Mopho Keyboardにノイズ対策コンデンサを付ける改造

私が持っているシンセサイザに米国Dave Smith InstrumentsのMopho Keyboardがあります。
こんなのです。

モノラルのアナログシンセで、いい音です。
私が持っているのはキーボード一体型ですが、音源モジュール版もあります。

ネットを見ていたら、たまたまこのMophoの音質を改善するという記事を見つけました。

The Mopho's pulse wave... - Gearslutz Pro Audio Community

MUFF WIGGLER :: View topic - Got a Mopho Keyboard and want it to sound better?

改善される問題点は、波形がパルス波の場合に音質がノイジーで、特にパルス幅の設定が最大値のときにノイズがひどい、というものです。
私のMopho Keyboardでも確かに同様の現象が起きていました。
パルス幅が99のとき、かなりノイジーです。

解決策としてDACの電源ラインに10μFのコンデンサを付ける方法が紹介されています。
DACの基準電圧に電源ラインからのノイズが載っているので、その対策だそうです。
この対策でパルス波の音質自体も良くなるということなので、やってみることにしました。

コンデンサはR71に並列に取り付けます。
R71の場所はメインボードほぼ中央の下部のほう、矢印の位置です。
r71.jpg

取り付けるコンデンサは、上記の記事ではタンタルコンデンサを使っていますが、電解コンデンサでもいいそうです。
You'll need one 10uF, 16V tantalum capacitor. You can use a decent quality electrolytic if you wish, and in that case, a 10uF, 25V will suffice.


せっかく手間をかけるので、最高級のオーディオ用電解コンデンサを使うことにしました。
最高級といっても、1個41円でしたが・・・。
nichicon-muse-kz.jpg

ニチコンの「Muse KZ」シリーズです。
秋葉原にある海神無線で買いました。
10uFのものは耐圧が100Vのものしかなかったので、やや大きめです。

これをこの位置に取り付けます。
電解コンデンサは極性がありますが、記事によると「キーボード正面側から見て左がプラス。R71の「1」に近いほうがマイナス」ということです。

r71-2.jpg


取り付けた様子です。
だいぶ大きいので、運搬などで振動を加えると取れてしまう可能性が高いです。
私の場合は、自宅で使うだけなのであまり心配していませんが。

r71-3.jpg


取り付けた後の音です。
私のMopho Keyboardはパルス幅が99でも音は出ますが、ノイズは乗らなくなりました。

posted by boochow at 15:50| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2017年02月26日

koshianでLチカを試してみた

koshian.jpg

Bluetooth Low Energyの通信を簡単に試すことができる「koshian」というボードがあります。
これは、ユカイ工学の「konashi」という同じくBLEのボードの互換品(一部非互換あり)です。

本家であるkonashiが注目を集めていたのは、ESP8266が流行るよりも前で、2013年ごろからです。
konashiというより、BLE自体が注目を集めていた時期でもあります。

スマホ連携ガジェットを作ろう! - 第2回 konashiとは何か?スマホの入出力を無線で拡張:ITpro

その後、konashiはkoshianを取り込んで、現在はkonashiはkoshianボードを使う形態に変わっているようです。

konashi(こなし)メジャーアップデート「konashi2.0 」を発表 | ユカイ工学

この「koshian」ボードですが、もともと980円と安価な上に、一時期、販売元のMPressionがキャンペーン(確かオンラインストアに会員登録すると無料でもらえた)をしていたこともあり、私の手元には3枚もありました。

使わずにしまってあったのですが、BLEの勉強がてら、試しに使ってみることにしました。

まずはLチカから、ですが、これはMPressionのサイトにチュートリアルがあります。

ハードウェアのHello World !? koshianつかって『まずはLチカ 』 | マクニカオンラインストア

このチュートリアルでkoshianにつないだLEDをiPhoneやiPadから点滅させることはできるのですが、BLEを使っているのかkoshian.jsというアプリ(のAPI)を使っているのか、ちょっと判然としないところはあります。
JavaScriptでプログラムが書けて、敷居が低くていいのですが、逆に組み込みシステムをある程度知っている人にとっては、隔靴掻痒という感じがあると思います。

実際には、このチュートリアルで動いているシステムの全体像は下の図のようになっています。

koshian-arch.jpg


ボード側では、I/Oピン等を制御するAPIをBLEで公開するファームウェアが動作しており、iPhone/iPad側ではこのファームウェアのAPIをJavaScriptから叩く機能を持つアプリを動作させています。
このアプリによって、ユーザのJavaScriptプログラムは、koshianのファームウェアへの命令に変換されているわけです。

Lチカ程度であれば、わざわざJavaScriptを叩かなくても、ボードのAPIを直接叩けば良さそうです。
ただ、このAPIはBLEの規定に則ってGATT(Generic Attributes)というフォーマットで提供されています。
GATTの部分を隠蔽して、ボードのI/Oに直接アクセスできるアプリとして、ユカイ工学の「Inspector」があります。

konashi inspectorを App Store で

konashi inspector - Google Play の Android アプリ

このアプリを使えば、プラグラムを書かずにI/Oの値を直接設定できます。
その代わり、たとえば0.5秒おきにオン・オフする、といったことはできません。

GATTを直接叩きたければ、Mac用の無料ツールで「LightBlue」というものがあります。
私のMacbook AirはLate2010モデルなのでBLE非対応なのですが、バッファローのUSB BLEドングル「BSBT4D09BK」を挿したら、特にドライバ等を導入しなくてもBLE対応になりました。

LightBlue を Mac App Store で

GATT自体は、それほど難しいものではありません。
デバイスが提供する「サービス」の下に、複数の「characteristic」があり、characteristicの値を読み書きすることでデバイスの動作を制御します。
たとえばkonashiなら、I/Oを制御するという「サービス」の下に、I/Oピンが入力か出力かを設定する「characteristic」や、出力ピンならHighなのかLowなのかを設定する「characteristic」があります。
characteristicが、制御レジスタみたいなイメージです。

以前紹介したPythonistaでも、このあたりの制御ができるはずなのですが、ちょっと試したところではまだkoshianを制御するところまでは至りませんでした。


さて、ページの冒頭に載せた写真は、100円ショップ・ダイソーで購入したLEDランプに、koshianと赤・緑の2つのLEDを仕込んだものです。
ランプは2つ入りで100円、1つ50円です。

daiso.jpg


底面にスライドスイッチがあります。電池はCR2032です。

daiso2.jpg


ケースははめ込んであるだけなので、細いドライバなどでこじれば外れます。
中身は白色LED。LEDのピンの一方はスライドスイッチに直付けされています。
もう一方のピンは、ケースを突き抜けたところで曲げられて、電池と接触する電極として使われています。

daiso3.jpg


スイッチは活かして、ピンヘッダをつけたkoshianに赤と緑のLEDを直付けしたものを組み込みました。
PIO4に赤、PIO5に緑のLEDを接続しています。
LEDはどちらも高輝度タイプです。抵抗はつけていません。
また、LEDには光拡散用のキャップをかぶせています。
このへんのパーツは秋月電子で買ったものです。
daiso4.jpg


元通りケースをかぶせるとこんな感じです。
BLEリモコンで2色オンオフができるLEDランプができました。
daiso5.jpg


さて、そんなkoshianですが、今はボード単体では若干入手難のようです。
マクニカのオンラインストアでも販売されていないようです。
また、このボードの心臓部はBroadcom社のBCM20737Sというチップだったのですが、BroadcomのIoTデバイス事業は既にCypress社に売却されています。
Cypress社では、BCM20737SをCYW20737Sという型番で出していますので、ディスコンというわけではなさそうです。

BLEではNordic社のnRFシリーズがメジャーになってきており、このチップを使ったkonashiと似た感じのモジュールがBraveridge社から販売されています。

BVMCN5103-CEAA-BK | Braveridge

まあこちらは20個セットですし、ホビイスト向けではなさそうですが。
posted by boochow at 15:23| Comment(0) | konashi/koshian | このブログの読者になる | 更新情報をチェックする
人気記事