negibatの日記

Bluetoothスピーカーを作る過程を書いていきます

Arduino IDEを使ってみたけども

前回の記事では、ESP-WROOM-32を動かすにはArduino IDEが必要っぽいぞ、でもArduino IDEってなに?っていうところまでたどり着いた。

今回もBluetoothスピーカー完成に向けて着実に進んでいくぞ。

  

 Arduino IDEとはなんぞや

では、Arduino IDEとはなんぞやというところを調べてみる。 

Arduinoの開発環境でArduinoソフトウエアとも呼びます。フリーウエアで、コンパイル・ダウンロード・実行など一連の作業がこれひとつでできます。(はじめてのArduinoより)

 

どうやらAnduinoを開発するソフトウエアのことっぽい。さらに遡ってAnduinoとはなにか調べてみた。 

Arduino(アルドゥイーノ もしくは アルデュイーノまたはアルディーノ)とは、(ハードウェアの)「Arduinoボード」、および(ソフトウェアの)「Arduino IDE」から構成されるシステムである。Arduinoボードは、AVRマイコン入出力ポートを備えた基板であり、Arduino IDEC言語風の「Arduino言語」によってプログラムを制作・コンパイルデバッグ等し、それをArduinoボードに転送 等々するための「統合開発環境」と呼ばれる、PC上で作動させる一種のソフトウェアである。また「Arduino」という名称は広義には、それらの開発・改良を行う一連のプロジェクトや、その結果生まれた会社、またその多くの開発者らによるコミュニティまでも指すことがある。(Wikipediaより)

 

なるほど。Anduinoというハードウェアのボードがあり、そのソフトウェアがArduino IDEなわけね。

でも、なんで、Anduinoを動かすためのArduino IDEで、ESP-WROOM-32を動かせるわけ? 

Arduinowifiモジュールはxbeeをはじめとしていろいろな種類があるのですが、今回はArduinoマイコンとしても使えて、かつwifiモジュールを搭載しているESP-WROOM-02を使って回路を組んでいきます。(+Devicepusより)

 

ESP-WROOM-02とはESP-WROOM-32の前のバージョンの製品のことです。

要するに、本来Arduinoを動かすためのArduino IDEを、ESP-WROOM-32を動かすためにも使えるということなんすねぇ。

 

 

Arduino IDEでLチカってみる

 ということで、Arduino IDEをまずは、パソコンにインストールするところから初めてみようじゃないの。

qiita.com

 ちょうどよさそうなサイトを見つけたので、参考にやってみたよ。

 

詳しくは上記のサイトを参照すればよいんだけど、大まかにいうと

  1. Anduino IDEをインストール
  2. Anduino IDEでESP-WROOM-32を認識するためのやつを読み込む
  3. 自分のパソコンとUSBでESP-WROOM-32を繋いだ時に、認識するようにドライバをパソコンに入れる

 

3まで済ませて、パソコンにESP32-DevKitC-32D-Fを繋いでみると…

光った!!地味にうれしい。(パソコンに埃がのっているのはきにしないでね)

f:id:negibat:20190918221353j:plain

 

 

これで準備は整った。試しにマイコン系勢がよくやっている「Lチカ」をやってみた。

 

 

 できた!!(※動画長すぎてはてなブログに読み込めず、本当はLEDがチカチカ点灯してます)

 f:id:negibat:20190918221727j:plain

 

 

 

なんだろね。この達成感。本来の目的からしたら、ほんの少しの前進だけど、電子工作弩素人のねぎばっとにしてみたら、これは大きな前進だね。

 

いや、それどころか、サクっとBluetoothで音楽鳴らすっていうところまで、このまま楽勝でいけんじゃね?

ということで、ほかのサイトをあたってみる。

 

 

またもや謎の言葉出現「ESP-IDF」

 

ちょうど良いサイトを見つけました。

 

asukiaaa.blogspot.com


これ!まさに!求めてたやつ!

さっそくこちらのサイトを見てみると、ESP32とスピーカーを接続していて、いかにも、スマホなどからBluetoothで音楽を飛ばして、それを再生しているふうじゃないですか。

いける!!と思ったその刹那・・・またわからない単語が…。

 

ESP-IDF??????

 

わからない言葉は調べる。これは鉄則ですね。

Espressif Systems 社推奨のESP32 ( ESP-WROOM-32 ) の開発環境、ESP-IDF の使い方を説明します。
Arduino IDE でも ESP32 ( ESP-WROOM-32 ) は開発できますが、全ての機能を使うことがまだできません。
ESP-IDF を使うともっといろいろな機能が使えます。(mgo-tec電子工作より)

なるほど。

Arduino IDE でも 動かせるESP32を、もっと動かそうと思うと、ESP-IDFなるソフトが必要になるということですね。

 

ちょっと脳内オーバーヒートして息切れしてきたので、続きは次回。

 

現状のまとめは以下のとおり。

 ・Bluetoothを使って音出したい。しかも技適認証あるやつで。

  ↓

・WROOM-32を使えば技適認証あるよ

  ↓

