「もの作り」カテゴリーアーカイブ

DIYオーディオ

 家の趣味部屋のオーディオを一部リニューアルしたので、この機会に紹介してみよう。

①メインスピーカーはAmazonで買ったパナソニック(Panasonic) 6.5cm フルレンジ 8Ω 10W スピーカー EAS65P118Dとかいうの。1年3か月前に買って、ダイソーのMDF板で作ったバスレフの箱に入れてみたやつ。見た目はともかく値段(980円)とサイズを考えるとよいと思っていたのですが、やはり低音は出ていない。

②アンプは、YAMAHAのAideepen YDA138-Eデジタルパワーアンプ基板 クラスD 2x20W 12V HIFIオーディオステレオアンプボードを3Dプリンタで作ったケースに入れたもの。写真で写っている白い箱。

③音源はラズパイZEROWH+pifiハットで音楽サーバーであるVolimioを入れている。NASとかの音源も再生できるが主に使うのはネットラジオだったりする。ラジオと言っても音楽を流し続けていいるだけのモノ。コメンテーターもいないし広告もない。特にオーディオメーカーのLinnのラジオが音質が良くて気に入っている。これで、Bluetoothでスマホのスピーカーにもなれば完璧なんだが・・・。

④そして、今回リニューアルしたサブウーハーYST45。中古屋で1500円のジャンク品だったが、なんか変な音がしてて、ただの台になってたが、たまたまユニットを交換したというネット記事を見つけて一念発起(大げさ)。ユニットを守るカバーが外れず、布を破り捨ててユニット交換。交換したのは【国内正規品】Dayton Audio DC200-8 クラシックシリーズ 20cm ウーファー 8Ωです。これいい。20年以上前のウーハーは、なんとなくボーボーなっていたのですが、ちゃんと低音の音楽が聞こえる。

 てなわけで、ちょっとした2.1chシステムができた。思いのほか気にいった。今のリビングのシステムも20年前の自作スピーカー・・・。CDプレーヤーはあったけど、それ以外はアナログだった時代と違って、デジタルが当たり前の時代。お金はかけられないけど、今どきのパーツで揃えればグレードアップするんだろうか。

 なのでメインスピーカーも作ってみる予定。

メダカに自動で餌をあげる装置

 どうもメダカの成長が遅い。卵の数も少ない。痩せているような気がしないでもない。ってなわけで、人がいなくても餌をあげらる装置を作ってみた。

 ArduinoNanoとサーボモータのSG90があったので、何も買い足さずに作ることにする。まずは一定時間経過でサーボモーターをスイングさせる方法を考えて試作したが、実際には夜間は不要だ。照度センサーも考えたが手持ちがない。Arduinoは時計制御は得意じゃないのね。

 そこで思いついた。AC100Vの24時間タイマーあるじゃん。ここからACアダプタで5V取れば、好きな時間に電源そのものをON-OFFできる。Arduinoは電源が入った時にサーボモータを1回スイングさせれば目的達成である。スケッチのポイントは、setup()で完結させること。loop()何には何も書かない。ちと乱暴かもしれないが、Arduinoのようなマイコンなら大丈夫だろ。これで電源ON時に一回だけ動くという状況が作れる。

というわけで、できました。

自動給餌装置

かなり古いノートPCは使えるのか?メモリ増設&SSD

 10年前に、更に中古で買ったノートPC、PanasonicのCF-R7、1キロ切って堅牢性もあるのだが、流石にVista時代でCPUも忘れ去られたCentrino。今となっては激安BooKでも、これよしマシだと思うけど、愛着があるので使えるもんなら使いたいと思って苦労してみた。

 まずはOSを軽いと言われるlinuxMintを入れてみた。なるほど、なんとか動くっていうか動いたって感じ。ヤフオクでメモリを1000円で買い足して(と入ってもハード的に最大でも2Mなのだが・・・)、さらに安くなったSSD120G に装換した。この装換、ネット上に乗ってなかったらできねーな。難しいというよりバラし方がわからないです。ほんとありがとう。

