【PR】この記事には広告が含まれています。

プログラミング初心者でもラズベリーパイを買って大丈夫かな?
電子工作をしてみたいけど、プログラミングがよく分からない
Pythonってどんなプログラミング言語なんだろう
プログラミング経験のない初心者はどこから手を付けていいか分からないと思います。僕もそうでした。
ラズベリーパイはプログラミング言語「Python」の学習に最適です。ラズベリーパイの「パイ」はPythonのパイであり、Pythonを学ぶために作られたコンピューターだからです。
この記事では、ラズベリーパイでプログラムを作って実行するまでの手順を解説します。この記事を読めば、初心者でもプログラミングに挑戦したいと思うはずです。
この記事の結論
LEDの点滅など、電子部品を制御するためのプログラミングの難易度はそれほど高くはありません。初心者でもじっくり取り組んでいけば、必ず理解できるはずです。
Pythonは人気のプログラミング言語
プログラミング言語とはコンピュータに指令を出すための言語です。Pythonをはじめ、CやRuby、javaなど100種類以上の言語が存在します。
PythonはAI(人工知能)で使われるような複雑な処理を短いプログラムで実装できるという特徴があります。AIがブームの昨今において、Pythonは人気の高いプログラミング言語です。

チェックポイント
Pythonはシンプルで分かりやすいプログラムを作れるため、初心者が最初に学ぶ言語に適しています。
GPIOをプログラムでコントロールする
ラズベリーパイにはGPIOピンという40本のピンが付いています。プログラムでこれらのピンに電気を流したり、ピンに入力された信号を読み取ったりできます。
下の写真はRaspberry Pi 4のGPIOピンです。それぞれのピンに役割が割り振られており、電源用や信号の入出力用として使い分けられます。LEDやスイッチといった電子パーツを接続して、自分のプログラムで動かすことができます。

ラズベリーパイでPyhtonプログラムを書いてみよう
ラズベリーパイでPyhtonプログラミングをするときはThonnyというソフトを使うのが便利です。
早速Thonnyを開いていきましょう。まずはデスクトップ左上のスタートメニューをクリックして「プログラミング」から「Thonny Python IDE」を選択します。

すると以下のような画面が開きます。

Thonnyの基本的な使い方は以下の通りです。
- プログラムを記述する
- プログラムを保存する
- 「Run」アイコンをクリックして実行する
- 画面下のShell内に実行結果が表示される

Thonnyはシンプルなエディターなので、使い方にすぐ慣れると思います。
早速プログラムを書いてみましょう。
print('hello world')このプログラムを実行すると「 hello world 」を表示できます。表示するって何?と思うかもですが、試しにやってみましょう。
Pythonで文字列を扱うときには'(シングルコーテーション)で前後を囲うというルールがあります。これを忘れるとエラーが出ます。
Pyhtonプログラムの保存
プログラムを実行する前に保存する必要があります。

ファイル名は好きな名前を付けることができますが、拡張子は.pyにします。

これでPythonファイルの保存ができました。
それでは実行してみましょう。「Run」アイコンをクリックして実行します。

すると、画面下のShell内に実行結果が表示されます。これがPythonプログラミングの基礎の基礎です。
Pythonのエラー
先ほどhello worldをシングルコーテーションで囲うという話をしましたが、これを外すとどうなるのでしょうか?

実行結果は以下のようになります。

画面下のShell内に赤い文字でメッセージが出現します。これがエラー表示です。エラー表示の見方を解説します。

