手のひらに載るほど小さなコンピューター「Raspberry Pi(ラズベリーパイ)」は、無料の開発環境を使ってプログラムを作成したり、自作の電子回路を制御したりと、思い描いたアイデアを実現できます。
最新版の「ラズベリーパイ3」を使い、導入方法から誰でもできるプログラミング、センサーを使った電子工作まで、楽しみ方を紹介していきます。
手のひらに載るほどに小さく、基板上の部品がむき出しになっているコンピューター「Raspberry Pi(ラズベリーパイ)」。見た目は電子部品のようで取っ付きにくく感じますが、世界中で700万台以上も売れた人気のコンピューターです。本体は小さいですが、普通のパソコン並みの機能を備えているだけでなく、電子回路をつないで直接制御できるというパソコンにはない特徴を備えています。
ラズベリーパイは、子どもでも自由にコンピューターを触れられるように開発されたため、安価なのが特徴です。最新版のRaspberry Pi 3(以下ラズベリーパイ3)でも6000円前後で購入できます。小さくて安価ですが、普通のパソコンと同じようにWebブラウザーでWebサイトを閲覧したり、メールを書いたりできます。無料のオフィスソフトも使えるので、文書やワークシートの作成といったWindowsパソコンと同じことができます。
HDMI対応のテレビに接続できるため、リビングのテレビにつないで家族みんなで使うといったこともできます。
リビングのテレビにつないで家族みんなで使える。テレビの前にある緑色の小さなボードがラズベリーパイ
ラズベリーパイは教育向けコンピューターとして開発されたため、子どもでも自由にプログラムを作れるように工夫されています。特にプログラム開発ソフトの「Scratch(以下スクラッチ)」は、小学生でも簡単にプログラムを作成できます(下図)。ブロック状になった各命令をつなぎ合わせていくだけでプログラムが出来上がります。そのため、小中学生などの子どもはもちろん、プログラムを作成したことのない大人がプログラミングの原理を学ぶのにも適しています。
グラフィカルな環境でプログラムを作れる「Scratch(スクラッチ)」
ラズベリーパイの大きな特徴が、電子工作に応用できることです。ラズベリーパイの基板上には、GPIO(ジーピーアイオー)と呼ばれる40本の入出力端子があります。ここにLEDやモーター、スイッチ、センサーなどの電子部品や回路を接続し、ラズベリーパイからプログラムで自由に制御できます。例えば、LEDの点灯・消灯をプログラムで制御したり、温度センサーの計測値を取り込んだりできます。
回路や工作を工夫することで、インテリア用の虹色に光るランプや暑くなったら自動で回る扇風機なども作れます。電子回路をうまく組み合わせると、ロボットを自由に動かすことさえ可能です。電子工作とプログラムで、さまざまなアイデアを実現できるのがラズベリーパイの魅力です。
ラズベリーパイには外部の電子回路を制御できる信号ピンがある。写真は温度センサーとLEDと組み合わせて、室温が高くなるとLEDを点灯して警告する回路
PWM(Pulse Width Modulation)回路とは、周期は一定で、入力信号(DCレベル)の大きさに応じて、パルス幅のデュ-ティ・サイクル(パルス幅のHとLの比)を変え、モーターを制御する回路である。従来の制御にたいして、これは飽和(スイッチング)領域での制御となります。
従って、パワー・トランジスタを飽和領域で使用する為、電力ロスが軽減され、トランジスタもそれ程発熱しません。
更に必要な時間だけ通電しますので、モータ・ドライブ回路全体の効率があがり、電圧の負担も軽くなります。
パルス制御法はモータのオンオフ制御をパルスによって行う方法である。これによりオフタイムでの電池の消耗が全くなくなる。またオンタイムでも制御トランジスタが完全に飽和しているので、ここでの電力ロスも最小限に抑えられ、トランジスタの電力ロスが著しく軽減される。
しかし、パルス駆動によるモータの振動音、ブラシ、コシュテータの著しい磨耗、それに電気ノイズの発生等のいろいろな問題を抱えている。下の図はパルス制御法の原理図である。
I2C(Inter-Integrated Circuit)は、フィリップス社が提唱した周辺デバイス
とのシリアル通信の方式で、主にEEPROMメモリICなどとの高速通信を実現
する方式です。
《参照》フィリップス社のI2Cの英文の仕様書は下記からダウンロード
できます
★フィリップス社I2Cホームページ
この当初の目的から推定されるように、I2Cは同じ基板内などのように近距離
で直結したデバイスと、100kbpsまたは400kbpsの速度でシリアル通信を行うよう
に使われるのが主で、離れた装置間の通信には向いていません。
I2Cは、マスタ側とスレーブ側を明確に分け、マスタ側が全ての制御の主導権
を持っています。
I2Cはパーティーライン構成が可能となっており、1つのマスタで複数のスレーブ
デバイスと通信することが可能です。
まずI2C通信のしくみは下図の構成を基本としています。
図のように1台のマスタと1台または
複数のスレーブとの間を、SCLとSDAと
いう2本の線でパーティーライン状に
接続します。
マスタが常に権限を持っており、マスタ
が送信するクロック信号SCLを基準に
して、データ信号がSDAライン上で転送
されます。
通信方式は、個々のスレーブがアドレスを持っていて、データの中に
アドレスが含まれていることと、1バイト転送毎に受信側から
ACK信号の返送をして、互いに確認を取りながらデータ転送を行っていることです。
SSPをI2Cモードで使う時の通信手順の基本は、SCLとSDAの2本の信号線
ですべてのデータの送受信を行います。
SCLピン、SDAピンともに複数のスレーブを接続しますので、I2Cモードを選択
すると両ピンともオープンドレイン構成となります。
またスレーブ側は両ピンとも常時は入力モードにしてハイインピーダンス状態
にし、アドレスで指定された出力するデバイスだけ出力モードにする必要があ
ります。
(1) まずマスタ側が、Start Conditionを出力し続いてアドレスとRead/Write要求を
出力します。
(2) 全スレーブがこの時のSCLのクロックを元にSDAのデータを受信し、SSPADD
レジスタにセットされたアドレスと一致したデバイスだけが、その後の送受信を
継続します。
(3) 受信した側がデータを受信完了すると自動的にACKビットを返送し、同時に
SSP割込みを発生します。
(4) これをマスタがStop Conditionを出力するまで続けます。
このようにI2C通信もブロック転送ができますので、大量のデータを一気に転送
する時に便利に使うことが出来ます
ラズベリーパイには複数のモデルがあります。主力モデルは、2016年2月に発売された「Raspberry Pi 3 Model B」(以下ラズベリーパイ3)です。1.2GHzで動作するクアッドコアCPUを採用し、前モデルとなる「Raspberry Pi 2 Model B」に比べて5割ほど高速化されています。オフィスソフトなど処理が重くなりがちなアプリケーションソフトでも、ラズベリーパイ3であればストレスなく使えるようになりました。
ラズベリーパイ3の最も大きな特徴が、Wi-Fi(無線LAN)とBluetooth機能が搭載されていることです。有線でネットワークやキーボードなどを接続する必要がないため、配線による制限がなくなります。パソコンとして使いやすくなっただけでなく、ロボットのような単体で動く工作に組み込む場合、モバイルバッテリーで電源を供給すれば完全なワイヤレスで運用できます。
このほかにも、旧モデルやひと回りサイズが小さな「Raspberry Pi Model A+」、基板サイズが6.5×3センチと非常に小さい「Raspberry Pi Zero(ラズベリーパイ ゼロ)」なども販売されています。ただし、ラズベリーパイ ゼロは国内に販売代理店がないため、海外サイトから購入する必要があります。
モデル名 | Pi 3 Model B | Pi 2 Model B | Pi Model A+ | Pi Zero |
CPU |
クアッドコア (1.2GHz) |
クアッドコア (900MHz) |
シングルコア (700MHz) |
シングルコア (1GHz) |
メモリー | 1GB | 1GB | 512MB | 512MB |
有線LAN | 10M/100Mbps | 10M/100Mbps | なし | なし |
Wi-Fi | IEEE802.11 b/g/n | なし | なし | なし |
USB端子 | 4個 | 4個 | 1個 |
1個 (Micro-USB) |
Bluetooth | Bluetooth 4.0 | なし | なし | なし |
ディスプレイ端子 | HDMI | HDMI | HDMI | Mini HDMI |
GPIO | 40ピン | 40ピン | 40ピン | 40ピン |
SDカードスロット | microSD | microSD | microSD | microSD |
実売価格 | 5000円位 | 4000円前後 | 3000円前後 | 5ユーロ |