Latest / TanaRadio / 378 日記 | ロータリーエンコーダーで音量調節
Transcript
- 0:00では、TanaRadio Pi製作シリーズフェーズ5iに行きたいと思います。
- 0:12今回はロータリーエンコーダーという部品を使いまして音量調節をするということで、一番工作の難易度としては高いものですね。
- 0:25今回初めてハンダ付けをやることになります。
- 0:30まずは、このロータリーエンコーダーという部品を買いましたらば、3本の足、ピンですね、これが出ていて、
- 0:42これはそのままではブレンドボードに刺さりませんので、ブレンドボードに刺さるようなピンの間隔になるようなものを取り付けるということがまず必要です。
- 0:58そのためにDIP化基板というのがありまして、小さな基板なんですが、それにロータリーエンコーダーをハンダ付けしまして、
- 1:14さらにその基板にピンを3本、これはブレンドボードに刺さる間隔で取り付けられるんですが、その3本のピンを付けるということで、ハンダ付けが何箇所か必要になります。
- 1:32まず最初にですね、それからハンダ付け用に、私今回ハンダゴテとハンダゴテの台を買いました。さらにハンダも買いました。
- 1:49このハンダゴテはですね、温度設定ができるというもので、だいたい、このハンダの有点が書いてあるところによりますと190度となっていましたので、
- 2:11ハンダゴテはそれよりも100度から150度ぐらい高い温度が良いということなので、300数十度ということですね。
- 2:24このハンダゴテでは320度と370度の設定ができるんですが、その間には数字がないんですけれども、その間なのでだいたい350度ぐらいに設定しまして、電源を入れたらばLEDが点滅しています。
- 2:48この点滅がしているということは、その設定温度になったということらしいです。ですので、もうハンダ付けができるわけですが。
- 3:00まず基板にピンを、ピンヘッダーというんですかね、要するにオスのピン、これをハンダ付けするんですが、
- 3:16この基板を買いましたら、ピンがたくさん付いていまして、これを3本使いますので、3本のところでちょっと折って切り離したいと思います。
- 3:31パキッとちょうどよく折れるようになっていますね。
- 3:36これを、この基板の3本のところの、穴は5個あるんですけど、その5個のうちの真ん中の3つのところにピンの短い方を入れまして、
- 4:16これを3本だから3つハンダ付けするんですが、これが結構グラグラしますよね、ハンダ付けしていないと。
- 4:31ですので、グラグラしないようにテープか何かで留めるといいというふうに、ネットなどで調べましたらば出ていましたので、
- 4:42ちょっとこれを、医療用のテープを今家にいるんですけど、薬箱から取り出しまして、一応これを使ってピンを固定したところです。
- 5:15一応、ピンの穴から短いピンが出ている状態になりましたので、ここにハンダ付けをしたいと思いますが、
- 5:34もうこの小ささになると本当によく見えないですね。
- 5:37よく見えないけれども、本当は蒸し目がないか何かで拡大しながらやったほうがいいんでしょうが、今はないので肉眼で、老眼鏡を外して肉眼でちょっとやりたいと思います。
- 6:17えーと、もう全然ハンダが乗りませんね。これはどうしたものでしょう。
- 6:53一応なんかちょっと付いた感じがしますが、本当だと富士山型にならないといけないんですけど、やっぱり団子になってしまいますね。これはあんまり良くない付き方です。
- 7:08とりあえず付いたので、なんとか3ついきます。
- 7:30もう何十年ぶりのハンダ付けですけど、なんとか付いたかな、これ。一応付いた感じです。固定用のテープをちょっと外したいと思います。
- 7:53そんなに曲がっておらず、基板に垂直に付いた感じになっています。
- 8:00次に、この基板にロータリーエンコーダーを付けるわけですが、ロータリーエンコーダーの方は電極がいっぱい付いていますね。
- 8:19まず、固定するための金具みたいなものが2つありますので、ラジオペンチで曲げるだけで結構固定されます。
- 8:36これもハンダ付けするといいと書いてあったので、ここでハンダ付けをしたいと思います。
- 9:06やっぱりこの基板を固定するものがないと、机の上に基板を置いただけでは、基板がクルクル動いてしまってあんまり良くないですね。
- 9:22専門の固定の台みたいなものがあるといいんですが、これでくっついたのかどうかわかりませんが、動かなくなったのでたぶんくっついたんだと思います。
- 10:05それでは次に3つの電極ですね。
- 10:15これを今度はハンダ付けしていきます。
- 10:29これはハンダを盛りすぎると隣のとくっつきますので付けすぎに注意ですが、ものすごく細かいですね。
- 10:50これは細かいところの作業なので難しいですね。
- 11:14うまくくっついているのかどうか目がよく見えないのでわからないという非常につらい状況です。
- 11:23でもなんとなくうまくいったような気がします。
- 11:32ぐらぐらもしませんし、なんとかうまくいったんじゃないでしょうか、ハンダ付け。
- 11:40何十年かぶりでやりましたが、なんとかうまくいきました。
- 11:47一旦これでちょっと録音を止めまして、ブレンドボードに挿して、またTANRADIO PIEのボリューム調節の機能を実装していきたいと思います。
- 12:05今、Raspberry PIEのセッティングがだいたい終わりましたので、これに電源のコードを挿して動かしたいと思います。
- 12:41ブラウザーが今立ち上がった状態で、これをいつも通りターミナルと並べて画面上に配置します。
- 12:59ブラウザーではChat GPTの画面を出しまして、CHAPPYのマニュアル通りにまた進めていきたいと思います。
- 13:26まずはこのロータリーエンコーダーを取り付けるというところから。
- 13:38では、マニュアルのロータリーエンコーダーを配線するというところからいきたいと思うんですが、
- 13:47ロータリーエンコーダーにはACBと3つの端子があるということで、
- 14:01ACBと書いてありますね。左からACBとなっています。
- 14:07これをまずはブレッドボードに挿すわけですね。挿します。
- 14:35挿しまして、AをGPIOの20に繋ぎます。
- 15:06今、ジャンパー線で繋ぎました。
- 15:10次にBを21に繋ぎます。
- 15:25はい、繋ぎました。
- 15:27最後にCをグラウンドに繋ぎます。
- 15:50はい、繋ぎました。
- 15:56はい、これで配線は一応やったということになります。
- 16:03では今度はプログラムの方ですね。
- 16:06プログラムはまず、ターミナルで作業用フォルダに移動ですね。
- 16:28はい、移動しました。
- 16:29で、必要なパッケージを確認するですが、これはもう前から何度もやっているので省略しまして。
- 16:38次にロータリーエンコーダー単体テストということで、テスト用のPythonのプログラムを今作ります。
- 16:51なので、テスト用のファイルを今作りますが、
- 17:04例によりまして、これはChatGPTの書いてくれたコードをそのまま貼り付けます。
- 17:22はい、保存しました。
- 17:26そうしましたら、今度は実行権限ですね。
- 17:31実行権限をいつも通り付けまして、実行します。
- 17:57画面上にはロータリーエンコーダーのテストを開始します。
- 18:01つまみを左右に回してくださいとありますので、まず左に回してみます。
- 18:09左回しと出ました。
- 18:11カチッカチッとクリック感があるんですが、一回クリック感があるところで一つ左回しが出ますね。
- 18:20何度もずんずん回すとそれが増えてきます。
- 18:23今度は右回し、逆方向に回します。
- 18:27そうすると右回しがどんどん増えていくという感じですね。
- 18:30これはもう成功です。
- 18:35ロータリーエンコーダーの機能はOKということですね。
- 18:45Ctrl-Cで終わります。
- 19:00Ctrl-Cで終わったときに、何かエラーっぽいものが出ましたね。
- 19:10これちょっと気になるので、ChatGPTにフィードバックしてみましょう。
- 19:29これは6の単体テストですね。
- 19:406の単体テストで、以下のエラーのメッセージを貼り付けて送ってみます。
- 20:21これは大丈夫ですと言われました。
- 20:24表示されているものはエラーで止まったのではなく、
- 20:27TANAさんがCtrl-Cを押してテストプログラムを終了したという意味です。
- 20:33とのことで問題ないようです。
- 20:38良かったですね。
- 20:41では次行きたいと思います。
- 20:43単体テストが終わったので、次のテストですが、
- 21:135Gを動かしたまま音量制御テストをするということで、
- 21:17前回作りましたフェーズ5Gのファイルをそのまま使って音量調節のテストをするということですね。
- 21:321つ目のターミナルで5Gを起動して音を出した上で、
- 21:39別のターミナルを開いて音量テスト用のファイルを作りますとあるので、
- 21:46まず音量テスト用のファイルを作ってみますね。
- 22:15なのでファイルを開いた後にコピー&ペーストで貼り付け保存しました。
- 22:32このテスト用のファイルはできたので、実行権限をつけて実行ですね。
- 23:05実行権限をつけました。
- 23:14あとは実行してテストなんですが、また音が出ると録音しない方がいいかもしれないので録音は一旦止めてテストをしたいと思います。
- 23:31今音量のテストをしたんですけれども、ちゃんとロータリーエンコーダーを右に回すと音量が上がり、左に回すと音量が下がるということを確認しました。
- 23:50ということでこれはOKですね。
- 23:56そうしましたら、コントロールCで終わるのかな。
- 24:07そうしましたら今度は5Gのコードを5iとしてコピーするとあります。
- 24:22この5Gのコードにボリュームを上げたり下げたりする機能を追加するということですかね。
- 24:35まずはバックアップのコピーを取っておきましょう。
- 24:57バックアップを取りました。
- 25:04そして新しい5iのファイルを作ります。
- 25:20マニュアルによりますと、5Gのファイルにいろいろと追加するように書いてあるんですが、
- 25:29コピーをするのはなかなか間違いやすいので、コピーしたものを作るようにお願いしておきましたので、
- 25:42それをそのまま貼り付けたいと思います。
- 25:53ではこの全部をコピーしまして、貼り付けます。
- 26:03保存しました。
- 26:11これでまた実行すれば音量を変えたりできるわけですよね。
- 26:28まず実行権限を付けますね。
- 26:40この上で実行するんですが、また音が出ますので録音を止めたいと思います。
- 26:47実行したらものすごくたくさんのエラーが出ましたので、
- 26:52これをまたChatGPTに返したいと思います。
- 26:58コピーを取りまして、エラーを貼り付けて対処方法を聞きたいと思います。
- 28:10答えはですね、GPIO17のピンが使用中だというエラーだということで、
- 28:19これはRaspberry Piを再起動すればいいという話なので再起動してみます。
- 28:52今再起動しました。
- 29:18再起動しましたので、ブラウザとターミナルをまた並べて表示させます。
- 29:49これでもう一回実行ですね。
- 29:55まずは作業ディレクトリに移動しまして、こうします。
- 30:15ちゃんと動いているようですね。
- 30:23音が出るのに録音ボタンを停止するのを忘れていたのでちょっと入ってしまったかもしれませんが、
- 30:32ここでテストをしたいので一旦録音を止めます。
- 30:39今度はですね、ちゃんとボリュームのつまみ、ロータリーエンコーダーがですね、
- 30:48機能しまして音量を変えることができました。
- 30:52良かったです。
- 30:58ということで、これでもうだいたい今回の目標は達成したということですね。
- 31:08ロータリーエンコーダー、右左の回転によって音量はアップ、ダウンできたということになります。
- 31:29ということで、今回の作業は終わりにしたいと思います。
- 31:35それではまた。