5.1 ボタンの値の読み取り¶
この対話型プロジェクトでは、ボタン制御とLED操作の領域に挑戦します。
コンセプトはシンプルですが効果的です。ボタンの状態を読み取ります。ボタンが押されると、高電圧レベル、つまり「ハイ状態」として登録されます。このアクションによってLEDが点灯します。
必要な部品
このプロジェクトには、以下のコンポーネントが必要です。
キット全体を購入することは非常に便利です。こちらがリンクです:
名前 |
このキットのアイテム |
リンク |
---|---|---|
ESP32 Starter Kit |
320+ |
以下のリンクから個別に購入することもできます。
コンポーネントの紹介 |
購入リンク |
---|---|
- |
|
利用可能なピン
利用可能なピン
このプロジェクトのESP32ボードに利用可能なピンのリストです。
For Input
IO14, IO25, I35, I34, I39, I36, IO18, IO19, IO21, IO22, IO23
For Output
IO13, IO12, IO14, IO27, IO26, IO25, IO33, IO32, IO15, IO2, IO0, IO4, IO5, IO18, IO19, IO21, IO22, IO23
条件付き使用ピン(入力)
以下のピンには内蔵のプルアップまたはプルダウン抵抗があり、 入力ピンとして使用する場合 に外部抵抗器は必要ありません:
条件付き使用ピン
説明
IO13, IO15, IO2, IO4
47Kの抵抗器でプルアップし、デフォルトで値をハイにします。
IO27, IO26, IO33
4.7Kの抵抗器でプルアップし、デフォルトで値をハイにします。
IO32
1Kの抵抗器でプルダウンし、デフォルトで値をローにします。
ストラッピングピン(入力)
ストラッピングピンは、デバイスの起動時に特定のブートモードを決定するために使用される特別なセットのピンです (つまり、電源オンリセット)。
ストラッピングピン
IO5, IO0, IO2, IO12, IO15
一般的に、 入力ピンとして使用することは推奨されません。これらのピンを使用したい場合は、ブートプロセスへの潜在的な影響を考慮してください。詳細については、ストラッピングピン セクションを参照してください。
回路図
適切な機能を確保するために、ボタンピンの片側を3.3Vに、もう片側をIO14に接続します。ボタンが押されるとIO14がハイに設定され、LEDが点灯します。ボタンが放されるとIO14は中断状態に戻り、これはハイでもローでもありえます。ボタンが押されていないときに安定したローレベルを保証するために、IO14は10Kのプルダウン抵抗器を介してGNDに接続されるべきです。
配線図
注釈
4ピンボタンはH形状で設計されています。ボタンが押されていないとき、左右のピンは切断され、電流はそれらの間を流れません。しかし、ボタンが押されると、左右のピンが接続され、電流が流れる経路が作成されます。
コード
注釈
esp32-starter-kit-main\micropython\codes
パスにある5.1_read_button_value.py
ファイルを開くか、コードをThonnyにコピー&ペーストしてください。次に、「現在のスクリプトを実行」をクリックするか、F5キーを押して実行します。右下のコーナーで「MicroPython (ESP32).COMxx」インタープリタを選択してください。
import machine
import time
button = machine.Pin(14, machine.Pin.IN) # Button pin
led = machine.Pin(26, machine.Pin.OUT) # LED pin
while True:
# If the button is pressed by reading its value
if button.value() == 1:
# Turn on the LED by setting its value to 1
led.value(1)
# time.sleep(0.5)
else:
# Turn off the LED
led.value(0)
スクリプト実行中は、ボタンを押すとLEDが点灯し、放すと消えます。