ESP32でMicroPythonを使ってLチカする

ESP32でMicroPythonを使ってLチカする

今回は前回のPythonでESP32を動かす!MicroPythonの使い方・インストールに引き続き、Lチカをします。インストールなどはこちらの記事をご覧ください。

Lチカとは

Lチカとは、LEDを点滅させる(チカチカさせる)ことの略語で、電子工作界隈におけるHello Worldのようなものです。今回はMicroPythonでLEDを点滅させてみましょう!

動いている様子

ESP32に接続

  1. uPyCraftを起動
  2. Tools>Serialから、ESP32を接続したポートを選択
  3. >>>と下のシリアル画面に出てくれば成功

LチカプログラムをREPL(対話環境)で書き込み

基本的に、使用できる関数はESP32クイックリファレンス(公式)に記載されています。

今回はこの中のmachineモジュールを使って動かしていきましょう!

  1. 必要なモジュールをインポートする。今回は遅延を入れるtimeとピンを操作するPinモジュールを入れる
    import time
    from machine import Pin
    

  2. LEDを繋げたピン(私の場合はIO26に接続)のオブジェクトを以下のようにして生成する
    LED = Pin(26, Pin.OUT)
    

    LED等の名前は好きにして構いません。分かりやすいようにp26としてもいいと思います。

  3. LEDのピンオブジェクトのon()メソッドを呼びだす
    LED.on()
    

    こんな簡単にLEDが点灯できました。おさらいしておくと、

    from machine import Pin
    LED = Pin(ピン番号,Pin.OUT)
    LED.on() #LEDを点灯
    

    です。

  4. 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ファイルとして書き込まなければなりません。

  1. File>newから新しくファイルを開く
  2. 中央にエディタ画面が開くので、以下のプログラムを入力
    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)
    
  3. ctrl+Sで保存。名前はmainにします。
  4. DownloadAndRunボタンを押して書き込み

これで点滅が始まったはずです。
試しにuPyCraftを閉じて、ESP32ボードのリセットボタンを押してみましょう。
シリアルで繋がっていなくて、Lチカが始まるはずです!

このように、main.pyを書き込んで動かしていきます。

次回

次は、内部の温度などを取得していきます。
質問・要望等ありましたら下のフォームからお願いいたします。

このような工作の進捗をちょくちょく上げているので、twitterのフォローをお願いします!

参考にしたサイト

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です