ハードディスクをバックアップも取らずに交換したので、新たにちょっと試したかったUbuntuStudioを入れてみる。密かに開発していた(笑)電子でんでん太鼓の音源にしようかなと・・・。思ったより動いたけど、他の機能を使うには厳しいかな。(でんでん太鼓の話は、面白くなったら書きます)

 さらにChromeOS(cloudready)ってのを入れてみた。軽さは感じるのだけど、どうも使い勝手がわからない。店頭で触ったchromeBookは慣れれば行けると思ったんだけどなぁ。

 てなわけで、やはりLinuxMintを入れ直す。libleOfficeが最初から入っているだけで実用性を感じますね。linuxは正直わかってませんが、今現在、お試し中のMintからブログを書いているわけで、ブラウジングとテキスト入力が中心なら大丈夫。でもね、バッテリーが1時間ぐらいしか持たないので、モバイルできないとなると、やっぱり不要なものか。。。

ESP8266でWIFIラジコン試作

ESP8266でラジコンを作りました。

ESP8266はコントローラー側と本体とで2台使用。LANを使わずに直接通信させてます。車のボディとタイヤとピンポン玉キャスターは3Dプリンタ。電源はモバイルバッテリです。ギア付きのモーターはAliExpressで買いました。ほかにもUSBから5Vを取り出す小さい基盤と、モータードライバも使ってます。

 コントローラー側は、ボタン4つを使って、2個のモーターをそれぞれ前進後進回転させる信号を送るだけの単純なものです。ブレッドボードのままですが、そこそこ持ちやすいです。最初の計画ではアナログジョイスティックで回転数を制御できるようにと思ったのですが、ESP8266ってアナログ入力が1個しかない事に気が付いて妥協しました。

プログラムはここを参考に、いや参考というより、ほぼそのまま利用させていただきました。組み立てで接着が必要なものは両面テープなので耐久性はなく、特にモーターがとれちゃいます。

あ、そういえばこのESP8266、技適は大丈夫か?AliExpressで買ったやつだからなぁ。

ESP8266とAlexaで音声リモコン 

ArduinoIDEで開発できるESP8266の開発基盤NodeMCUの互換機で作りました。Alexaがある環境の人は作ってみて損はないです。なんせ、Alexa対応家電である必要ななく、赤外線リモコンで使える家電の大半を声で使えるようになるわけですから。

なお、この辺この辺りを見ればわかると思います。

まずはFauxmoESPというライブラリを入れます。これを入れると、ESP8266がAlexaのデバイスとして認識されます。 スケッチ例fauxmoESP_Basic で動作確認。

#define LED_WHITE 15

の15を16にすると、NodeMCU基板上のLEDが反応するので良いで動作試験でLEDを配線する必要がないです。

ただ、ここではまります。下のリンクを見てください。ArduinoIDEの書き込みの設定を書き換える必要があります。そうでないとアレクサアプリで認識されないのです。理由は私には分かりません。

https://i1.wp.com/electronic.tousekice.com/wp-content/uploads/2019/11/1234.png?w=679&ssl=1

それとIRremoteESP8266というライブラリを使います。これで、リモコンの送受信が可能になります。あとは、スケッチ例IRrecvDumpV2を使って受信したデーターをシリアルモニタで見て記録しておく。それで、それをスケッチ例IRsendDemoを参考に赤外線LEDで出す。これを、最初の FauxmoESP のスケッチ例を組み合わせたらできるわけです。

それで、作ったのはこれ。ESP8266にLEDの受信センサーを直結。データー取ったら、赤外線LEDを直結。抵抗の一本もつけないのか!って突っ込みは正しい。でも私の環境では動いたからよいとします。真似して壊れても私は責任取りませんよ。

送信側

受信側

ESP8266でアレクサデバイスだと?

ESP32でネットラジオを作る記事を見ているうちに、アレクサ関係もできるかと思ってググっていたら、ESP8266でもアレクサデバイスが作れるとか。そういえば、NodeMCUとかいうESP8266開ボードの激安品は家に余ってるよな。

参考にした記事はここです。なお、 alexa-wemo-emulator ライブラリを使う記事が多いですが、私の環境では動きませんでした。ご注意を。 fauxmoESP のライブラリを使う記事をググりましょう。

