いよいよフェーズ4。ボタンやつまみでTanaRadio Piを操作する第一歩を踏み出します。まずはボタン1つから。
4. ステップ1:Raspberry Piをシャットダウンする
配線前に、必ずシャットダウンします。
ターミナルで次を実行します。
sudo shutdown -h now
Raspberry Piの動作が止まったら、USB-C電源を抜きます。
ここで焦らないでください。
電源が入ったままGPIOを触るのは、初心者段階では避けた方がよいです。
5. ステップ2:ブレイクアウト基板を接続する
接続はこうです。
Raspberry Pi GPIO
↓
リボンケーブル
↓
ブレイクアウト基板
↓
ブレッドボード
注意点は、1番ピンの向きです。
ブレイクアウト基板には、たいてい次のような表示があります。
3V3
5V
GND
GPIO17
GPIO27
GPIO22
最初に確認するのはこの3つです。
GPIO17
GND
5Vの位置
5Vは使いません。
「どこが5Vか」を確認するのは、使うためではなく、避けるためです。
6. ステップ3:GPIO17の1ボタンだけ配線する
最初は1個だけです。
GPIO17 ─ 1kΩ抵抗 ─ ボタン ─ GND
ブレッドボード上では、次のような考え方です。
ブレイクアウト上のGPIO17
↓
ジャンパー線
↓
1kΩ抵抗
↓
ボタンの片側
↓
ボタンの反対側
↓
GND
タクトスイッチは、ブレッドボードの中央の溝をまたぐように挿します。
ここは大事です。向きを間違えると、押していないのに常時ONのようになることがあります。
7. ステップ4:Pythonで1ボタンをテストする
Raspberry Piの電源を入れます。
ターミナルを開いて、作業用フォルダを作ります。
mkdir -p ~/tanaradio
cd ~/tanaradio
必要なものを入れます。
sudo apt update
sudo apt install -y python3-gpiozero
1ボタンテスト用スクリプトを作ります。
nano ~/tanaradio/button17_test.py
中身はこれです。
from gpiozero import Button
from signal import pause
button = Button(17, pull_up=True, bounce_time=0.08)
def pressed():
print("GPIO17 button pressed")
button.when_pressed = pressed
print("GPIO17 button test is ready.")
pause()
保存して実行します。
python3 ~/tanaradio/button17_test.py
ボタンを押して、次のように表示されれば成功です。
GPIO17 button pressed
終了するときは、
Ctrl + C
です。
8. このスクリプトがしていること
この1ボタンテストは、こういう意味です。
GPIO17をボタン入力として使う
↓
ボタンが押されたら
↓
画面に文字を表示する
↓
プログラムは終了せず待ち続ける
重要なのはこの行です。
button = Button(17, pull_up=True, bounce_time=0.08)
これは、
GPIO17にボタンがつながっている
内部プルアップを使う
チャタリングを少し無視する
という意味です。
bounce_time は、物理ボタンの接点が細かく震えて1回の押下が複数回として読まれる現象を抑えるための指定です。gpiozero の Button には bounce_time などの引数が用意されています。
サマリー
TanaRadio Piプロジェクトのフェーズ4が開始され、Raspberry Piをスイッチで制御する実験が始まりました。まず、Raspberry Piをシャットダウンし、ブレイクアウト基板を接続。次に、1つのボタンと1kΩの抵抗をGPIO17に配線しました。その後、Raspberry Piを起動し、Pythonスクリプトを作成・実行。ボタンを押すと画面に「GPIO17 button pressed」と表示され、1ボタンのテストは成功裏に終了しました。
コメント
このエピソードのトピック
すべてのトピック →それぞれのトピックから、ほかの番組の会話も探せます。
似ているエピソード
タイトル・AI要約・文字起こしの話題をもとにおすすめしています。
-
366 日記 | 3ボタンの実験
TanaRadio
共通する話題: TanaRadio Pi · TanaRadio · Raspberry Pi
Raspberry Piで3ボタンの物理的な配線と接続を完了し、Pythonスクリプトを用いて各ボタンの動作を個別にテストすることに成功し...
-
387 日記 | 押しボタンを5つに増やす
TanaRadio
共通する話題: TanaRadio Pi · TanaRadio · Raspberry Pi
TanaRadio Pi製作シリーズでは、押しボタンのタクトスイッチを2つ追加し、合計5つにする作業が行われました。まず基板にスイッチ...
-
386 日記 | 押しボタンを3つに増やす
TanaRadio
共通する話題: TanaRadio Pi · TanaRadio · Raspberry Pi
TanaRadio Pi製作シリーズの今回は、基板にプレイリストの前後移動用タクトスイッチ2つと抵抗2つを追加する作業が行われました。...
-
376 日記 | 棚選択ボタンとLEDランプを追加
TanaRadio
共通する話題: TanaRadio Pi · TanaRadio · Raspberry Pi
TanaRadio Pi製作シリーズのフェーズ5Fでは、棚選びボタンとLED1の追加が行われました。まず、Raspberry Piの電源を切り、GPIO23...
-
374 日記 | 物理ボタンでプレイリスト再生を制御
TanaRadio
共通する話題: TanaRadio Pi · TanaRadio · Raspberry Pi
TanaRadio Pi製作シリーズのフェーズ5Dでは、既存の3つの物理ボタンでRSSプレイリストを操作することを目指しました。まず作業環...
-
テストプロジェクトを作る
ちえラジ Chat ポッドキャスト版
プログラミングにおけるテストプロジェクトを作ることって大事だよね という話をしました。 #プログラミング 作業中×ライブ配信...
-
#1日目:計画とやることを考える
#25日チャレンジ:#100日チャレンジをパクッて3月中にやりきる音声ログ
このポッドキャストでは、シャープ100日チャレンジを基にした新しい試みとして、シャープ25日チャレンジを行い、ChatGPTを活用し...
-
#12 初制御デバッグの体験記_part1
りびぃの「もの技ラジオ」
このエピソードでは、りびぃが制御デバッグの初体験を話しています。彼女は2024年から電気製量エンジニアとして新たに活動を開始...
-
#136 【プログラミング】コンピュータができることはこれだけです。
にゃおのリテラシーを考えるラジオ
コンピュータの正体を知っていますか? よくわからない。ブラックボックス。 っていう人は案外多いでしょう。 というわけで、そ...
-
phase:one 001|ラジオはじめます!
さのみきひとのラジオ ⌞ ラのみきジオ ⌝
共通する話題: ボタン
このエピソードでは、ラジオの初回放送が始まり、様々な企画やフリートークが紹介されます。途中で緊張感のあるエコーや不思議な...