エラーが出ると英文ばかりで、心が折れそうになることもありますが大丈夫です。基本的には下の部分にエラーの種類が出ています。ここを見て、エラーの原因を探して修正します。
どんなにベテランでもエラーは必ず出るものです。大事なのはエラー対応に「慣れる」ことです。焦らずひとつひとつ学習していきましょう。
変数について
プログラミングには変数という概念があり、電子工作プログラムでも使うことがあります。
先ほど作った「hello world」を表示させるプログラムで変数を使ってみましょう。
説明するよりも実際に使った方が理解しやすいです。下記のプログラムをコピーして実行してください。
aisatsu = 'hello world'
print(aisatsu)プログラムを実行する先ほどと同じく「 hello world 」が表示されます。
1行目で「hello world」という文字列が「aisatsu」という変数に代入されているのです。このaisatsuという名前は自由に変えることができます。
なぜ変数を使うのでしょうか?
理由はいくつかありますが、例えば以下のプログラムがあったとします。
print('hello world')
print('hello world')
print('hello world')
print('hello world')
print('hello world')
print('hello world')
print('hello world')
print('hello world')
print('hello world')
print('hello world')
print('hello world')
print('hello world')
print('hello world')
print('hello world')後から「hello world」をやめて「hello japan」に変えたくなったとき、全ての行をjapanに変えるのは大変ですよね。そこで役立つのが変数です。
aisatsu = 'herro world'
print(aisatsu)
print(aisatsu)
print(aisatsu)
print(aisatsu)
print(aisatsu)
print(aisatsu)
print(aisatsu)
print(aisatsu)
print(aisatsu)
print(aisatsu)
print(aisatsu)
print(aisatsu)
print(aisatsu)
print(aisatsu)変数を使ったプログラムなら1行目の「hello world」の部分を「 hello japan 」に変えるだけで、全ての文字列を「 hello japan 」に変えることができます。
繰り返し処理
電子工作では繰り返し処理をよく使います。例えばLEDを点滅させるプログラムでは「LEDの点灯」と「LEDの消灯」の処理を繰り返し行っています。
先ほどの「hello world」の表示を「繰り返し処理」にしてみましょう。
aisatsu = 'hello world'
while True:
print(aisatsu)このコードを保存して実行してみてください。
「hello world」が高速で連続して表示されるはずです。処理を止めるにはコントロールキーとCのキーを同時に押します。
while True: を記述すると、その後の処理を繰り返します。
繰り返す処理の部分はスペースを半角4つ分空けます。これを守らないとエラーが出るので注意が必要です。

Pythonはインデント(空白)のルールが厳格です。
このままでは処理が早すぎるため、sleepを使って処理を一時停止してみましょう。
import time
aisatsu = 'herro world'
while True:
print(aisatsu)
time.sleep(1.0)
プログラムを実行すると、「hello world」が1秒おきに表示されます。
1行目のimport timeでこれから「timeモジュールを使いますよ」という宣言をします。モジュールとは簡単に呼び出して使える機能だと思ってください。最終行の「time.sleep」の部分でtimeモジュールを使っています。
最終行のsleep()で停止時間を指定しています。この場合1.0秒待機してから処理を繰り返します。数値を0.5や3など、自由に変えてみてください。「hello world」が表示されるスピードが変わるはずです。

これが繰り返し処理の基本です。
それでは、ラズベリーパイでLEDを点滅させるプログラムを見ていきましょう。

このプログラムは、ラズベリーパイのGPIO18番ピンに接続されたLEDを、1秒ごとに点滅させるものです。
最初に、gpiozeroというライブラリからLEDを制御するための機能を読み込みます。

gpiozeroはGPIOピンを簡単に操作できるようにするためのライブラリです。
led = LED(18) の部分では、GPIOの18番ピンにLEDがつながっていることをプログラムに教えています。これで、このledという変数を使って、LEDを点けたり消したりできるようになります。
その下にある while True: は、「ずっと繰り返す」という意味です。led.on() でLEDを点灯し、time.sleep(1.0) で1秒待ちます。次に led.off() でLEDを消灯し、また1秒待ちます。この流れを繰り返すことで、LEDが1秒ごとに点いたり消えたりをくり返す動きになります。
プログラムを止めたいときは、キーボードで Ctrl+C を押すと停止できます。
部品の接続方法など、ラズベリーパイでLEDを点滅させる方法について以下の記事で詳しく解説しています。
≫【初心者でもできる】ラズベリーパイでLEDチカチカ!電子工作の始め方
まとめ 最初はコピペでOK
プログラミングは独自の概念があるため、理解するのが難しい部分が多々あります。焦らず、粘り強くが鉄則です。
文法を暗記する必要はありません。コピペしたプログラムを実行するという経験を通じて、プログラミングに慣れること大切です。トライアンドエラーを繰り返すことで、少しずつ経験値がたまっていきます。
最初は思い通りに動かなくても、それが当たり前です。小さな成功体験を積み重ねながら、自分のペースで楽しんで学んでいきましょう。
コメント一覧
C/C++でなれている民にPythonはきつい。
頑張って覚えないと、、、
久しぶりに古いラズパイを起動。
Lチカの点滅に成功しました。
Pythonで数式・物理現象の可視化、シミュレーションをするのが夢です。

50代のおっさんです
よろしくお願いいたします
なんとなく導かれました
ブログをご覧いただきありがとうございます。
こちらこそよろしくお願いします。