【Thonny】使い方からRaspberry Pi PicoでLチカするまで

プロモーションが含まれています。

スポンサーリンク
サムネイル Raspberry Pi

Windows OSを前提にして書いています。

スポンサーリンク

準備

Pythonの総合開発ソフト「Thonny(ソニー または トニー)」を使用します。開発ソフトは他にもありますが、Raspberry Piとの連携・接続も簡単にできるので初心者が使うのに最適です。

無料かつオープンソースのソフトウェアで、複数のプラグインがリリースされています。ThonnyはエストニアのプログラマーであるAivar Annamaa氏によって作られました。

インストール

Thonnyをインストールする前に、Pythonがインストールされているか確認して下さい。Pythonのインストール方法などについてはこちら確認して下さい。

Thonny Python IDE for beginners(公式サイト)にアクセスして下さい。

赤枠部分をクリックすると下のウィンドウが表示されるので、使用しているPCに合ったファイルをダウンロードして下さい。

ダウンロード画面

ダウンロードしたexeファイルをダブルクリックすると、右の様なウィンドウ画面が表示されます。言語を選んで「Let’s go!」をクリックしてダウンロードを進めて下さい。

Thonny以外のアプリ

Thonny以外の代表的なアプリとしては、Visual Studio Code(VS Code)が良いと思います。ここでは、サイトの紹介のみしていますが、VS Codeでは、Python以外だけでなく沢山のプログラムに対応しています。Thonnyと比べて、予測変換などが充実していて開発スピードなど圧倒的に優れています

公式サイト

アプリ起動、新規ファイル

新規ファイル

アプリケーションを起動して「ファイル」>「新規ファイル」をクリックして下さい。

使用するデバイスを選択

「実行」>「インタプリタ設定」をクリックする。

インタプリタ

表示されたウィンドウ画面の「インタプリタ」タブ(①)の「どのインタプリタを使用してコードを実行しますか?」の下にあるプルダウンメニュー(②)をクリックして、該当するデバイスを選択して下さい。設定したら「OK」をクリックして下さい。

スポンサーリンク

簡単な使い方

プログラムを書く前に、Thonnyについて簡単に説明します。使っていて気になったことについてまとめました。

画面説明

説明

①:ファイル名(無題)
プログラムを書くエリアです。

②:シェル
繋いでいるデバイスの状態やプログラムの結果、エラーが表示されます。

③:アシスタント
エラーやコードについての解説が表示されます。

④:接続関係
PCと接続しているデバイスを選択したり、オプションのインタプリタ画面を表示させたりできます。

上記以外の項目につても「表示」から選択することができます。

実行

普通に実行

実行ボタン

画像の赤〇で囲ったボタンをクリックするか、F5ボタンで「実行」します。書いたプログラムを実行します。完了するか、エラーを検出するまで処理します。

デバッグモード

デバッグモード

画像の赤〇で囲ったボタンをクリックするか、Ctrl+F5ボタンまたはShit+F5ボタンで「デバックモードで実行」します。書いたプログラムを指定の場所で停止させることができたりします。

赤〇で囲ったボタンは、「ツール」>「オプション」>「実行&デバッグ」「優先デバッガー」で選択したモードが実行されます。(デフォルトはnicer)

デバッグ nicer

プログラム初心者が向けにあります。デバック(nicer)を実行すると、一行目が黄色のハイライト表示になります。何も実行されていません。

実行 > 現在のスクリプトをデバッグ(nicer) または、 Ctrl+F5ボタンで実行します。

ステップオーバー (F6)
黄色のハイライトされたコードを実行して、次の行(処理箇所)を黄色のハイライトにします。

ステップイン (F7)
一番左にある行をクリックすると、赤い〇印が付きます。印をつけたところを黄色のハイライトにしてその直前までプログラムを処理します。行に赤い〇印を付けていないときは、数値などを表示しながらひとつづつ進んでいきます。

ステップアウト
黄色くハイライトされているコードと、それに続くすべてのプログラム部分を同じレベルで実行することができます。(複雑なプログラムの時に有効なのか、簡単なプログラムでは明確な動作が確認できませんでした。)行き過ぎた場合は、ステップバック (Ctrl+B)で戻ることも可能のようです。

デバッグ faster

nicerの一部機能を使えないようにすることで、高速処理できるようになっています。ステップバックが使えなくなっています。

ステップバックは選択できなくなっていましたが、簡単なプログラムでは違いが判りませんでした。複雑なプログラムでデバッグする時に変わりそうです。

フォントを変更する

