Arduinoの信号をProcessingを使い、視覚化する!
A rduinoから出力される、距離センサーのシリアル信号を、Processing(プロセシング)を使い、視覚化させてみました。
Processing(プロセシング)は、簡単に描けるお絵かきソフトです。
お絵かきソフトと言っても、ペイントのような筆を使うのではなく、プログラム(計算式)で絵を描いています。
Arduino IDE と姉妹ソフトの関係で、インターフェイスが似ているなど、2つのソフトの相性は良いです。
今回Arduinoに、アナログ出力の距離センサーを取り付け、距離に反応して、絵を描く様にしました。
A
rduinoの回路図は、写真のように非常に簡単です。
距離センサーから出力される信号を、Arduinoのアナログポートへ入力しているだけです。
Arduinoのスケッチは、オライリーの「Processingをはじめよう 」のサンプルスケッチを使いました。
スケッチの内容は、距離センサーの信号を、シリアル出力しているだけですね。
P rocessing(プロセシング)のスケッチも、オライリーの「Processingをはじめよう 」のサンプルスケッチを使いました。
size(880, 400); と frameRate(50) ; を変えました。
後、色も変更していますね。
グラフィックの才能はないので、そのまま利用させて頂きました。
import processing.serial.*;
Serial port;
float val;
int x;
float easing = 0.05;
float easedVal;
void setup() {
size(880, 400);
frameRate(50);
String arduinoPort = Serial.list()[0];
port =new Serial(this, arduinoPort, 9600);
background(0);
}
void draw() {
if (port.available()>0) {
val=port.read();
val=map(val, 0, 255, 0, height/2);
}
float targetVal =val;
easedVal += (targetVal - easedVal)*easing;
stroke(0);
line(x, 0, x, height);
stroke(255);
line(x+1, 0, x+1, height);
line(x, 220, x, val);
line(x, 440, x, easedVal+220);
x++;
if (x>width) {
x=0;
}
}
A rduinoへスケッチを書き込み、Processing(プロセシング)を実行させたのが、下の動画です。
手を近づけたり遠ざけたりすると、距離が視覚化できました。
穴掘りゲームみたいな画面ですね。
ドローンにくくりつけ飛ばせば、映画のプロメテウスみたいに、地形を簡単に視覚化できそうです。
VIDEO
(2021年9月1日(水)作成)