Skip to content

Day 3|感覚:スイッチで意思を伝える

  • ボタン(タクトスイッチ) を配線する
  • Picoで「押されたかどうか」を読み取る(入力)
  • 押したら光る 仕組みを作る

スポンサーリンク(開発中はプレースホルダー)

NO IMAGE
Raspberry Pi Pico Hピンヘッダ付き
NO IMAGE
ブレッドボード標準サイズ
NO IMAGE
赤色LED5mm砲弾型
NO IMAGE
抵抗器 330Ω橙橙黒金
NO IMAGE
タクトスイッチ4本足
NO IMAGE
ジャンパーワイヤオス-オス
  • Day 2のセット(LED回路はそのまま使います)
  • タクトスイッチ ×1

ボタンを押している間だけ、LEDが光ります。 「あなたの指 → ボタン → Pico → LED」という情報のバトンタッチが行われます。

タクトスイッチは、ブレッドボードの溝をまたぐように配置します。

  1. スイッチを挿す。
  2. 片方の足(GP14側) → GP14
  3. もう片方の足(3.3V側) → 3V3(OUT)
    • ※Picoの36番ピンなどが3V3です。

Step 2: 内部プルダウンを設定する

Section titled “Step 2: 内部プルダウンを設定する”

ここで「魔法」を使います。 スイッチには「押してないとき、電気はどうなってるの?」という問題(不定)があります。 これを解決するために、プログラムで 「普段は0(GND)に引っ張っておく(プルダウン)」 設定をします。

import machine
import time
# LEDは使い回し(GP15)
led = machine.Pin(15, machine.Pin.OUT)
# ボタンは「入力」かつ「プルダウン」
button = machine.Pin(14, machine.Pin.IN, machine.Pin.PULL_DOWN)
while True:
if button.value() == 1: # もしボタンが押されたら
led.value(1) # 光れ
else: # そうでなければ
led.value(0) # 消えろ
time.sleep(0.1) # 少し休む(誤動作防止)

⚠️ ボタンを押してないのに光る / 反応しない

  • 原因1: スイッチの足の向き(90度間違っている)
    • → タクトスイッチは、足が出ている方向と、繋がっている方向が決まっています。90度回転させて挿し直してみてください。
  • 原因2: PULL_DOWNの書き忘れ
    • machine.Pin.PULL_DOWN がないと、空気中の電波などを拾って勝手に「1(押された)」と誤解することがあります(ゴースト入力)。
  • 入力 (Input): Picoの耳。外の状況を聞くこと。
  • 出力 (Output): Picoの口。外にアクションすること。
  • プルダウン: 「基本はNO(0)だよ」という初期設定。これがないと、Picoは「どっちかな〜?」と迷ってフラフラします。

「Picoに『触覚』を与えた!」

単純なON/OFFはできましたが、もっと複雑なことをしたくありませんか? 「1回押したら点きっぱなし」「2回押したら点滅」など。 そのためには「性格(条件分岐)」を詳しく学ぶ必要があります。