ブレッドボード

cf9f1296d6a3e1f1eb8fd5ad5f62f975.jpg (28.4 kB)

ESP32のピン配置

71o6Mwx3KYL._SL1001_ (1).jpg (145.1 kB)

LED(DR-YM-308B)

61lJPqW8YuL._SL1000_.jpg (50.6 kB)

Lチカ(LEDチカチカ)

REPLで実行する

MicroPythonを使用してREPL(Read-Eval-Print Loop)でLチカを行う

>>> from machine import Pin
>>> led = Pin(23, Pin.OUT)
>>> led.on()

ESP32にコードを保存し,実行する

import time
from machine import Pin

led = Pin(23, Pin.OUT)
while True:
  led(True)
  time.sleep(0.5)
  led(False)
  time.sleep(0.5)

解説

import time
from machine import Pin
・time モジュールをインポートして、時間の待機や制御に使用. ・machine モジュールから Pin クラスをインポートしている.Pin クラスは、マイクロコントローラーのデジタルピンを制御するために使用.

led = Pin(23, Pin.OUT)
デジタルピン23(GPIOピン23)を出力モード(Pin.OUT)で設定. ピン23がLEDの制御に使用されることを示している.

while True:
  led(True)
  time.sleep(0.5)
  led(False)
  time.sleep(0.5)
while True::繰り返し処理を実行.このループはプログラムが停止するまで続く. led(True):電流がピンに流れてLEDが点灯 time.sleep(0.5):LEDが点灯した状態で0.5秒間待機 led(False):電流がピンから遮断されてLEDが消灯 time.sleep(0.5):LEDが消灯した状態で0.5秒間待機

応用

import time
from machine import Pin

red = Pin(23, Pin.OUT)
green = Pin(22, Pin.OUT)
blue = Pin(1, Pin.OUT)
while True:
  red(1)
  green(0)
  blue(0)
  time.sleep(0.5)
  red(0)
  green(1)
  blue(0)
  time.sleep(0.5)
  red(0)
  green(0)
  blue(1)
  time.sleep(0.5)
photo.jpg (433.0 kB)

コード書き方ははたくさんある

led = Pin(23, Pin.OUT)

点灯 ⇔ 消灯
led.on() ⇔ led.off()
led(True) ⇔ led(False)
led(1) ⇔ led(0)