.. note:: こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。 **参加する理由は?** - **エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。 - **学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。 - **独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。 - **特別割引**:最新製品の独占割引をお楽しみください。 - **祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。 👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう! .. _py_transistor: 2.15 トランジスタの2種類 ========================================== このキットには、S8550とS8050という2種類のトランジスタが付属しています。前者はPNPで、後者はNPNです。見た目は非常によく似ているため、ラベルをよく確認する必要があります。 NPNトランジスタにハイレベルの信号が通ると、それが励起されます。しかし、PNPトランジスタはローレベルの信号で制御されます。どちらのタイプのトランジスタも、この実験のように、非接触スイッチに頻繁に使用されます。 |img_NPN&PNP| トランジスタの使い方を理解するために、LEDとボタンを使ってみましょう! :ref:`cpn_transistor` **必要なコンポーネント** このプロジェクトでは、以下のコンポーネントが必要です。 .. list-table:: :widths: 20 20 20 :header-rows: 1 * - 名前 - このキットに含まれるアイテム - リンク * - Keplerキット - 450以上 - |link_kepler_kit| 以下のリンクから個別に購入することも可能です。 .. list-table:: :widths: 5 20 5 20 :header-rows: 1 * - S/N - コンポーネント - 数量 - リンク * - 1 - :ref:`cpn_pico_w` - 1 - |link_picow_buy| * - 2 - マイクロUSBケーブル - 1 - * - 3 - :ref:`cpn_breadboard` - 1 - |link_breadboard_buy| * - 4 - :ref:`cpn_wire` - 数本 - |link_wires_buy| * - 5 - :ref:`cpn_resistor` - 3(220Ω, 1KΩ, 10KΩ) - |link_resistor_buy| * - 6 - :ref:`cpn_led` - 1 - |link_led_buy| * - 7 - :ref:`cpn_button` - 1 - |link_button_buy| * - 8 - :ref:`cpn_transistor` - 1(S8050/S8550) - |link_transistor_buy| **NPN(S8050)トランジスタの接続方法** |sch_s8050| この回路では、ボタンが押されると、GP14はハイになります。 プログラミングによってGP15をハイ出力に設定すると、1kの電流制限抵抗を介して(トランジスタを保護するために)、S8050(NPNトランジスタ)は導通が許可され、それによってLEDが点灯します。 |wiring_s8050| **PNP(S8550)トランジスタの接続方法** |sch_s8550| この回路では、GP14はデフォルトで低く、ボタンが押されると高くなります。 GP15を **低出力** にプログラムすると、1kの電流制限抵抗(トランジスタを保護するため)の後、S8550(PNPトランジスタ)が導通することが許可され、それによってLEDが点灯します。 この回路と前の回路との唯一の違いは、前の回路ではLEDのカソードが **S8050(NPNトランジスタ)** の **コレクタ** に接続されているのに対し、この回路では **S8550(PNPトランジスタ)** の **エミッタ** に接続されている点です。 |wiring_s8550| **コード** .. note:: * ``kepler-kit-main/micropython`` のパス下の ``2.15_transistor.py`` ファイルを開くか、このコードをThonnyにコピーしてから、「Run Current Script」をクリックするか、単にF5キーを押して実行します。 * 画面の右下隅にある「MicroPython(Raspberry Pi Pico)」のインタープリタをクリックすることを忘れずに。 * 詳細なチュートリアルは、 :ref:`open_run_code_py` を参照してください。 .. code-block:: python import machine button = machine.Pin(14, machine.Pin.IN) signal = machine.Pin(15, machine.Pin.OUT) while True: button_status = button.value() if button_status== 1: signal.value(1) elif button_status == 0: signal.value(0) 同じコードで2種類のトランジスタを制御できます。ボタンを押すと、Pico Wはトランジスタにハイレベルの信号を送り、それを解放するとローレベルの信号を送ります。 この2つの回路で真逆の現象が起きていることがわかります。 * S8050(NPNトランジスタ)を使用した回路は、ボタンが押されると点灯します。これはハイレベルの導通回路であるという意味です。 * S8550(PNPトランジスタ)を使用した回路は、解放されると点灯します。これはローレベルの導通回路であるという意味です。