2.1 こんにちは、LED!

プログラム学習の最初の一歩として「Hello, world!」を出力するように、プログラムを使ってLEDを操作することは物理的プログラミング学習の伝統的な導入です。

必要な部品

このプロジェクトには、以下のコンポーネントが必要です。

全てのキットを購入すると便利ですが、こちらがリンクです:

名前

このキットのアイテム

リンク

ESP32 Starter Kit

320+

ESP32 Starter Kit

以下のリンクから別々に購入することもできます。

コンポーネントの紹介

購入リンク

ESP32 WROOM 32E

BUY

ESP32カメラ拡張ボード

-

ブレッドボード

BUY

ジャンパーワイヤ

BUY

抵抗器

BUY

LED

BUY

利用可能なピン

このプロジェクトのESP32ボードにある利用可能なピンのリストはこちらです。

利用可能なピン

IO13, IO12, IO14, IO27, IO26, IO25, IO33, IO32, IO15, IO2, IO0, IO4, IO5, IO18, IO19, IO21, IO22, IO23

回路図

../../_images/circuit_2.1_led.png

この回路はシンプルな原理で動作し、電流の方向は図に示されています。pin26がハイレベルを出力した後に220オームの電流制限抵抗を通過するとLEDが点灯します。pin26がローレベルを出力するとLEDが消えます。

配線図

../../_images/2.1_hello_led_bb.png

コードを実行する

  1. esp32-starter-kit-main\micropython\codes パスにある 2.1_hello_led.py ファイルを開くか、コードをThonnyにコピー&ペーストします。

    # Import the necessary libraries
    import machine
    import time
    
    # Set up the LED on pin 26 as an output pin
    led = machine.Pin(26, machine.Pin.OUT)
    
    # Start an infinite loop
    while True:
        # Turn on the LED by setting its value to 1 (HIGH)
        led.value(1)
        # Wait for 1 second (1000 milliseconds) while the LED is on
        time.sleep(1)
    
        # Turn off the LED by setting its value to 0 (LOW)
        led.value(0)
        # Wait for 0.5 seconds (500 milliseconds) while the LED is off
        time.sleep(0.5)
    
  2. Micro USBケーブルを使用してESP32 WROOM 32Eをコンピューターに接続します。

    ../../_images/plugin_esp32.png
  3. その後、右下隅にある「MicroPython (ESP32).COMXX」インタープリタをクリックします。

    ../../_images/sec_inter.png
  4. 最後に、「現在のスクリプトを実行」をクリックするか、F5キーを押して実行します。

    ../../_images/quick_guide2.png
  5. コードを実行した後、LEDが点滅するのが見えます。

どのように動作するのか?

  1. machinetime の2つのモジュールをインポートします。 machine モジュールはマイクロコントローラのハードウェアに低レベルでアクセスするためのものであり、 time モジュールは時間に関連する操作のための関数を提供します。

    import machine
    import time
    
  2. 次に、 machine.Pin() 関数を machine.Pin.OUT 引数とともに使用してpin26を出力ピンとして設定します。

    led = machine.Pin(26, machine.Pin.OUT)
    
  3. While True ループでは、 led.value(1) を使用してpin26の値を1に設定し、1秒間LEDを点灯させ、その後0に設定して(led.value(0))1秒間消灯し、無限ループでこれを繰り返します。

    while True:
        # Turn on the LED by setting its value to 1 (HIGH)
        led.value(1)
        # Wait for 1 second (1000 milliseconds) while the LED is on
        time.sleep(1)
    
        # Turn off the LED by setting its value to 0 (LOW)
        led.value(0)
        # Wait for 0.5 seconds (500 milliseconds) while the LED is off
        time.sleep(0.5)
    

もっと学ぶ

このプロジェクトでは、MicroPythonの「machine」と「time」モジュールを使用しました。これらのモジュールをさらに使いこなす方法はこちらで見つけることができます。