「ものづくり:make」を楽しみながら学ぶ人へ向けた独習サポートサイト。

and more...

Lab.以外の情報を紹介しています。

Thonnyのシェルを使ったインタラクティブなコードの実行

Raspberry Pi Picoボード上のLEDを点灯する

2022-05-152022-05-15

Python IDE(統合開発環境)であるThonnyのシェルを使って、Raspberry Pi Picoのボード上にあるLEDを点灯する手順を紹介します。使用する言語はMicroPythonです。

ボード上のLEDを点灯するには

Raspberry Pi Picoには、ボード上に小さなLEDがあります。本記事では、Python IDE(統合開発環境)であるThonnyのシェルを使って、このLEDを点灯するコードを実行します。使用する言語はMicroPythonです。

下図は、公式によるRaspberry Pi Picoのピンアウト図です。この図によると、LEDはGP25に接続されていることがわかります。GP25とは、25番のGPIO(入出力ピン)という意味です。

Raspberry Pi Picoピンアウト図

Raspberry Pi Picoピンアウト図 Raspberry Pi Documentation - Raspberry Pi Pico

LEDを点灯するには、25番のGPIO(入出力ピン)を出力モードに設定して、ピンのデジタル論理レベルをHIGH(高電圧信号)にします。これにより、LEDに電気が流れ点灯します。

Raspberry Pi Pico

RP2040マイクロコントローラーチップをベースにした、低コストで高性能のマイクロコントローラーボードです。

シェルを使ってLEDを点灯する

Thonnyには、インタラクティブにMicroPythonのコードを実行できるシェルがあります。これは「REPL(Read-Eval-Print Loop)」と呼ばれるもので、シェルからコードを1行入力すると、即座にRaspberry Pi Pico側のインタプリタで実行され、その結果が返ってきます。

では、Thonnyのシェルを使って、コードをひとつずつ入力して実行しましょう。

Thonnyの起動

Thonnyを起動します。コードを入力するのは、下段のシェルエリアです。

図2-1.Thonnyの起動
図2-1.Thonnyの起動

Pinクラスの読み込み

最初のステップは、モジュール(またはクラス)の読み込みです。Raspberry Pi Picoのハードウェアに関連する固有の機能(関数やクラスなど)は「machineモジュール」によって提供されます。LEDの点灯に必要なGPIOの制御は、machineモジュールに含まれる「Pinクラス」によって行います。Pinクラスを読み込むには次のように記述します。

入力ミスがあると赤字でメッセージが表示されます。モジュール名やクラス名が間違っていないか見直しましょう。例えば「Pin」を「pin」と入力するとエラーになります。正しく入力できた場合は何も表示されず入力待ち(>>>)となります。

図2-2.Pinクラスの読み込み
図2-2.Pinクラスの読み込み

インスタンスの生成

次に、PinクラスからLEDの点灯に必要なピンのインスタンスを生成します。インスタンスとは実体という意味で、ここでは「25番のGPIO(入出力ピン)を出力モードに設定したもの」になります。インスタンス名は「led」とします。

図2-3.インスタンスの生成
図2-3.インスタンスの生成

LEDの点灯

生成したインスタンス「led」を操作することでLEDを点灯します。LEDの点灯に必要な操作は「ピンのデジタル論理レベルをHIGH(高電圧信号)にすること」です。これは生成したインスタンス「led」のメソッド「value」によって行います。valueの引数に「1」を指定することでHIGHとなります。メソッドとは操作や処理といった意味です。

図2-4.LEDの点灯
図2-4.LEDの点灯

いかがでしょうか。ボード上のLEDが点灯していれば成功です。valueの引数を「0」にすれば、ピンのデジタル論理レベルがLOW(低電圧信号)となり、LEDが消灯します。

図2-5.LEDの消灯
図2-5.LEDの消灯

本記事では、Thonnyのシェルを使って、MicroPythonのコードをひとつずつ実行しました。これらのコードを複数まとめて記述したものをスクリプトといい、ファイルに保存することができます。「スクリプトをファイルに保存・実行する」をご覧ください。

おすすめ

Raspberry Pi Pico

RP2040マイクロコントローラーチップをベースにした、低コストで高性能のマイクロコントローラーボードです。

確かな力が身につくPython「超」入門 第2版

著 者
鎌田 正浩
出版社
‎SBクリエイティブ
発売日
2022/03/08

ワンランク上を目指す人のためのPython実践活用ガイド

著 者
鈴木 たかのり 他
出版社
‎技術評論社
発売日
2022/03/04

Pythonプログラミングパーフェクトマスター[Python3/Anaconda/PyQt5対応第3版]

著 者
金城 俊哉
出版社
‎秀和システム
発売日
2020/12/19

Pythonプログラミング逆引き大全 400の極意

著 者
金城 俊哉
出版社
‎秀和システム
発売日
2021/1/16

スッキリわかるPython入門

著 者
国本 大悟 他
出版社
‎インプレス
発売日
2019/6/13
この記事を読んだ人は、こんな記事にも興味があります。
スポンサーリンク
TOPへ移動
目次へ移動