ESP32でMicroPythonを使ってLチカする
今回は前回のPythonでESP32を動かす!MicroPythonの使い方・インストールに引き続き、Lチカをします。インストールなどはこちらの記事をご覧ください。
Lチカとは
Lチカとは、LEDを点滅させる(チカチカさせる)ことの略語で、電子工作界隈におけるHello Worldのようなものです。今回はMicroPythonでLEDを点滅させてみましょう!
動いている様子
ESP32に接続
- uPyCraftを起動
- Tools>Serialから、ESP32を接続したポートを選択
>>>
と下のシリアル画面に出てくれば成功
LチカプログラムをREPL(対話環境)で書き込み
基本的に、使用できる関数はESP32クイックリファレンス(公式)に記載されています。
今回はこの中のmachineモジュールを使って動かしていきましょう!
- 必要なモジュールをインポートする。今回は遅延を入れる
time
とピンを操作するPin
モジュールを入れる
import time
from machine import Pin
- LEDを繋げたピン(私の場合はIO26に接続)のオブジェクトを以下のようにして生成する
LED = Pin(26, Pin.OUT)
LED等の名前は好きにして構いません。分かりやすいようにp26としてもいいと思います。
- LEDのピンオブジェクトのon()メソッドを呼びだす
LED.on()
こんな簡単にLEDが点灯できました。おさらいしておくと、
from machine import Pin
LED = Pin(ピン番号,Pin.OUT)
LED.on()
です。
- while 文を使ってLチカにする
while True:
LED.on()
time.sleep_ms(500)
LED.off()
time.sleep_ms(500)
連続して入力した場合は下図のようになります。while文を入れた次から自動でインデントが付くため、抜けるときにはBackSpaceキーを押してEnterしましょう。
以上が、最も簡単なLチカのやり方でした!Pythonになじみのある方には非常に簡単に感じられると思います。
ファイルの書き込み
このままではREPLで動かしているため、PCから接続を切るとLチカが止まってしまいます。電源を入れるだけで実行するには、Pythonファイルとして書き込まなければなりません。
- File>newから新しくファイルを開く
- 中央にエディタ画面が開くので、以下のプログラムを入力
import time
from machine import Pin
LED = Pin(26,Pin.OUT)
while True:
LED.on()
time.sleep_ms(500)
LED.off()
time.sleep_ms(500)
- ctrl+Sで保存。名前は
main
にします。
- DownloadAndRunボタンを押して書き込み
これで点滅が始まったはずです。
試しにuPyCraftを閉じて、ESP32ボードのリセットボタンを押してみましょう。
シリアルで繋がっていなくて、Lチカが始まるはずです!
このように、main.pyを書き込んで動かしていきます。
次回
次は、内部の温度などを取得していきます。
質問・要望等ありましたら下のフォームからお願いいたします。
このような工作の進捗をちょくちょく上げているので、twitterのフォローをお願いします!
参考にしたサイト
目次
ESP32でMicroPythonを使ってLチカする
今回は前回のPythonでESP32を動かす!MicroPythonの使い方・インストールに引き続き、Lチカをします。インストールなどはこちらの記事をご覧ください。
Lチカとは
Lチカとは、LEDを点滅させる(チカチカさせる)ことの略語で、電子工作界隈におけるHello Worldのようなものです。今回はMicroPythonでLEDを点滅させてみましょう!
動いている様子
ESP32に接続
>>>
と下のシリアル画面に出てくれば成功LチカプログラムをREPL(対話環境)で書き込み
基本的に、使用できる関数はESP32クイックリファレンス(公式)に記載されています。
今回はこの中のmachineモジュールを使って動かしていきましょう!
time
とピンを操作するPin
モジュールを入れるLED等の名前は好きにして構いません。分かりやすいようにp26としてもいいと思います。
こんな簡単にLEDが点灯できました。おさらいしておくと、
from machine import Pin LED = Pin(ピン番号,Pin.OUT) LED.on() #LEDを点灯
です。
while True: LED.on() time.sleep_ms(500) LED.off() time.sleep_ms(500)
連続して入力した場合は下図のようになります。while文を入れた次から自動でインデントが付くため、抜けるときにはBackSpaceキーを押してEnterしましょう。
以上が、最も簡単なLチカのやり方でした!Pythonになじみのある方には非常に簡単に感じられると思います。
ファイルの書き込み
このままではREPLで動かしているため、PCから接続を切るとLチカが止まってしまいます。電源を入れるだけで実行するには、Pythonファイルとして書き込まなければなりません。
import time from machine import Pin LED = Pin(26,Pin.OUT) while True: LED.on() time.sleep_ms(500) LED.off() time.sleep_ms(500)
main
にします。これで点滅が始まったはずです。
試しにuPyCraftを閉じて、ESP32ボードのリセットボタンを押してみましょう。
シリアルで繋がっていなくて、Lチカが始まるはずです!
このように、main.pyを書き込んで動かしていきます。
次回
次は、内部の温度などを取得していきます。
質問・要望等ありましたら下のフォームからお願いいたします。
このような工作の進捗をちょくちょく上げているので、twitterのフォローをお願いします!
参考にしたサイト