注釈

こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。

参加する理由は?

  • エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。

  • 学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。

  • 独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。

  • 特別割引:最新製品の独占割引をお楽しみください。

  • 祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。

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

2.1 こんにちは、LED!

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

必要な部品

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

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

名前

このキットのアイテム

リンク

ESP32 Starter Kit

320+

ESP32 Starter Kit

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

コンポーネントの紹介

購入リンク

ESP32 WROOM 32E

購入

ESP32カメラ拡張ボード

購入

ブレッドボード

購入

ジャンパーワイヤ

購入

抵抗器

購入

LED

購入

利用可能なピン

このプロジェクトの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」モジュールを使用しました。これらのモジュールをさらに使いこなす方法はこちらで見つけることができます。