質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

Q&A

解決済

2回答

6155閲覧

arduinoのプログラムをprocessingのプログラムにする場合の記述方法

owl

総合スコア42

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

0グッド

0クリップ

投稿2015/07/06 05:42

今arduinoでタッチセンサーを作っていて
http://kousaku-kousaku.blogspot.jp/2008/10/arduino.html
このサイトに掲載されているプログラムを使って動かそうと思っています。
しかしprocessing側で制御したいため、arduinoにはFirmataを書き込んでいます。
そのため下記のarduinoのプログラムをprocessingのプログラムに変更したいのですが、どの様に記述すればいいでしょうか。

よろしくお願いします。

void setup(){
//モニタリングのためシリアル通信開始
Serial.begin(9600);
//8番ピンをデジタル出力
pinMode(8,OUTPUT);
//9番ピンをデジタル入力
pinMode(9,INPUT);
}

void loop(){
//静電容量変化量の変数を用意
int a=0;
//8番ピンをHIGHで出力
digitalWrite(8, HIGH);
//指が触れたとき9番ピンがHIGHになるまでをカウント
while (digitalRead(9)!=HIGH){
//カウントする
a++;
}
delay(1);
//8番ピンをLOWにする
digitalWrite(8, LOW);
//モニタリング:値を出力
Serial.println(a);
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

まず、ProcessingにArduino(Frimata)のライブラリを追加しなければいけません
ライブラリを追加するには、Procesingを開いて、
上のツールバーのSketch -> Import Library -> Add Library ...
をクリックして、そこからArduino(Firmata)のライブラリを追加します。

追加した後に、下のコードをProcessingに書いて実行すれば動くはずです。

//===Code====//
import processing.serial.;
import processing cc.arduino.
;

Arduino arduino;

void setup(){
//arduinoとの接続
//うまく繋がらなかった場合は、下のArduino.list()[]の[]の中の数字を変えて見てください。

println(Arduino.list());
arduino = new Arduino(this, Arduino.list()[2], 57600);

//8番ピンをデジタル出力
arduino.pinMode(8, Arduino.OUTPUT);
//9番ピンをデジタル入力
arduino.pinMode(9, Arduino.INPUT);
}

void draw(){
//静電容量変化量の変数を用意
int a=0;
//8番ピンをHIGHで出力
arduino.digitalWrite(8, Arduino.HIGH);
//指が触れたとき9番ピンがHIGHになるまでをカウント
while (arduino.digitalRead(9)!=Arduino.HIGH){
//カウントする
a++;
}
delay(1);
//8番ピンをLOWにする
arduino.digitalWrite(8, Arduino.LOW);
//モニタリング:値を出力
println(a);
}

投稿2015/07/12 13:13

m0Rya

総合スコア37

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

owl

2015/08/14 21:11

ご連絡が遅くなって申し訳ないです。 無事に動きました。 ありがとうございます。
guest

0

興味があったので、代理で検索してみました。

Arduino Firmata processing
で、検索されると、事例がみつかりますが、
processing の最新版?では、非対応としている
サイトもある様子(↓1.51を使用としているサイト、未確認)。
ProcessingとArduinoを接続する
http://yoppa.org/tau_bmaw13/4772.html

投稿2015/07/06 06:41

daive

総合スコア2028

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問