●LEDを点滅
次はLEDの点灯です。「machine」というモジュール(ライブラリ)のなかの「Pin」というオブジェクトを使います。これでPicoのGPIOピンにアクセスすることができます。25番ピンをledという名前で出力に設定します。値を「1」に設定するとLEDが光ります。2、3行目はPythonのプログラムというよりは、「machine」の中で書かれているPicoを動かすための仕様です。プログラミング初心者の方はここで悩まないようにしてください。
リスト2-1
from machine import Pin
led = Pin(25, Pin.OUT)
led.value(1)
各行ごとにEnterキーを押してください。LEDが点灯することを確認します。
文法的に間違えるとエラーを表示してくれます。上矢印キーで直前の入力行が再度出てきますので修正します。
Led.value(0)
とするとLEDは消灯します。
長いプログラムはファイルにしてまとめます。Thonnyの上部のエリアにプログラムを書いていきます。LEDを点滅させるプログラムです。
再生ボタンをクリックするとプログラムの保存場所を聞いてきますので「Raspberry Pi Pico」を選択します。続いて「blink.py」という名前で保存してください。再生ボタンをクリックするたびにLEDが点滅することを確認してください。
Python(MicroPython)はインタプリタ言語といって実行時にプログラムを1行ずつ解読していきますので、プログラムをマイコンにそのまま保存します。Arduinoのようにプログラムを実行形式にコンパイルする作業はありません。
続いてLEDを自動で点滅させてみます。前回のPinに加えてTimerもインポートします。def以下の2行はblinkという名前の関数でLED出力を切り替えます。led.toggle()の行は字下げ(インデント)することで関数の中身となります。ここまでが事前の設定です。timer.initで1秒ごとにblinkを呼ぶ(blinkが実行される)ように設定しています。
なお本書では、電子書籍においてインデントが乱れてきちんと表示されない場合の対策としてインデントが必要な個所の文頭にドットを書いています。プログラムを打ち込む場合はここをタブキーやスペースキーで字下げしてください。
リスト blink.py
from machine import Pin, Timer
led = Pin(25, Pin.OUT)
timer = Timer()
def blink(timer):
led.toggle()
timer.init(freq = 1, mode = Timer.PERIODIC, callback = blink)
コメント