・WROOM-32を使うにはArduino IDEが必要だよ

  ↓

・でもBluetoothを使って音をだそうと思ったらArduino IDEじゃなくてESP-IDFがひつようっだよ

 

くそっ!!はてしねぇ。

WROOM-32を動かせない

前回の記事でも書いた、marutsuで購入したWi-Fi+BLEモジュール開発ボードESP32-DevKitC-32D-Fをいじっていこうと思う。

 

 

 

ESP-WROOM-32とはなんぞや

この手の開発ボードをいじくるのは初めてなのでわくわくだね。

 

 こいつが ESP32-DevKitC-32D-F。上部の銀色下部分が、ESP-WROOM-32。下にUSBを接続できる。左右にピンをさせる穴がいっぱいついてる。

f:id:negibat:20190918201856j:plain

 

まずはESP-WROOM-32とはなんぞやというところを調べてみる。

 

アマゾンの商品説明をまとめてみると‥

1つのパッケージにWiFiBluetoothを搭載した、無線通信モジュールです。Espressif社が開発したモジュールです。
Arduion IDEで、Arduion互換デバイスとしてプログラムの開発ができ、UART経由でプログラムをダウンロードできます。WiFi やBLEを手軽に使える無線通信モジュールです。
SoCには、ESP32を使用。デュアルコア240 MHz動作です。 各仕様は次の通りです。
WiFi機能:802.11 b/g/n
Bluetooth機能:Classic、BLE 4.2(デュアルモード)
WiFiモード:Station , softAP, SoftAP+station, P2P
・セキュリティ:WPA, WPA2, WPA2エンタープライズ, WPS
・メモリ:520kBytes
フラッシュメモリ:4MBytes
・電源電圧:2.2~3.6 V
・消費電流:約80mA程度

 

BluetoothがClassic、BLE 4.2(デュアルモード)で使えるので、前回作った青歯アクリルスピーカー1号の問題点のひとつである、新しい規格のBluetooth では使えないということはなさそう。

 

また、総務省技術基準適合証明等を受けた機器とのことで、大手を振っていじれる、非常に安心な機器というわけ。

 

赤い四角で囲ったところが技適マーク

f:id:negibat:20190918201904j:plain

 

 

よし、こいを使ってスマホから飛ばしたBluetooth で鳴るスピーカーを作ろうじゃないかという私に、大きな壁が立ちはだかった。

 

「おいおいおい、鳴らねぇわあいつ」

 

そう。このWROOM-32は無線モジュール機器。無線を使ったことは一通りできるが、指示を出さなきゃ、何も出来ない、まるで生まれたての赤ん坊だったのだ。

 

「プログラミングですか。聞いたことのない娘ですね」

 

これまでの人生で無縁だった、支持を出すためのコードを書くという作業が、なんとこいつには必須だったのだ。

 

未知の領域に踏み出すにあたって、一冊の雑誌を購入したのは前回もご説明したとおり。

その雑誌が届くまでに、いても立ってもいられなくなった私は、ネットを検索した。

 

 

 

Arduino IDEを使うなんて朝飯前だよね

いくつかのサイトがヒットしたんだが、どうやらAnduinoなる何かを使って、WROOM-32は動かせるっぽい。

 

Anduino…、なんか聞いたことある。

 

そういえば、よく行く電子部材屋によく踊ってる文字だ。だが、何のことなのかはこれまでわからずにいた。

私が読んだサイトを見ると、そのAnduinoなる言葉は、マイコンにコードを書くためのソフトのことのようだ。そして、その、コードを書くためのソフトの名前が、Arduino IDEというらしい。

サイトを読み進めていくと…

Arduino IDEにESP32のボードを追加

はい、ここでつまりましたね私。

 

電子工作弩初心者の私にとっては、Arduino IDEが何なのかもわからない。

どれぐらいわからないかを小学校の授業にたとえてみよう。

 

先生:「みんなはもうArduino IDEを使うなんて朝飯前だよね」

生徒達:「そーですね!」

先生:「じゃあ、普段遊んでる〇×△□じゃないのを今日は使ってみようと思います。じゃーんWROOM-32!」

生徒達:「わーい」

先生:「じゃあ、いつものArduino IDEを机から出して、WROOM-32を動かしてみよう」

生徒達:「はーい」

先生:「あれ、ねぎばっと君…、君何を出してるの?」

ネギバット:「えっ、あっ…あんどぅいのあいでぃいぃですが…」

先生:「やれやれ、ねぎばっと君、それはArduino IDEじゃないよ、それは雑巾というんだよ」

 

教室中大爆笑ですよ。

 

決してそのサイトをディスっているわけじゃないですよ。

ただ、私にはまだ早すぎただけです。

 

現状のねぎばっとの思考状況

 

Bluetoothを使って音出したい。しかも技適認証あるやつで。

 ↓

・WROOM-32を使えば技適認証あるよ

 ↓

・WROOM-32を使うにはArduino IDEが必要だよ

 ↓

Arduino IDEわからないよ

 

 

雑誌が届くまでの数日間。戦いは続くのでった。

 

 

 

 

 

