処理IDEデータをarduinoに送信したいと思います。しかし、リードは機能していません。それは一度うまくいきました。しかし、今は働いていない:(それは処理によって発見されたとして、シリアルポート名は、arduinoの中にまったく同じですIDEデータがarduinoに適切に送信されていません
処理コード:
import processing.serial.*;
Serial myPort; // Create object from Serial class
void setup()
{
size(200,200); //make our canvas 200 x 200 pixels big
String portName = Serial.list()[0]; //change the 0 to a 1 or 2 etc. to match your port
myPort = new Serial(this, portName, 9600);
}
//send a 1
void draw() {
if (mousePressed == true)
{ //if we clicked in the window
myPort.write('1'); //send a 1
println("1");
} else
{ //otherwise
myPort.write('0'); //send a 0
}
}
Arduinoのコード:
char val='0'; // Data received from the serial port
int ledPin = 13; // Set the pin to digital I/O 13
void setup() {
pinMode(ledPin, OUTPUT); // Set pin as OUTPUT
Serial.begin(9600); // Start serial communication at 9600 bps
}
void loop() {
//digitalWrite(ledPin, HIGH); // turn the LED on
if (Serial.available())
{ // If data is available to read,
val = Serial.read(); // read it and store it in val
}
if (val == '1')
{ // If 1 was received
digitalWrite(ledPin, HIGH); // turn the LED on
} else {
digitalWrite(ledPin, LOW); // otherwise turn it off
}
delay(10); // Wait 10 milliseconds for next reading
}
デバッグを済ませましたか? printステートメントを使用して、処理スケッチで実行中のコードセクションを特定しましたか?あなたのコードがArduino側で実行されているかどうかを判断しましたか?あなたがArudinoで 'delay(10) 'を呼んでいるので、Processingからのシグナルが1フレームごとに送られてくるので、シグナルは蓄積されませんか? –
@NurImtiazulHaque ArduinoコードとProcessingコードはどちらも意味があります。唯一の注意点は、draw()でデータを送信することです。つまり、マウスが押されている間、LEDが点灯するはずです。 LEDに問題がある場合は、一時的に* Examples> Basics> Blink *スケッチをアップロードして、まだ動作していることを確認してください。テストするためのオンボードLEDがあります。ピン13に手動でLEDを接続した場合、接点が正常で、ピン(陰極/陽極)が正しい方法で接続されています。 –
オンボードLED(ピン13)を使用しています。これは、マウスを押して離すと0と1を同時に表示しています。シリアルポート番号同じです。私はチェックするために印刷しました。しかし、データはシリアルポートに送信されていません。私は何が起こっているのか分かりません:(@KevinWorkman –