実施に試したのは、上記のk字のサンプルコードと、 fauxmoESP のサンプルコードを参考にして、ボード上のLED(PIN16)のON-OFFを、アレクサに音声で指示して制御すること。 (ArduinoIDEで使えます) これだけ動けば、ソリッドステートリレーつけて100VのON-OFFとか、赤外線LEDでリモコン送信とか、実用的に遊べそうです。

そうは言ってもリビングの照明・エアコン・テレビは、GoogleHomeとなんとか経由ですでに音声で動くし、階段やトイレ、脱衣場の照明は人感センサーで動いているし、金魚やメダカの照明はタイマー入れてるし・・・はて、何に使うか?

ネットラジオを作るESP32

 前回、使ってないrasipberrypi-Zeroとpifi基盤(サイズ的にゼロ用ではない)+余り物+100均モノでネットラジオ作って、良かったのですが、そういえば、ESP32の怪しい勢い余ってESP32の基盤も持ってたような。最初からwifi機能あったような。

てなわけで、勢い余ってググってみるとESP32でネットラジオをDIYしている人がいるようだ。いつものように遠慮なく真似して作ったけど???ArduinoIDEではなく、ESP-IDFなる開発環境が必要?、この導入がうまくいかない。やっとコンパイルして書き込んでと思ったけど、うまく動かない???。まったく解らない英語サイトをGoogle先生に翻訳してもらいながら似たようなことを繰り返すけど・・・・。

んでもって、今後忘れると困るので参考にしたサイトを書いておく

まずは開発環境ですが、ここから、簡単なインストーラーとか、最新がどうかとか、考えてはいけない(うまく動かなかった)英語サイトだけど頑張ろう。なれないコマンドはコピペが(だから覚えないという説もある)大事なのはパスを通すところ。

我が家の環境では

export IDF_PATH=/home/ユーザーネーム/esp/esp-idf

homeが、usersだったり、ようは環境によって間違いやすい。

次に今回のメインのプログラム、ESP32_MP3_Decoderだけど、これの導入は、こっちから、環境の導入の内容もあるけどね。M8403を使った極小激安アンプボードに出力して、秋月電子の100円スピーカーから鳴らしている。ネットラジオなのに、古いAMラジオみたいな音がする(笑)。

追記

これを視聴しているときに、ふと思い立って、秋月100円スピーカーを下向き(テーブル側)にひっくり返した。すると、音がものすごく小さくなった。当たり前と思う人が多いかもしれないが、普通のスピーカーユニットは裏からも音が出ていて、ひっくり返すことで音が出る向きが分散して無指向性になったりする。(これを使ってスピーカーBOXを作ったことあるけど、見た目はともかく良い感じだったのだ。)そして、一般的には裏側の音をコントロールするのがスピーカーボックスなのだ。

改めてユニットの裏側を見ていると音の出るコーン部分が全部鉄板で覆われている。つまり容積の小さい密閉型になっている。(磁石が外付けになってる)実にへんな作りだった。サブウーハー加えて 2.1ch 構成でDIY的に面白いシステムも作れそうだが・・・。たぶんやらない。

コネクタ付きのケーブルもついてるし、今回のような、電子工作のお試し音出し用にはコスパ最高かもしれない。

ネットラジオ局の選択の問題か?

上記のESP32ラジオは、ディフォルトのSomaFMになっている。でも、聞きたいのはLINNのラジオなので、プレイリストを書き換えると・・・あ、これ、ダメ、ならない。そっか、高音質のネットラジオ局だと通信か内臓DACかが落ちてたのかな?

DACに関しては外部にする予定です。