デフォルト状態だと日本語フォントが読みにくいのでフォントを変更します。

「実行」>「インタプリタ設定」>「テーマ&フォント」タグをクリックして下さい。

フォント変更前

赤枠で囲った「エディタフォント」を変更すると、プログラムを書くウィンドウのフォントが変わります。コード(ローマ字)と日本語が見やすいフォントに変更して下さい。コード内に使われている標準フォントは「Consolas」です。「Consolas」で日本語を書いた状態も確認できると思います。

フォント変更後

今回は、「HGSゴシックE」にしてみました。このウィンドウは等幅フォントを選択すると良いです。(HGSゴシックは、等幅フォントではないようで、少しずれます。HG****というHGの後ろに何もつかないのが等幅フォントの様です。)

プログラムのコツ

一括インデント、一括デデント

pythonは、インデント(空白挿入/スペース)がプログラムに大きく影響します。

プログラムを追加もしくは削除すると、インデントを追加、インデントを削除(デデント)しなければならいことがあります。「Tabキー」や「スペースキー」(もしくは「Delキー」「BSキー」)を使って一行ずつ行うのはとても手間が掛かります。Thonnyは、それを一括で処理することができます。

ショートカットキー
マウス(ドラッグ)やカーソール(Shift+カーソル)を使ってインデントさせたい行を選択します。
選択した状態で「Tabキー」を押せば選択した行を一括でインデントします。
選択した状態で「Tab+Shiftキー」を押せば選択した行を一括でデデントできます。

コマンド
マウスやカーソールを使ってインデントさせたい行を選択します。
「編集」>「選択した行をインデントする」で選択した行を一括でインデントします。
「編集」>「選択した行をデデントする」で選択した行を一括でデデントできます。

コメントアウト

デバッグ・動作確認の時に便利なのが「コメントアウトしてみる」です。元のデータを消さずに「コメントアウト」して残したり、内容説明などを書き残すのに便利です。

Thonnyだと、コメントアウトしたいプログラムをカーソルでドラッグ・塗潰し(選択)して、「Ctrl+3」または、「編集」>「コメントの切替」をクリックすると、#でコメントアウトします。もう一度同じ操作をすると、コメントアウトをキャンセルできます。

プログラムでコメントアウト

手打ちでコメントアウトする場合について簡単に書いておきます。

#

”’ コメント ”’ または “”” コメント “””

#
#以降の文字をコメントアウトします。適用範囲は行です。Thonnyはこれを一括で添削します。

”’または“””
みっつ並べた「’(シングルクォーテーション)」または「”(ダブルクォーテーション)」で囲われた文字がコメントアウトになります。適用範囲は、先に書かれた「”’」から後に書かれた「”’」までコメントアウトします。後の「”’」が無いと最後まで全てがコメントアウトになるので注意して下さい。

外部ライブラリを使えるようにする

外部ライブラリは、指定の場所にインストールする必要があります。

インストール手順の例として今回は、標準時や常陽時などに情報を収録しているTime Zone Database(tz database、Olson database)をpythonで使えるようにする外部ライブラリ「pytz」をインストールします。

thonny-システムシェル

「ツール」>「システムシェルを開く」をクリックする。

システムシェル

コマンドプロンプトのような画面が表示されたら、Pythonは起動しない状態で「pip install pytz」を入力する。

pip install pytz

「Successfully installed ・・・」が表示されれば成功です。

インストール済みの場合「Requirement already satisfied・・・」と表示されます。インストール済みとなっているのに上手くいかない場合は、アプリやPCの再起動、それでも上手く行かなければ「pip uninstall pytz」を入力して外部ライブラリをアンインストール、再インストールしてみてください。

ポイント①

外部ライブラリの中で、Python Package Index(PyPI)にあるものは、pipコマンドを使うことで、サイトから直接ダウンロードすることができます。

ネット上にあるデータを直接ダウンロードするので、当然ネットワークに繋がっている必要があります。

ポイント②

コマンドプロンプト(若しくはThonny)で動作して、Thonny(若しくはコマンドプロンプト)では動作しない場合は、PythonとThonnyとで参照している場所が異なっている場合があります。

動作しない場合は、「pip list」でモジュールがインストールされているか確認してください。

Thonnyのシステムシェルを開いて
import sys
print(sys.executable )
と入力してアドレスを確認してください。

次に、コマンドプロンプトで、Pythonを起動させるディレクトリ(フォルダ)を指定して、
python -c “import sys; print(sys.executable)”
と入力ししてアドレスを確認してください。(Pythonは起動させずにコマンド入力)


