初心者でもわかる!Raspberry Pi PicoとmicroPythonを使ったHello, World!の表示方法
プログラムの学習を始めて、最初に書いてみるプログラムは「Hello, World!を表示するプログラム」というのは、昔からのならわしです。わたしも、学生時代に授業でプログラムを習ったときには、「なんでHello, World!なんだろう?」と疑問に思いながらも書いたのを覚えています。
また、「Hello, World!プログラム」は、プログラミング学習の第一歩です。新しいプログラミング言語や開発環境を学ぶ際の定番の演習です。これは、シンプルながらもそのシステムの基本的な動作を把握する上でとても役立ちます。
光都ICTクラブで使っているRaspberry Pi Pico(ラズPico)でも、Hello, World!プログラムを実行できます。
ここでは、ラズPicoで「Hello, World!」を表示するプログラムの書き方、表示方法をくわしく解説します。
Contents
ラズPicoでHello, World!する準備
ここで紹介する方法は、以下の環境を前提としています。
- microPythonでプログラムを書く
- 開発環境としてThonnyを使う
- Thonnyのシェルに「Hello, World!」を表示する
まず、ラズPicoにこれらの環境を準備してください。「ラズPicoをmicroPythonで開発する設定方法」「Thonnyのインストール方法とかんたんな使い方」は下の記事を参照してください。(ただいま執筆中です)
初心者にラズベリーパイPicoはmicroPythonで開発をすすめる、これだけの理由
光都ICTクラブでは、ラズベリーパイPicoでプログラミングをするときに、まずmicroPythonを覚えます。一番の理由は、本文にも書くように「かんたん」だからです。これは、…
プログラムを書いて「Hello, World!」を表示しよう
準備が整ったら、さっそくプログラムを書きましょう。
microPythonでのコーディング方法
microPythonによる「Hello, World!プログラム」は非常にかんたんです。以下のシンプルなコードを書くだけです。
print("Hello, world!")
このコードは、括弧内の文字列を出力するという命令を表しています。出力される場所は、シェルです。Thonnyの画面でいうと、下の図の赤で囲った部分がシェルです。
「print」は、専門的にいうと「標準出力」という機能です。標準出力とは、「プログラムが初期状態で出力(表示する)場所」という意味です。ほとんどのプログラムが、標準出力を画面(シェル)としています。プログラムを始めた段階では、「標準出力=画面(シェル)」と覚えておいてください。
また、表示したい文字列はシングルクォーテーション(' ')またはダブルクォーテーション(" ")で囲みます。print
は、括弧内の内容を出力する機能で、Pythonに標準的に搭載されている機能(関数)です。
コード実行と結果確認
Thonnyで、Hello, World!プログラムを動かすには、下の図の赤枠部分(エディターエリア)にプログラムを書きます。
プログラムを書き終わったら、ツールバーのメニューから「Run」を選択し、プログラムを実行します。下の図のように、緑三角ボタンが「Run」です。
ラズPicoが正しく接続されて、あなたが書いたプログラムが正しければ、結果は下の図のようにすぐにシェルに表示されます。
ラズPicoをmicroPythonで動かすときは、REPL(リプル : Read-Eval-Print Loop)という機能でも実行できます。REPLは、プログラムをエディタに書くのではなく、シェルの「>>>」の右に直接プログラムコードを書きます。
なお、原則としてエディターで書いたときの1行分を実行できます。1行分を入力してEnterを押すと、下の図のように、シェルにすぐに表示されます。
結果が予期したものと異なる場合は、接続やコードの打ち間違えなどがないか確認してください。よくある間違いとしては、以下があげられます。
- スペルミス(print→pritnなど)
- カッコ、クォーテーションの閉じ忘れ
- 全角で入力
- 不要なスペース・インデント
- ラズPicoの接続ミス
最後の接続について、Thonnyでは画面右下に「Raspberry Pi Pico」が表示されていることを確認してください。「COM○」は、あなたの環境で○部分の数字が違う可能性があります。それは、PCにUSBを接続した順に割り振られる番号なので、特に気にする必要はありません。
1回目で成功しなくても、考えられる原因を一つずつ解決していけば必ず「Hello, World!プログラム」は動きます。粘り強さはプログラムを習得する上で、もっとも大切なスキルです。あきらめずにHello, World!を成功させてください!
Hello,World!ができたら次のステップへ
最初に書いたように、「Hello, World!プログラム」はプログラム学習のはじめの第一歩です。「Hello,World!」の表示が成功したら、次のステップへ進んでください。
本章では、ステップアップのためのヒントを紹介します。
ラズPicoとmicroPythonを用いたほかのプロジェクト例
Hello, World!プログラムの次に最適なのは、ラズPicoとPCがあれば完成するプログラムです。Hello,World!プログラムに必要な材料道具のほかに必要なものはありません。すぐに取りかかれます。
- シンプルな温度センサー:ラズPicoに搭載された温度センサーを利用して、周囲の温度を測定し表示するプロジェクトです。
- LED制御(Lチカ):microPythonの基本的なコマンドを利用して、LEDの点滅や色の変更などを制御するプロジェクトです。
温度センサーもLEDも、ラズPicoにはじめから搭載されています。特に、ラズPicoのようなマイコンだとLチカプログラムが、Hello, World!プログラムと同じはじめの第一歩のプログラムにあたります。
単なるパソコン上で動くプログラムではなく、マイコンプログラムだと外部のデバイス(電子部品)を動かすのが目的です。外部デバイスを動かす基礎がLチカプログラムです。「らずぴこことはじめ」でもくわしく紹介しています。ぜひ取り組んでみてください。
ラズPicoでLチカ!microPythonプログラミングの第一歩
ラズベリーパイPico(Raspberry Pi Pico)で、はじめて書くであろうプログラムがLチカです。「Lチカ」と聞いて、すぐに理解できる人は初心者ではありません。わたしは、は…
Lチカプログラムの発展で、ラズPicoの外部に接続したLEDを点灯させることもできます。例えば、下の動画のような8×8 LED matrixで電光掲示板のように文字を流すプログラムを作れます。
上のLED matrixを動かすプログラムと配線は、わたしが作ったものです。わたしも最初はHello,World!プログラムからスタートしました。コツコツと小さなプログラム学習を積み重ねることで、複雑なものを作れるようになります。
より複雑なmicroPythonプログラミングに挑戦するための参考資料
「Hello, World!プログラム」をマスターしたあと、さらなる挑戦を求めるなら、以下の参考資料をおすすめします。
- Raspberry Pi Picoの公式ドキュメント: もっとも信頼性があり、詳細な情報が網羅されています。初級から上級までの内容が含まれており、あらゆるレベルのプログラマーに対応しています。
これらの資料は、Raspberry Pi PicoとmicroPythonでのプログラミングスキルを深めるのに役立ちます。
Web検索をすれば、ラズPicoについてさまざまな情報がヒットします。しかし、それらの情報は玉石混交で正しい情報もあれば、間違った情報もあります。そこで、かならず公式のドキュメントを合わせて確認してください。
Hello,World!プログラムのようなかんたんなプログラムなら、個人が発信する情報でも十分ですが、複雑になればなるほど信頼性が下がります。公式のドキュメントが難しすぎるからといって、出元の分からない情報を全面的に信用するのはNGです。
なにか疑問があったらまず公式ドキュメントを見ること、この姿勢がラズPicoプログラミングの飛躍的な上達につながります。
まとめ
ここまで、らずPicoとmicroPythonを使った「Hello, World!プログラム」について、詳細に解説してきました。
「Hello, World!プログラム」は、新しいプログラム言語を学ぶときのはじめの第一歩として適しているプロジェクトです。コードは1行で済むので、お手本を忠実に写せばかならず実行できます。
「Hello, World!プログラム」が成功したら、ラズPicoに実装してある温度センサーやLEDを動かすプログラムを書いてみてください。特に、LEDの点灯は「Lチカ」と呼ばれ、ラズPicoのようなマイコンの最初のプログラムとして最適です。
また、さらに複雑なプログラムに挑戦するには、公式ドキュメントを参考にしてください。公式ドキュメントを読み込むことで、ラズPicoを縦横無尽に使いこなす基礎力が身につきます。