ネットラジオ用オーディオを作った

 スピーカーボックスを作った。ずっと前から持ってた7cmぐらいのユニット、買ったときは段ボールで箱を作って鳴らしていたけど、そのままお蔵入りになっていたもの。をれをダイソーで売ってたMDFの板で作ったバフレフ箱に入れた。

 真ん中の100均の箱に入ってる基盤、手前が12Vの電源基盤、その先が2020のIC(いまやプレミアICらしい)を使ったアンプキット、右上の箱のフタに付いている緑の基盤がラズベリーパイゼロWH、それに刺さってる青い基盤はラズパイ用オーディオボードPIFI基盤、OSはオーディオ用OSのVolmio。これらはみんな数か月前~数年前に買ったもの。wifiにつないで、ネットラジオを高音質で聞こうって魂胆。

 一つ失敗したのは12Vの基盤からアンプへ、分岐したのをダウンコンバート基盤を通してラズパイに入れてダイソー箱にまとめたのだが、出力にノイズが乗って使い物にならなかった。そこで不便だけどモバイルバッテリーでラズパイを駆動したら奇麗な音が出た。でも箱に入らなくなった(泣)

3Dプリンタの設定について

3Dプリンタ(ALUNAR508)を買ってから、いろいろと苦労したことをまとめておこう。

①いきなりだが、オートレベリングがないもので、改造の余地があるなら改造はしたほうが良い。ググるとでてくるので、是非ともチャレンジしてほしい。

②印刷物を固定するための最大のポイントはZ軸とベッドをいかに近づけるかです。ヘッドがベッドにぶつからないぎりぎりの範囲をセッティングできれば、ほとんどの苦労は軽減できます。そのためにも①はあったほうが良いのです。

③上記を使った場合、オフセット値を追い込みが大切。Z軸のオフセット値が設定できると思いますので、印刷したものを見て1層目が甘いと思ったら(印刷物の底の状態が悪いときは、これが原因です)、0.1ミリ以下のレベルで追い込みましょう。ベッドの多少のゆがみは、①が調整してくれるので、ぎりぎりまで近づけます。もう、これが決まると、いろいろ解決します。

④長方形型など、直線が多いものは、ちょっと回転させて印刷。これは私の経験則ですが、直線が多いものは、印刷時に回転させてX軸Y軸に平行なラインを外します。スライサーにもよると思いますが、反りが減るような気がします。3Dモデルを作る時も、XY平面の角を丸めるなどするのも、やらないよりいいです。

⑤囲うなら、徹底的にやりましょう。調べてるとプリンタを囲って、それなりの温度で安定させると効果が高いと出てきますが、隙間風とかあると、温度の均一性が逆に悪くなって失敗します。寒いのはだめなので、暖房の利用は効果があります。なにはともあれ、プリンタ周辺に温度ムラが出るのを避けるべきです。

⑥ベッドに養生テープを貼ると、マジックで場所をマーキングできるほか、整髪料やスティックのりを使っても、後でふき取る必要がなくなる。両面テープでも剥がせる。

⑦フィラメントの巻きが小さくなると折れる。寒いほどに起きやすいと思うが、夏でも折れる。フィラメントのスプールの直径が小さくなると折れやすくなる。頑張って使おうとすると、エクストルーダーの中で折れたりして分解する必要がある。そして、そのフィラメントを使って・・・・繰り返し。しかも、そのたびに各軸の調整もやりなおし・・・。時間ばかりかかるので、そうなる前にあきらめるのが得策。もったいないので、スプールから外して、ぶらぶらさせて使うのもあり。見てないと危なっかしいが、小さいものなら大丈夫でした。

※PLAなら、順調にできてますが、最近使おうと思ったABSはまだ駄目です。なんとも、ちゃんちゃな玩具です。

3Dプリンターを衝動買いしてしまった

先日、酔っぱらっているときに3DプリンタKitをアマゾンで購入してしまった。ALUNAR-M508とかいうの。オープンソースで公開されているタイプのものらしい。だから安くて、しかも完成品ではなく自力組み立て。組立手順は組み立てている動画が付属のSDにあって、それをよく見て組み立てること1日。なんとかサンプルデータを印刷できました。

セッティングによって品質が大きく変わるようで、いろいろ苦労はありますが、結構遊べそうです。なにより、ラズパイもArudinoも3Dプリンタもある環境が素晴らしい。まぁ、こういうのって、学生が遊ぶもんですけどね。アラフィフの私が今更何をって言うのは・・・いわんといて。