☆youtube始めました☆

RaspberryPiPicoでLチカしてみよう【MicroPythonもCircuitPythonも】

_
raspberryPiPicolchika-eyecatchPython
この記事は約8分で読めます。

技術系の内容を発信しているhobbyhappyです。

今回は通称:Lチカ

と呼ばれるLEDをチカチカさせる方法についてご紹介します。

標準的なMicroPythonに加えて、CircuitPythonでの方法もご紹介。

初めてRaspberryPiPicoを購入した場合、

標準でRaspberryPiPico上に乗っているLEDを光らせることによって、

しっかり動作するかの動作確認もできます。

さてやってみましょう。

自己紹介

東証一部上場企業でサラリーマンしてます。

主に工場(生産現場)で使用する検査装置のアプリケーション開発してます。

ヒトの作業を自動化して簡略化するアプリケーションを日々開発中。

Youtubeチャンネルにさまざまな動画を上げています

↓↓↓こちらからYoutubeチャンネルにアクセス!! ↓↓↓

用意するもの

まずはRaspberryPi Picoは用意してください。

RaspberryPiPicoとブレッドボード
RaspberryPiPico

こちらがないと今回の内容はできません。

もともとは秋月電子通商やSwitchScienceなどで取り扱われていましたが、

最近では少々値段が上乗せされているものの、Amazonでも購入可能です。

↓↓↓Amazonで購入↓↓↓

それから、多分あるとは思いますが、microB端子のUSBケーブルが必要です。

RaspberryPi Picoには付属されていませんので、

別途用意する必要があります。このケーブルを使ってPCと接続します。

↓↓↓microB端子のUSBケーブル↓↓↓

手順

手順を1から説明してきます。

今回の手順の流れは以下のようになっています。

  • BOOTSELボタンを押しながらPCと接続する。
  • .uf2ファイルを認識されたドライバに投げ込む。※分かれ道
  • Thonnyを使用してpythonでコードを書く。
  • RaspberryPiPicoに書き込む。

途中、.uf2ファイルを投げ込む行程で分かれ道が発生します。

試しにどちらもやってみると面白いかもしれません。

BOOTSELボタンを押しながらPCと接続する※共通

すでにCircuitPythonを入れている人は、ここでの

BOOTSELボタンは必要ありません。

初めてraspberryPi Picoを触る人はここからスタートです。

まず、BOOTSELボタンとは、

raspberryPiPicoの表面に実装されている物理スイッチです。

raspberryPipico-bootser
RaspberryPipicoのBOOTSELボタン

この白いボタンを押しながらPCにUSB接続します。

この時、USBセレクタなどを使用していると、

相性によってはUSBとして認識されませんので注意です。

わたしはそれで半日くらい悩みました。

その時の記事はこちら↓↓↓

このようにドライバとして認識されればいったんこの行程は終了です。

uf2ファイルをドライバに投げ込む(MicroPython)

それではRaspberryPiPicoで一般的に使われているMicroPythonを入れてみましょう。

MicroPythonを使えるようにするためには、専用の.uf2ファイルというものが必要です。

ではどこにあるかというと….

MicroPython - Python for microcontrollers
MicroPython is a lean and efficient implementation of the Python 3 programming language that includes a small subset of the Python standard libr...

こちらをダウンロードします。

その後、ダウンロードした.uf2ファイルをドライブにドラッグ&ドロップします。

ドライプへ.uf2ファイルをドラッグ&ドロップ

ドライブのウインドウが消えますが、

消えたら使えるようになっていますのでご安心ください。

デバイスマネージャーから、COMとして認識されていればOK

uf2ファイルをドライバに投げ込む(CircuitPython)

CircuitPythonを使いたい場合は、MicroPythonとは少々異なる.uf2ファイルが必要です。

こちらのサイトに飛んで、.uf2ファイルをダウンロードして下さい。

circuitpythonのuf2ファイル
CircuitPython - Pico Download
The Raspberry Pi foundation changed single-board computing when they released the Raspberry Pi computer, now they’re ready to do the same for microcontrollers w...

使えるようにする手順はMicroPythonと同じで、

.uf2ファイルをドライブにドラッグアンドドロップです。

※重要な注意点!

わたしの環境だけかもしれませんが、最新のCircuitPythonと、

最新のThonnyのVer.にすると、うまくThonnyで

RaspberryPiPicoを認識してくれませんでした。

なので.uf2ファイルのVer.を6.2.0に落として使用しています。

