Latest / TanaRadio / 365 日記 | 1ボタンの実験
Transcript
- 0:02TanaRadio Piを作るシリーズですが、フェーズ3まで終わりまして、今回からフェーズ4に入っていきたいと思います。
- 0:16フェーズ3というのは、Raspberry Piを使いまして、電源を入れるとLISTENのTanaRadioのページが自動的に開くというところまでやるというものでした。
- 0:40今度フェーズの4に行きますと、いよいよ様々なスイッチやつまみを使ってこのRaspberry Piをコントロールするということで、TanaRadio Piがラジオ受信機ですね、ラジオっぽくなっていく第一歩のところとなります。
- 1:09例によりまして、ChatGPTにマニュアルを作ってもらいましたので、その指示に従って進めていきたいのですが、まずステップ1です。
- 1:24今フェーズ3の段階で実現しました、このLinuxマシンにしたものを既に組み立てというか周辺機器を接続しまして、OSを立ち上げているところですが、
- 1:56フェーズ4のステップ1はRaspberry Piをシャットダウンするというものですので、これをシャットダウンしたいと思います。
- 2:10簡単にメニューのログアウトからシャットダウンを選んでシャットダウンをします。
- 2:21そうしますとRaspberry Piのランプが緑から赤に変わりました。
- 2:35そうしましたらUSB-C電源を抜きますと書いてあるので抜いてみます。
- 2:45基板からUSB-Cのケーブルを抜くんですが、
- 2:53今基板が剥き出しになっていますのでなかなか抜きにくいですが、はい抜けました。
- 3:01赤いランプも消えたということになります。
- 3:05では次にステップ2、ブレイクアウト基板を接続するということで、
- 3:11このブレイクアウト基板というのは、このRaspberry Piに40ピンの端子がついていまして、これがGPIOという名前だそうですが、
- 3:26ここにいろんなものをつなげるといろんなことができるんですが、
- 3:34いろいろと実験しやすいようにそこからブレイクアウト、つまり引き出すんですね。
- 3:41線をつないで引き出して実験しやすいようなブレッドボードという実験用の基板に接続するんです。
- 3:55どんな感じになっているかというと、
- 3:5840本のケーブルというか電線がくっついた板状の帯状になったものがありまして、その先に40ピンに刺さるソケットがついていますので、
- 4:17これを40ピンのところに差し込んでつなぎます。
- 4:40はい、つなぎました。
- 4:44その40本のケーブルはT型の基板につながっていまして、これは最初から作ってあるんですが、
- 4:57そのT型の横棒の部分がケーブルがつながっていて、
- 5:06横棒に、垂直に出ている細長い基板が左右に20本ずつのピンが並んでいて、これをブレッドボードという基板に差し込めるんですね。
- 5:24これはあらかじめ差し込んでおいたので、
- 5:32Raspberry Piの基板とブレッドボードが40本のケーブルでつながった状態になりました。
- 5:43これが向きがおかしいと問題が起こるということなんですけれども、
- 5:55一応このブレイクアウト基板の製品についていた説明書、これもネット上にあるものですけれども、
- 6:08GitHubからダウンロードしたPDFの図を見て、こうだろうというふうにしていますので、
- 6:21大丈夫だと思うんですが、その通りにやったつもりですが、
- 6:30Chappyのマニュアルによると、注意点は1番ピンの向きですって書いてあるんですが、
- 6:36どう言われてもどういう向きなのかがちょっとここではよくわかりません。
- 6:48大丈夫だろうということで先に進みたいと思います。
- 6:54ステップ3はGPIO17の1ボタンだけ配線するということで、
- 7:01ボタンを1個だけ取り付けて実験するということのようです。
- 7:09つなぎ方ですが、ボタンを10個買いましたので、
- 7:20送ってきたときは5個かなと思ったんですけど、
- 7:26後からよく見たら10個入ってましたので、
- 7:33前回の配信はちょっと間違った認識で語っていますけれども、
- 7:40その10個の中から1個を袋から取り出すところです。
- 7:47これはだいたい1cm角、1cm四方ぐらいの正方形の形をしたところに、
- 8:03真ん中に押すことのできるボタンのスイッチが付いている形のもので、
- 8:11足は4本出ています。カニのように。
- 8:14左右に2本ずつ合計4本の足が出ていますが、
- 8:23これをブレッドボードの真ん中に溝があるんですけど、
- 8:32左右を分けているところの両側にかかるように今足を差し込みました。
- 8:42ちょうどこの2本の足がブレッドボードの穴の3個分の距離のところにあるんですね。
- 8:563個分だから、3個のうちの両サイドに1本ずつ足が刺さって真ん中が空いているという形です。
- 9:06まずボタンを固定して、ここに1kΩの抵抗をつないで、
- 9:19それをさらにGPIO端子、ピンの17番につなげるということで、
- 9:31つなぐのはこのジャンパー線という短い電線の両端に電極というか針金が付いているものがあります。
- 9:52これが今束になっているのをちょっと紐を切ってばらしましたけれども、今使います。
- 10:14それで抵抗をつながなければいけないんですが、
- 10:21抵抗は3種類買いましたが、そのうちの1つの1kΩのもので、
- 10:51袋に入っていますが、100本入っているということなので、
- 10:55100本のうちの1本、間違えないように1kΩであることを確認して1本取り出しましたが、
- 11:05これをどうやってブレッドボードに刺すか、一応ラジオペンチを持ってきましたので、
- 11:17これで抵抗の左右に出ている電線をちょっと曲げまして、
- 11:461本をスイッチの足の1本に、もう1本を適当なところに刺しました。
- 11:56そのもう1本の足のところにジャンパー線というのを刺しまして、
- 12:06それをGPIOの17番に足しました。
- 12:14これを間違えるといけないんですが、
- 12:17なんせ基板に書いてあるピンの番号はむちゃくちゃ小さい1ミリぐらいの大きさなので、
- 12:24老眼には大変厳しいものがあります。
- 12:27これは蒸し眼鏡か何かを用意してみながらやらないと間違えそうですが、
- 12:33大丈夫でしょう。
- 12:41スイッチのもう1本の足はグラウンドに刺すということなので、
- 13:08これをグラウンドと書いてあるにとりあえず刺しました。
- 13:24これで一応接続はできたつもりです。
- 13:30スイッチと抵抗とそれからジャンパー線2本をつないだだけで、非常に単純な回路ですけれども、
- 13:41ステップ3これで終わりということで、次はプログラムですね。
- 13:58Raspberry Piの電源を入れてプログラムを書くということです。
- 14:04電源を入れるために先ほど抜いたUSB-Cの電源ケーブルを基板に出します。
- 14:24出しました。
- 14:31今、起動中です。
- 14:53今、TanaRadioの画面が出てきました。
- 15:04一旦ブラウザーを閉じまして、ターミナルを開きます。
- 15:17ブラウザー閉じなくてもよかったですね。
- 15:19ここにChatGPTの画面を出したほうがよかったですかね。
- 15:56ChatGPTはいちいちログインするのが大変なんですね。
- 16:07といってプログラムを全部手打ちするのはしんどいので、
- 16:22ChatGPTにログインしたほうがいいですかね。
- 17:042段階なので毎回どうですがしょうがないですね。
- 17:26出てきました。
- 17:44ChatGPTも最近は宣伝が多くなりましたね。
- 17:49宣伝的なものがよく出てきます。
- 18:00それで、ステップの4。
- 18:04ステップの4。
- 18:41やっと出てきました。
- 19:11では、ステップの4でプログラムをこれから入れていきますが、
- 19:23Raspberry Piのターミナルを開いたところまでやりました。
- 19:29それで、まずは作業用フォルダを作る。
- 20:07今、tanaradioというディレクトリをルート(正確にはユーザーのホームディレクトリ)に作りまして、そこに移動しました。
- 20:28ここにインストールをするんですね。
- 21:13python3-gpiozeroというプログラムなのかな。
- 22:03以下のパッケージが自動でインストールされましたが、もう必要とされていません。
- 22:09などと書いてありますが、ちょっとこれは放っておきましょう。
- 22:14次に、ちょっと手打ちはもう疲れるので、
- 22:25ChatGPTのやつをただ貼り付けることにします。
- 23:06今、button17_test.pyというファイルを先ほどのtanaradioというフォルダに入れて開いたところですね。
- 23:33ここにプログラムを入れるわけです。
- 23:39中身はこれですと書いてあるのを、またコピー&ペーストでこっちに持ってきます。
- 25:11保存すればよかった。
- 26:05こういう単純なことがわからないんだな。
- 26:11これからChatGPTに聞きます。
- 26:32ファイルをコピーするにはどうすれば。
- 26:59Ctrl-O、Enter、Ctrl-X、これでいいのかな。
- 27:46ファイルは閉じたのですが、確認できますか。
- 28:20catで中身を確認できました。
- 28:48保存はできているみたいですね。
- 28:55Ctrl-O,Enter,Ctrl-Xは覚えておかなきゃ。
- 29:07ここまで来たらどうすれば。
- 29:324を今やっているんですね。
- 29:341ボタンでテストするということで。
- 29:41それで実行だ。
- 29:48こうするにはさっきのファイルをpython3というのの後に入れれば。
- 30:20コピー&ペーストで貼り付けましたのでこれを実行してみましょう。
- 30:29そうしたらばGPIO17 button test is readyと出る。
- 30:39ここでボタンを押します。
- 30:46そうするとGPIO17 button pressedという表示が出る。
- 30:53出れば成功ということですが、今出ましたので成功です。
- 30:59もう一回押してみましょう。
- 31:01何度押しても出ますね。
- 31:04ではこれでテストは終わりということでCtrl-Cで終了。
- 31:10Ctrl-Cで終了。
- 31:20またターミナルが元の状態に戻りましたね。
- 31:29このスクリプトがしていることは何かというと、
- 31:34GPIO17をボタン入力として使う。
- 31:38ボタンを押されたら画面に文字を表示する。
- 31:42プログラムは終了せず待ち続ける。
- 31:49ということでCtrl-Cで強制的に終了したわけですね。
- 31:591ボタンはこれで成功したので、
- 32:02次はボタンを3つに増やす実験をしますが、
- 32:09だいぶ長くなりましたので、
- 32:12今日のところはこれで終わりたいと思います。
- 32:16それではまた。