.. note:: こんにちは、FacebookのSunFounder Raspberry Pi & Arduino & ESP32愛好者コミュニティへようこそ!Raspberry Pi、Arduino、ESP32について、他の愛好者と一緒にさらに深く学んでいきましょう。 **参加する理由** - **専門家のサポート**: コミュニティやチームから、購入後の問題や技術的な課題を解決できます。 - **学びと共有**: ヒントやチュートリアルを交換し、スキルを向上させましょう。 - **独占プレビュー**: 新製品の発表や先行情報をいち早く入手できます。 - **特別割引**: 最新製品に対する独占割引をお楽しみいただけます。 - **祝祭プロモーションとギブアウェイ**: ギブアウェイや季節限定のプロモーションに参加できます。 👉 一緒に探求し、創造しませんか?今すぐ [|link_sf_facebook|] をクリックして参加しましょう! .. _py_led: 2.1 こんにちは、LED! ====================== Raspberry Pi Pico 2を使った最初のハードウェアプロジェクトへようこそ!このレッスンでは、MicroPythonを使ってLEDを点滅させる方法を学びます。このシンプルなプロジェクトは、物理コンピューティングの入門として、コードを使ってハードウェアを制御する方法を理解するのに最適です。 **必要なもの** このプロジェクトには、以下のコンポーネントが必要です。 セットを購入するのが便利です。リンクはこちら: .. 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 * - SN - コンポーネント - 数量 - リンク * - 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_resistor` - 1個(220Ω) - |link_resistor_buy| * - 6 - :ref:`cpn_led` - 1個 - |link_led_buy| **回路図** |sch_led| GPIOピンを高(High)または低(Low)に設定することで、そのピンの電圧出力を制御しています。ピンが高の場合、電流がLEDを通過し(抵抗器で制限されます)、LEDが点灯します。ピンが低の場合、電流が流れず、LEDが消灯します。 **配線図** |wiring_led| **コードの記述** .. note:: * ``2.1_hello_led.py`` ファイルを ``newton-lab-kit/micropython`` から開くか、以下のコードをThonnyにコピーして、「実行」ボタンを押すか、F5キーを押して実行してください。 * 正しいインタープリタが選択されていることを確認してください:MicroPython (Raspberry Pi Pico).COMxx。 .. code-block:: python import machine import utime led = machine.Pin(15, machine.Pin.OUT) while True: led.value(1) # LEDを点灯 utime.sleep(1) # 1秒待機 led.value(0) # LEDを消灯 utime.sleep(1) # 1秒待機 コードが実行されると、LEDは1秒間点灯し、次に1秒間消灯を繰り返します。 **コードの理解** #. ライブラリのインポート: * ``machine``: ハードウェアコンポーネントにアクセスするためのモジュール。 * ``utime``: 遅延などの時間関連の関数を使用するためのモジュール。 #. LEDピンの設定: * ``led = machine.Pin(15, machine.Pin.OUT)``: GP15ピンを出力ピンとして初期化し、変数 ``led`` に割り当てます。 #. 無限ループの作成: * ``while True``: コード内の処理を無限に繰り返し実行するループを開始します。 #. LEDの制御: * ``led.value(1)``: ピンの出力を高(3.3V)に設定し、LEDを点灯させます。 * ``utime.sleep(1)``: プログラムを1秒間停止させます。 * ``led.value(0)``: ピンの出力を低(0V)に設定し、LEDを消灯させます。 * ``utime.sleep(1)``: さらに1秒間プログラムを停止させます。 **さらに実験してみましょう** * **点滅速度を変更する**: ``utime.sleep(1)`` の値を変更して、LEDの点滅速度を速くしたり遅くしたりできます。 * **異なるピンを使用する**: LEDを別のGPIOピンに接続し、コードを適切に更新して試してみましょう。 * **複数のLEDを使用する**: 他のピンにLEDを追加し、コード内でそれらを制御してみましょう。 **トラブルシューティング** * LEDが点灯しない場合: * LEDの向きを確認してください。アノードとカソードが正しく接続されているか確認しましょう。 * すべての接続がしっかりしているか確認してください。 * 抵抗器がLEDと直列に接続されていることを確認してください。 * Thonnyでエラーメッセージが表示される場合: * 正しいインタープリタが選択されているか確認してください。 * コードにタイプミスがないか確認してください。 **結論** おめでとうございます!Raspberry Pi Pico 2とMicroPythonを使って、LEDが点滅する仕組みを成功裏に実現しました。この基礎的なプロジェクトは、コードを使ってハードウェアを制御する方法を学ぶための第一歩となります。これからもっと複雑なプロジェクトに挑戦するための準備が整いました。 **参考文献** * |link_mpython_machine_pin| * |link_mpython_machine| * |link_mpython_utime| * |link_python_while|