Bluetooth スピーカーを作る

電子工作を始めたのが半年ほど前。アンプから初めて、最初は音がでず、どうにかスピーカーとアンプの完成までこじつけた。その後Bluetoothスピーカーも作ったんだけど、イマイチ納得できるものではなかった。

 

そこで、今回はブログを書いて、考えをまとめつつ作っていこうと思う。

前回作った青歯アクリルスピーカー1号はこちら。

f:id:negibat:20190907222626j:plain

f:id:negibat:20190907222721j:plain

 

ちゃんと音鳴るし、そこそこカッコイイ物を作れたっていう満足感はあるんだけど、納得していない部分が多々ある。

  

  

青歯アクリルスピーカー1号の問題点

①設計の問題

造的に真ん中下に電池を配置したため、箱の内側を左右分離することができず、背面のパッシブラジエーターの効果が薄い。

ボリューム横にLEDライトとスイッチを配置するつもりだったんだけど、スイッチの下とスピーカーの間に余裕がなく、コードがあたってしまう。LEDライトはやる気がなくなってつけてないです・・・。

 

②スピーカー・パッシブラジエータ―がビクンビクンしない

Youtubeで見るBluetoothスピーカーは、スピーカーが前後にビクンビクン動いてるし、パッシブラジエータ―も同様にバキバキ動いてる。

一方自分のはというと、最大音量にすると近所迷惑かなくらいの音量しかでないし、スピーカー、パッシブラジエータ―ともに、見た目には動いている気配すらなし。

電池は単三4本で、6V弱。これに使ってる、秋葉原のAITENDOで購入したBluetooth機能のあるアンプが何Vが適した電圧なのかわからず、音はとりあえず問題無く鳴るこの方式でつかっているんだけど。

 あと、ボリュームの効きがおかしく、最大ボリュームギリギリまで捻って、やっと音がし始める。どうしたのかなという感じ。もしかすると使っているボリュームパーツの抵抗(Ω)が適していないのかも。

 

Bluetoothのバージョンが古い

AITENDOで購入したBluetooth機能のあるアンプで使用しているバージョンが不明なんだけど、iPhone6では接続できるのに、P30liteでは接続できず。多分バージョンが古いんでしょう。

 

 

2号をつくる準備

秋葉原で買い出し

あちいね・・・

 

今日の秋葉原は久しぶりの30度越え。

座り仕事の鈍った身体で電子工作部材の売っているお店を回りましたよ。

 

今回秋葉原をまわって購入したものがこちら。

 

f:id:negibat:20190907224702j:plain

 marutsuで購入したWi-Fi+BLEモジュール開発ボードESP32-DevKitC-32D-F

 

技適認証のあるBluetoothをずっとさがしていて、それが見つかれば、ブログやら動画やらで作っている過程をなんの後ろめたさもなく存分にネットにアップしていけるぞと思い、ずっと探していた。このボードに使われているESP-WROOM-32は技適認証があるチップをつかっている正真正銘の大丈夫なやつ。

 実は画像のものを買う前に、秋月電機通商でこのチップだけのを先に見つけて、興奮して2枚も買ってしまっていた。無駄になるかもねぇ。

 

ESP-WROOM-32をどうやって使うか

ウキウキで帰ってどうやればこれをBluetoothオーディオレシーバーとして使えるのかなぁとネット検索してたわけ。

 

いくつかのサイト見て、俺、びびったね。

プログラミングだとぉ・・・・。

 

どのサイトを見ても、PCにこのボードを繋ぎ、わけわからないコードをどこかからひっぱってきて、これを張り付けてね!的なことをさも平然とやってるじゃねぇか。

俺には無理だ・・・、突如行われるえげつない行為。

 

折れた心でしょんぼりキーボードをポチポチやってましたよ。

「ESP-WROOM-32 音」

とか

「ESP-WROOM-32 音楽」

とか・・・。俺、ネット習いたての小学生かなって思いつつポチポチやってたわけ。

 

そうしたらみつけたのよ。

スマホと自作オーディオを無線接続!Bluetooth-I2S

 

「 勝ったな」

メガネに白手袋のおっさんじゃないけど、思ったね。

ESP-WROOM-32を使ったBluetoothを使った音楽再生の方法が事細かに書かれてそうなサイト。でも次のページがない・・・。

実はこれ、あのコアな電気工作を趣味にされている方、というか、本業にされている方にはお馴染みの「トランジスタ技術」の2018年10月号のページ紹介だったんだよね。

実は電気工作で電子回路に興味持った俺、本屋で見つけたハードコアなこの雑誌、カッコイイね。これをスタバで読んでたら、かなりのハードコア電子工作師と思われそうだねと思って買ったんだけど、あまりのハイレベルな内容に、買ったその日以降一度も開いていっていうくらい、すごい雑誌なわけ。

 

自分にはまだ早すぎるやつと思ってたんだけど、出てたんだね、こんな特集号が

トランジスタ技術 2018年10月号 高速プロセッシング 新オーディオ電子工作

 

さっそく購入。

とりあえず、待ちますよ届くのを。