手始めに基本のLチカです。
ブレッドボードのGNDとESP32のGNDを青線で接続し、ESP32の
IO02とGND間に抵抗入りLEDを接続します。
これでIO02の出力を変化させると、LEDが着いたり消えたりするはずです。
pythonコードはこちら。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |
pythonコードとIOピンの番号が違うのかとdatasheetを見直したり、WWWを調べたりといきなりつまずいてます。「故障探求は下位レイヤーから」が基本です。
わかってしまえばなんだなのですが、青線でESP32とブレッドボードのGNDラインを接続しているのですが、ブレッドボード側が接触悪く、皮膜を剥き直して指し直すと問題なくLEDは点滅しました。
動画はこんな感じです。
引き続き、PWMでもわっと光らせてみます。
コードは、こちら。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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コードの実行を簡単に行えます。
まずはLチカですね!
返信削除I2C接続(各種センサー、OLEDの表示)、SPIでキャノンのレンズ制御、WiFi(WebServer)などを試してみました。ESP32のEEPROMの一部をSPIFFSなファイルとして扱ったり、ファームウェアをWiFi経由で書き込む方法なども試してみました。ファイルの扱いが、Linuxなどと大きく違っていて自在に利用できるようになるまでは、まだ時間がかかりそう。
次はBME280センサーを接続して読み込みます。raspberryPiのlinuxとは全く違う環境なのでいろいろと止まりますが、やってると少しずつ進みます。
削除