Raspi

2年目のラズパイ…13日目…ESP32でLチカ

2年目のラズパイ…13日目…ESP32でLチカ

ESP32ですが、micropythonが動くように環境整備が終りました。

手始めに基本のLチカです。

ブレッドボードのGNDとESP32のGNDを青線で接続し、ESP32の IO02とGND間に抵抗入りLEDを接続します。 これでIO02の出力を変化させると、LEDがON/OFFするはずです。

pythonコードはこちら。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import machine
import time

pin = machine.Pin(2, machine.Pin.OUT) 

for i in range(10):
    pin.value(0)
    time.sleep(0.1)
    pin.value(1)
    time.sleep(0.1)

しかし、LEDがうんともすんとも光りません。

pythonコードとIOピンの番号が違うのかとdatasheetを見直したり、WWWを調べたりといきなりつまずいてます。「故障探求は下位レイヤーから」が基本です。 わかってしまえばなんだなのですが、青線でESP32とブレッドボードのGNDラインを接続しているのですが、ブレッドボード側が接触悪く、皮膜を剥き直して指し直すと問題なくLEDは点滅しました。 動画はこんな感じです。

引き続き、PWMでもわっと光らせてみます。 コードは、こちら。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import time
import machine

pwm = machine.PWM(machine.Pin(2)) # この数字が出力Pin番号
pwm.freq(60)

while True:
    for i in range(1024):
        pwm.duty(i)
        time.sleep(0.001)
    for i in range(1023, -1, -1):
        pwm.duty(i)
        time.sleep(0.001)

こちらの動画はこんな感じです。ちょっと周期が早くてわかりづらいですが。

母艦PCとESP32間は、USBケーブルで接続します。ソフトは、TeraTermでチコチココマンドたたくのもいいのですが、uPyCraftというのを使うとESP32へのファイル転送やpythonコードの実行を簡単に行えます。

comments powered by Disqus