NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Raspberry Pi 3 Model B(ProsessingでGPIO入力!)

イメージ 1
Raspberry Pi 3 Model B」×「Prosessing ver3.4」でGPIO入力!

 Arduinoと相性が良いProsessingを実質パソコンのRaspberry PiにインストールしてGPIO※1インターフェースから連携させてみましたさすがラズパイ簡単ですね!

1. Prosessingのインストール!

 RaspberryPiにProsessingをインストールする方法はとっても簡単です

1.1 インストール
 図1の「Now Available for Download: Processing」サイトに書かれている通り、表1コマンドを図2の様に「LXTerminal」にコピペして実行し暫く待てば完了です!
 
イメージ 3
図1:参考サイトNow Available for Download: Processing

表1:Prosessingインストールコマンド

イメージ 4
図2:LXTerminal

1.2 確認
 Prosessingインストール完了後にRaspberrypiを再起動し、図3の様にラズベリーアイコン「applications menu」→「プログラミング」→「Prosessing」と表示されていればOKです!
イメージ 10
図3:メニューに「Prosessing」が無事出現!

2. Prosessing日本語表示

 Prosessingでプログラムする場合 日本語で「//コメント」や「/*コメント*/」したい場合が有るのですが、初期設定のエディタとコンソールのフォント「Source Code Pro」では文字化けしてしまいます。
 日本語を正しく表示させるには、図4,5の様に「ファイル」→「設定」から設定画面を開き→「エディタとコンソールのフォント」のプルダウンメニュー「Source Code Pro」から「Unifont」に変更して「OK」をクリックすれば無事日本語が表示されます。
イメージ 5
図4:Prosessing

イメージ 6
図5:設定画面

3. ProsessingからRaspberrypi GPIO制御!

 ArduinoIDEに慣れている人は、RaspberryPiのOS「Raspbian」に標準で備わっているプログラム言語「python※1」より「Prosessing」の方がとっつきやすいのではないでしょうか
 pinMode()やdigitalRead()が、そのまま使えます!(^^)!

※1pythonとは、最近人気のオブジェクト指向スクリプト言語です。文法上の特徴から初心者にも扱い易く、またGoogle社・Yahoo社・Dropbox社等の大手企業でも使用されている言語です。特徴として、可読性に優れている・コンパイルを必要としない・対話型シェルにて動作確認が可能です。


3.1 プログラム
 「ファイル」→「サンプル」→「ライブラリ」→「Hardware I/O」の中に入っている以下「SimpleInput」のサンプルプログラムを読み込みます。
イメージ 7
import processing.io.*;
// GPIO numbers refer to different phyiscal pins on various boards
// On the Raspberry Pi GPIO 4 is physical pin 7 on the header
// see setup.png in the sketch folder for wiring details

void setup() {
  // INPUT_PULLUP enables the built-in pull-up resistor for this pin
  // left alone, the pin will read as HIGH
  // connected to ground (via e.g. a button or switch) it will read LOW
  GPIO.pinMode(4, GPIO.INPUT_PULLUP);
}

void draw() {
  if(GPIO.digitalRead(4) == GPIO.LOW) {
    // button is pressed
    fill(255);
  } else{
    // button is not pressed
    fill(204);
  }
  stroke(255);
  ellipse(width/2, height/2, width*0.75, height*0.75);
}
図6:GPIOサンプルプログラム

3.2 接続
 Raspberry Pi 3 Model B」を起動→「LXTerminal」を起動→「pi@raspberrypi:~$」と表示されている後に続けて「pinout」と入力後「Enter」を押せば図7ピンアウト図が表示されます。
 今回は「7ピン(GPIO4)※2」をソフトウェアプルアップした状態で、「9ピン(GND)」に接続する事で図8の様に抜き差ししてスイッチとして使います。

※2:GPIO(英:General-purpose input/output)とは、「汎用入出力」の意味でマイコン等が外界と接続するためのインタフェースの事。GPIOピンにはあらかじめ定義された目的はなく、デフォルトでは使用されない。その動作はユーザによって自由に制御出来る。

イメージ 2
 図7:「Raspberry Pi 3 ModelB」 Pinout

イメージ 8
図8:ブレッドボード上でON-OFFすると

3.3 スイッチに画面が連動!
 図6のProsessing画面で「▶」を押してサンプルプログラムを実行すると、図8スイッチの状態に応じて図9画面が点滅しました!
イメージ 9
図9:ラズパイ画面上の白丸がOFFで中抜き、ONで塗りつぶし

4. まとめ

 ArduinoIDE感覚でProsessingで作ったGUI(Graphical User Interface)をRaspberrypiで動かしながらGPIOピンを制御・・・!?
 pythonをすっ飛ばしてしまって若干心苦しいですが便利です!
 流石はほぼパソコンのRaspberrypiですね!Arduinoには不可能な芸当です!
 久しぶりにRaspberry Pi 3 Model Bを引っ張り出しましたが、既に時代はB+に進化してしまいましたまだまだ現役で遊べます!

イメージ 1イメージ 3
励みになりますのでよければクリック下さい(^o^)/



この商品は、Physical Computing Labが販売し、Amazon.co.jp が発送します。 この出品商品には代金引換とコンビニ・ATM・ネットバンキング・電子マネー払いが利用できます。 ギフトラッピングを利用できます。