最新ではなく、ちょっと古い.uf2ファイルはここにある。BROUSE S3のほうが早くみつかる。

Lチカのコード(MicroPython)

LEDをMicroPythonで点灯させるソースコードは以下のようになります。

このコードをThonyで書いておいてください。

import machine #GPIOを使えるようにする。
import time #waitを入れられるようにする。

led=machine.Pin(25,machine.Pin.OUT) #25番ピンを出力モードに指定する。
# この下のWhile文は永遠に回る無限ループ
while True:
    led.value(1) #出力モードに指定したGPIO 25番の値を1(high)にすることで3.3Vが流れる。
    time.sleep(0.5) #wait 0.5Sec(mmSecではないので注意)。
    led.value(0) #0(Low)にすることで0VとなるのでLEDは消灯する。
    time.sleep(0.5)

Thonnyはpythonファイルを作成・編集できるエディタです。

こちらからダウンロードできます。↓

Thonny, Python IDE for beginners

Lチカのコード(CircuitPython)

LEDをMicroPythonで点灯させるソースコードは以下のようになります。

このコードをThonnyで書いておいてください。

import board #ピンの番号を指定するのに使う。
import digitalio #ピンをIOとして使用するためのもの。
import time #waitを入れるためのもの。

led=digitalio.DigitalInOut(board.GP25) #GP25番をデジタル入出力ピンだと定義する。
led.direction=digitalio.Direction.OUTPUT #GP25番を出力ピンと定義する。
#ここから下は無限ループ
while True:
    led.value=True #LEDのピンのvalueをTrueにすることで3.3Vが入って点灯する。
    time.sleep(0.3) #wait 0.3Sec
    led.value=False #LEDのピンのvalueをFalseにすることで0Vになって消灯する。
    time.sleep(0.3) #wait 0.3sec

microPythonがGPIOのピンの設定が1行で済むのに対して、

circuitPythonのほうは2行に分かれているのがわかりますね。

また、ピンに3.3Vが流れるようにする指定方法も若干ですが異なりますので注意が必要です。

RaspberryPyPicoに書き込む※共通

書いたコードを実際にRaspberryPiに書き込む方法ですが、

左上の右三角(再生ボタン)を押すと実行されます。

実行に失敗する場合は、COMポートの番号指定や、

インタープリターと呼ばれる実行モジュールが異なっている場合が多いです。

こちらのように、Thonnyのオプションから設定してください。

先ほどデバイスマネージャーで示したように、

わたしの場合はCOM6につながっているので、

COM6を選択しています。

thonnysetting
Interpreterの設定。これが違うと動かない。

microPythonの時だけ、このようにどこで実行するか確認されます。

どちらに保存されるか聞かれる。

RaspberryPiPicoを選んだら、

保存名を聞かれるので好きなファイル名(半角英数字が無難)にして保存しましょう。

Thonnyで書いたソースコードを保存する。

実はThonnyで実行するだけでLEDの点滅はできます。

が、もしこの書き込んだソースコードを、

ほかのPCにつないで即実行したい場合は一工夫が必要になります。

その工夫については別記事にしていますので、

もし必要だったらご覧くださいね。

MicroPythonとCircuitPythonで切り替えたくなったら…

なんとなく思ったと思いますが、

MicroPythonとCircuitPythonは共存ができません。

つまり、どちらかの.uf2ファイルを投げ込むと、

もう一方は使えません。

というわけで、RaspberryPiPicoの初期化についても少し紹介しておきます。

やることはいたってシンプルです。

こちらの公式サイトから初期化用の.uf2ファイルをダウンロード。

Raspberry Pi Documentation - Raspberry Pi Pico
The official documentation for Raspberry Pi computers and microcontrollers

※下のほうにResetting Flash memoryという項目があります。

その後、BOOTSELボタンを押しながらPCに接続して、

ダウンロードした初期化用の.uf2ファイルを投げ込んで完了です。

まとめ

今回は、MicroPythonもCircuitPythonもどちらのLチカも紹介しました。

同じRaspberryPiPicoを使用して異なる言語で遊べるのは面白いですね。

ちなみに、MicroPythonとCircuitPythonでどちらがいいとかは言えないのですが、

ライブラリの多さで考えるとCircuitPythonも使えたほうが良いような気がします。

そもそもそんなに難しい言語ではないので、どちらも使えるようにしたほうが良いと思います。

コメント

タイトルとURLをコピーしました