スポンサーリンク

ラズパイ Pico WHに繋いてみる

Raspberry Pi Pico WHに繋いで、Lチカさせるまでやります。

(初めて繋ぐ、Lチカは他の記事でも書かれているので、既読の方もしらっしゃるかもしれませんが、構成ですのでご理解ください。)

用意するもの
  • Raspberry Pi Pico WH
  • micro USBケーブル(通信できるもの)
  • ブレッドボード

Python初級編を、ひととおり学んだことを前提に書いていますので、何が書かれているかさっぱりの方は、Python初級編を読んでみて下さい。

microUSBケーブルは、通信できるものを準備します。充電しかできないタイプのケーブルがかなり流通しているので、注意が必要があります。

はじめてRaspberry Pi Picoを繋ぐ

ファームウェアをインストールします。購入した状態で既にインストール済みの場合もあるようですが、一応書いておきます。後々のトラブルを避けたい人は、この手順を最初にすることをオススメします。今回は、Thonnyからのインストール方法を紹介します。

Thonnyを使ってインストール

Raspberry Pi Pico WHのBootボタンを押しながらUSBに繋ぐと、USBモード(USBメモリのストレージ)で接続できます。

MicroPythonインストール

Thonnyを立ち上げて、画面右下の文字をクリック、「MicroPythonをインストール」をクリックする。

「実行」>「インタプリタ設定」から表示された画面の右下にある青文字「Install or update MicroPython」をクリックしても同じ画面が開きます。

インストール中

「Target volume」から順番に選択できるプルダウンメニューを選択して「インストール」をクリックします。インストールが開始して左下に動作中のバーが表示されて「Setting」という文字から「Done」に変わったら「閉じる」をクリックして完了です。

スポンサーリンク

Lチカ

プログラム

手順は、【プログラムを書く】→【ラズパイ Pico】→【動作確認】で行います。

Thonnyの設定

「ファイル」>「新規ファイル」「ファイル」>「名前を付けて保存」>ファイル名「LED_flash」(ファイル名はなんでも良いです。)で保存する。

「インタープリタ設定」の「どの・・・コードを実行?」を「Raspberry Pi Pico」にする。

プログラムを書く

以下のプログラムを書きます。

import machine
import utime
led = machine.Pin("LED", machine.Pin.OUT)
while True:
    led.value(1)
    utime.sleep(5)
    led.value(0)
    utime.sleep(5)

プログラム解説

モジュール「machine」「utime」をimportします。

「machine」はMicro Pythonの独自のモジュールです。

machine
GPIOピンの制御、シリアル通信、I2C通信、SPI通信など、さまざまなハードウェア機能へのアクセスを可能にします。このモジュールを使って、LEDの点灯、センサーからのデータ読み取り、モーターの制御など、様々な物理的操作をプログラムから実行できます。

Micro Pythonの独自のモジュールです。

utime
Pythonのtimeモジュールの軽量版です。マイコンのようなリソースが限られた環境でPythonプログラムを実行するために設計されています。utimeモジュールもtimeモジュールと同様に、時刻の取得やプログラムの実行の一時停止などの機能がありますが、機能が限定されており、標準のtimeモジュールよりも少ないメモリを消費します。

Micro Pythonの独自のモジュールです。

LEDを出力設定に定義します。

while True(無限ループ)で、「LEDを点灯/処理を5秒間停止(点灯を5秒継続)」「LEDを消灯/処理を5秒間停止(消灯を5秒継続)」を繰り返します。

接続・書き込み

接続

Raspberry Pi Pico WHに書き込みます。USBケーブルを使って、Raspberry Pi Pico WHとPCを接続する。

接続

右下の文字が書いてあることころをクリックして、接続対象をRaspberry Pi Picoを選択する。

書き込み

書いたプログラムを、Raspberry Pi Pico WHにプログラムを書き込みます。

書き込み

「ファイル」>「名前を付けて保存」をクリックすると、「どこに保存しますか?」というウィンドウが表示されるので、Raspberry Pi Picoを選択します。(PC内に保存したい場合は、「このコンピュータ」をクリックする。)

ファイル名入力

Raspberry Pi Picoのプログラム用の内部ストレージが表示されます。ファイル名を「main.py」>「OK」をクリックします。

動作確認

実行/停止

実行

「実行」>「現在のスクリプトを実行」もしくは、赤枠のボタンをクリックする。

停止

「実行」>「バックエンドをストップ/リスタート」もしくは、緑枠のボタンをクリックする。

動画

コメント

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