Raspberry Pi+Python+ 電子工作でコンピュータと...
Transcript of Raspberry Pi+Python+ 電子工作でコンピュータと...
章第1Raspberry Pi+Python+
電子工作でコンピュータと仲良しになろう
2
超小型のコンピュータ基板であるRaspberry Pi(ラズベリーパイ)。このRaspberry Piに、プログラミング言語のPythonと電子工作を組み合わせると、どんなことができるでしょうか?コンピュータであるRaspberry Piとプログラミング言語であるPythonは、Raspberry Piの「Pi(パイ)」の由来がPython(パイソン)であることからわかるように、とても相性がよいのです!それでは電子工作はどうでしょうか?
それを解くカギが本書にあります。ぜひ最後まで読み進めて、より一層、コンピュータと仲良くなってください。
1.1 Raspberry PiとPythonと電子工作
本書では、世界中で使われているプログラミング言語「Python」と、Raspberry Piの大きな特徴で
ある「自由に使える端子」、GPIO拡張コネクタを使って電子回路を制御するプログラムについて解説
します。はじめに、パソコンでできることを考えてみましょう。
(1)コンピュータでできること読者のみなさんにとって身近なコンピュータといえば、パソコンだと思います。みなさんはこのパ
ソコンを、インターネットの閲覧やメール、ワープロ、ゲームなどに利用しているのではないでしょ
うか。もしかしたら、すでに何らかのプログラミング言語を使ってプログラムを自作している人もい
るかもしれません。ですが、WindowsやMacなどで作成したパソコン用のプログラムは、ほとんどの
場合、パソコン上のみで動作するもので、LEDやモーターを制御することはできません。
これに対して近年、小型のマイコンボードが注目を集めています。その中でも特に人気なのが
Arduino(アルドゥイーノ)です。パソコンに内蔵されているものとは違いますが、Arduinoの小さな基
板の上にもマイクロコンピュータが搭載されており、プログラムを実行できるようになっています。
パソコンに比べると処理能力が低いのでGUIプログラムなどを動かすことはできませんが、その代わ
り、LEDやスイッチ、センサーなどを制御する機能を内蔵しており、電子回路の制御に向いています。
実際、Arduinoのようなマイコンボードに搭載されているマイコンは、さまざまな電子機器に内蔵さ
れています。
このようにコンピュータは計算や情報の処理だけでなく、電気製品やロボットのような現実世界で
動くモノの制御にも使われています。コンピュータの応用範囲はとても広く、できることも数多くあ
ります。
1.1 Raspberry Pi と Python と電子工作
3
Raspberry Pi
RPython
R電子工作RRRRRRRとRRRRRRR
1(2)Raspberry Pi
2012年にイギリスで発売されたコンピュータボードRaspberry Piは、すぐに日本にも広まりまし
た。もともと、子供たちの教育用途を意識して開発されたRaspberry Piですが、通常のパソコンとし
て、サーバーとして、機器に組み込むCPUボードとしてなど、さまざまな用途に使えること、さらに、
2,500円から4,000円程度の手頃な価格とOSを選べる柔軟性のおかげで非常に高い人気を得てい
ます。
図1.1.1 4種類あるRaspberry Pi
Model A Model B Model A+ Model B+
Raspberry PiはOSをインストールしたSDカードもしくはmicroSDカードを使って起動し、パソ
コンとして動作します。インストールできるOSにはいくつかの種類がありますが、標準として推奨
されているRaspbian(ラズビアン)はLinuxをベースとしたOSです。
このRaspbianには、あらかじめプログラミング環境としてPythonがインストールされています。
もともとRaspberry Piは、Pythonでプログラミングを学習することを意識してつくられたものだか
らです。Pythonはコマンドライン上で動作するような小さなプログラムから、GUIインターフェイス
を持った本格的なプログラムまで記述することができる、優れたプログラミング言語です。
また、Raspberry Piには、ディスプレイやUSB機器を接続するコネクタのほかに、電子回路を直接
接続できるGPIO拡張コネクタが用意されており、これをPythonのプログラムから制御することが
できます。つまり、Raspberry Pi上でPythonのプログラムをつくると、GPIOコネクタを利用した電
子回路の制御から、GUIインターフェイスを利用した本格的なプログラミングまでこなすことができ
るわけです。もちろん、電子回路を制御するGUIプログラムをつくることもできます。
4
Windows、Macなどのパソコンでプログラムから直接電子回路を制御するには、専用の拡張ボー
ドなどを用意する必要がありました。一方Arduinoなどのマイコンボードでは、GUIプログラムのよ
うな規模の大きなプログラムを動かすことはできません。しかし、Raspberry Piであればこの両方の
プログラムを、さらには、両方を組み合わせたプログラムもつくることもできるのです。しかも、それ
らのプログラムはすべてPythonだけで実現できます [1]。このことから、これほどプログラミング学習
に向いているコンピュータは、ほかにはないともいえるでしょう。
1.2 Raspberry Piについて
Raspberry Piはパソコンとしても機能すると前節で述べましたが、購入した時点では基板のみで、
ケースもなく、むき出しの状態です。基板上にはさまざまな半導体、チップ部品のほか、モニターや
マウス、キーボードを接続するためのコネクタが実装されています。
(1)Raspberry Piの構成Raspberry Piには、現在「Model A」、「Model A+」、「Model B」、「Model B+」の4つのタイプがあり
ます(図1.1.1)。これらの違いは、次のとおりです。
表1.2.1 モデル別Raspberry Piの構成
Model A Model A+ Model B Model B+
メモリ容量 256 MB 256 MB 512 MB 512 MB
ネットワークコネクタ なし なし 1 1
USBコネクタ 1 1 2 4
GPIO拡張コネクタのピン数 26 40 26 40
SDカードコネクタ SD microSD SD microSD
アナログオーディオ・ ビデオ出力
コンポジットビデオ出力、 φ3.5mmステレオ ミニジャック
φ3.5mm4極 ミニジャック
コンポジットビデオ出力、 φ3.5mmステレオ ミニジャック
φ3.5mm4極 ミニジャック
Model B+はModel Bの改良版として2014年7月に発売されたモデルです。本書ではこのModel
B+を使用します。
Raspberry Pi(Model B+)の構成は図1.2.1、図1.2.2のようになっています。
[1] RaspberryPiでは、Pythonの他にも、スクラッチやC、Rubyなどのプログラミング言語でも、プログラムをつくったり動作させることができます。