.. note:: こんにちは、FacebookのSunFounder Raspberry Pi & Arduino & ESP32愛好者コミュニティへようこそ!Raspberry Pi、Arduino、ESP32について、他の愛好者と一緒にさらに深く学びましょう。 **なぜ参加するべきか?** - **専門家によるサポート**: 購入後の問題や技術的な課題をコミュニティやチームからの支援で解決できます。 - **学び・共有**: ヒントやチュートリアルを交換して、スキルを向上させましょう。 - **限定プレビュー**: 新製品の発表や先行公開情報にいち早くアクセスできます。 - **特別割引**: 最新製品の特別割引を楽しめます。 - **祝祭プロモーションやプレゼント**: プレゼントキャンペーンやシーズンプロモーションに参加できます。 👉 私たちと一緒に探求し、創造してみませんか?[|link_sf_facebook|]をクリックして、今すぐ参加してください! .. _py_relay: 2.16 リレーを使って別の回路を制御する ====================================== このレッスンでは、 **リレー** を使用して、Raspberry Pi Pico 2を使い別の回路を制御する方法を学びます。リレーは低電圧回路(Picoなど)で操作できるスイッチのようなもので、高電圧回路を制御することができます。例えば、リレーを使ってランプやその他のデバイスをオンにすることで、家電の自動化が可能になります。 **必要なもの** このプロジェクトでは、以下の部品が必要です。 キットを購入するのが便利です。こちらのリンクからご覧いただけます: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - 名前 - キット内の部品 - リンク * - Newton Lab Kit - 450以上 - |link_newton_lab_kit| 以下のリンクから個別に購入することもできます。 .. list-table:: :widths: 5 20 5 20 :header-rows: 1 * - 番号 - 部品 - 数量 - リンク * - 1 - :ref:`cpn_pico_2` - 1 - |link_pico2_buy| * - 2 - Micro USBケーブル - 1 - * - 3 - :ref:`cpn_breadboard` - 1 - |link_breadboard_buy| * - 4 - :ref:`cpn_wire` - 複数 - |link_wires_buy| * - 5 - :ref:`cpn_transistor` - 1(S8050) - |link_transistor_buy| * - 6 - :ref:`cpn_diode` - 1 - * - 7 - :ref:`cpn_relay` - 1 - |link_relay_buy| **回路図** |sch_relay_1| * リレーの作動: * PicoがGP15に **高信号** (3.3V)を出力すると、トランジスタがリレーのコイルを励起します。 * トランジスタはリレーを通して電流を流し、内部のスイッチを作動させます。 * リレーはスイッチを切り替えるときに「クリック」という音を発し、負荷回路の制御を示します。 * フライバックダイオード: * ダイオードはリレーのコイルに並列に配置され、リレーがオフになるときに発生する電圧スパイクからトランジスタを保護します。 **配線図** |wiring_relay_1| **コード作成** 以下のコードは、リレーを制御し、接続された回路を2秒ごとにオン・オフします。 .. note:: * ``2.16_control_another_circuit.py`` を ``newton-lab-kit/micropython`` から開くか、コードをThonnyにコピーして、「実行」ボタンをクリックするか、F5キーを押して実行します。 * 正しいインタプリタが選択されていることを確認してください:MicroPython(Raspberry Pi Pico)。COMxx。 .. code-block:: python import machine import utime # GP15のリレーピンを初期化 relay = machine.Pin(15, machine.Pin.OUT) while True: relay.value(1) # リレーをオン utime.sleep(2) # 2秒待機 relay.value(0) # リレーをオフ utime.sleep(2) # 2秒待機 コードが実行されると、リレーから毎秒「クリック」という音が聞こえ、回路がオン・オフされていることが分かります。 **さらに実験してみる** * **タイマーを設定する**: コードを変更して、リレーを10分間オンにした後、自動的にオフにするようにします。 * **家電を制御する**: 適切なガイダンスを受けて、高電圧のデバイスをリレーに接続し、ライトやファンなどの家電のオン・オフを自動化することができます。 * 回路は以下のようになります: 外部の5V電源を(ブレッドボードの電源モジュールを通して)LEDに供給し、リレーで高電圧デバイスを制御する方法を示します。回路を変更する方法は以下の通りです: |sch_relay_2| |wiring_relay_2| * リレーを制御するコード: .. code-block:: python import machine import utime # GP15のリレーピンを初期化 relay = machine.Pin(15, machine.Pin.OUT) while True: relay.value(1) # リレーをオン utime.sleep(2) # 2秒待機 relay.value(0) # リレーをオフ utime.sleep(2) # 2秒待機 リレーが作動すると(GP15が高信号を出力)、リレーの通常開(NO)端子と共通(C)端子が接続され、外部の5V電源がLEDを通して流れます。これにより、LEDが点灯し、リレーが外部デバイスを制御する方法がシミュレートされます。 リレーが作動しないとき(GP15が低信号を出力)、通常開(NO)端子が共通(C)端子から切り離され、外部電源が遮断され、LEDが消灯します。 **実際の家電を制御する際の安全考慮** この例では、LEDと5V電源を使ってリレー制御を示しました。高電圧のデバイスを制御する場合は、以下の点に注意してください: * **適切な電圧定格**: 家電に必要な電圧と電流に対応するリレーを使用してください。 * **絶縁**: 低電圧回路(Picoなど)と高電圧家電回路との間に適切な絶縁を確保してください。 * **ヒューズ保護**: 短絡や過負荷から保護するためにヒューズや回路ブレーカーを追加することを検討してください。 * **専門的な指導**: 高電圧回路を扱う際は、常に専門家の指導を受けて安全な運用を確保してください。 このプロジェクトは、家電の制御やセンサーを使ったホームオートメーションの基盤として活用できます。 **NC端子の使用** * 制御回路をCOM端子とNC端子の間に接続した場合: * リレーが励起されていないときは回路が閉じた状態(ON)になります。 * リレーが励起されているときは回路が開いた状態(OFF)になります。 * 例: 外部デバイスの制御 * 警告: 高電圧デバイスを制御する場合は、知識と安全対策を必ず守ってください。 * 小型DCモーターなどのデバイスを制御したい場合: * LEDを制御したいデバイスに置き換えてください。 * デバイスの電圧と電流の要件が適合していることを確認してください。 * デバイス用の適切な電源を提供してください。 * デバイスをリレーのCOM端子とNO(またはNC)端子に直列で接続します。 **結論** リレーを使用して外部回路を制御することで、LEDや高電圧家電などのデバイスをオン・オフする方法を学びました。これにより、コードを使って制御可能なスマートデバイスを作成する扉が開かれ、ホームオートメーションやその他のプロジェクトに無限の可能性を提供します。