注釈

こんにちは。 Facebook の SunFounder Raspberry Pi & Arduino & ESP32 愛好者 コミュニティ へ ようこそ! 仲間 の 愛好者 と 一緒 に Raspberry Pi、 Arduino、 ESP32 を さらに 深く 探求 しましょう。

なぜ 参加 する の です か?

  • 専門的 な サポート : コミュニティ と チーム の 支援 に より、 購入 後 の 問題 や 技術的 な 課題 を 解決 できます。

  • 学習 と 共有 : ヒント や チュートリアル を 共有 し、 スキル を 向上 させましょう。

  • 限定 プレビュー : 新製品 の 発表 や 先行 情報 に いち早く アクセス できます。

  • 特別 割引 : 最新 製品 を 対象 に した 限定 割引 を 利用 できます。

  • イベント プロモーション と プレゼント : プレゼント 企画 や 祝日 キャンペーン に 参加 できます。

👉 私たち と 一緒 に 探索 と 創作 を 始める 準備 は できました か? [here] を クリック して、 今すぐ 参加 しましょう!

GPIO 入力

はじめに

この プロジェクト では、 ボタン を 使用 して LED を 制御 する 方法 を 学びます。 ボタン は、 回路 や システム と 相互作用 する ため に さまざま な 電子 プロジェクト で 使用 される 基本 的 な 入力 デバイス です。


回路 図

Raspberry Pi の 入力 として、 通常 開( ノーマリー オープン ) の ボタン を 使用 します。 ボタン が 押される と、 GPIO17 は 高 レベル 信号( 3.3V ) を 受信 します。 Raspberry Pi は この 信号 を 検出 し、 LED を 点灯 させます。 回路 の 接続 は 以下 の 図 に 示されています:

../_images/2.1.1_sch.png

**配線図 **

次 の 手順 に 従って 回路 を 組み立てて ください:

  1. LED の アノード( 長い ピン ) を、 電流 制限 抵抗 を 介して GPIO ピン( GPIO22 ) に 接続 します。

  2. LED の カソード( 短い ピン ) を GND( グラウンド ) に 接続 します。

  3. ボタン の 一方 の 端子 を GPIO17 に、 もう 一方 の 端子 を GND( グラウンド ) に 接続 します。

../_images/2.1.1_bb.png

コード

以下 の Python コード は、 ボタン の 押下 と 解放 に 応じて LED を オン / オフ します:

#!/usr/bin/env python3
from fusion_hat.pin import Pin, Mode, Pull
from signal import pause  # Import pause function from signal module

# Initialize an LED object on GPIO pin 22
led = Pin(22,mode=Mode.OUT)
# Initialize a Button object on GPIO pin 17
button = Pin(17, mode=Mode.IN, pull=Pull.DOWN)

# # Link the button's "when_activated" event to the LED's high() method
button.when_activated = led.high

# # Link the button's "when_deactivated" event to the LED's low() method
button.when_deactivated = led.low

# Run an event loop that waits for button events and keeps the script running
print("CTRL + C to exit")
pause()

この Python スクリプト は、 ボタン で LED を 制御 する 対話 的 な セットアップ を 示します。 実行 すると:

  1. ボタン( GPIO ピン 17 に 接続 ) を 押す と、 LED( GPIO ピン 22 に 接続 ) が 点灯 します。

  2. ボタン を 離す と、 LED は 消灯 します。

  3. プログラム は 無期限 に 実行 され、 ボタン の 押下 および 解放 イベント を 監視 して LED を 制御 します。