Arduinoのボタンスイッチを使用して処理中のビジュアル表示をトリガーしようとしています。私は、ボタンが押されたかどうかを識別するために "HIGH"と "LOW"を使いました。ボタンスイッチArduinoから処理中:シリアル出力がnullを返す
しかし、私のコードはボタンの状態によって "HIGH"または "LOW"を与えるのではなく、常にnullを与えています。私はこれがかなり基本的だと思うが、私はちょうどかなり失われている。どんな助けやコメントをいただければ幸いですか?
以下はArduinoとProcessingのコードです。
const int buttonPin = 2;
const int LEDPin = 13;
int buttonState = 0;
void setup() {
pinMode(buttonPin, INPUT);
pinMode(LEDPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
int analogValue = analogRead(A0)/4;
Serial.write(analogValue);
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
Serial.write(HIGH);
digitalWrite(LEDPin, HIGH);
} else {
Serial.write(LOW);
digitalWrite(LEDPin, LOW);
}
delay(100);
}
処理コード:
import processing.serial.*;
Serial myPort;
String val;
void setup() {
size(400,400);
String portName = Serial.list()[1];
myPort = new Serial(this, portName, 9600);
}
void draw() {
if (myPort.available() > 0) {
val = myPort.readStringUntil('\n');
println(val);
if (val == "HIGH") {
background(127,0,0);
}
if (val == "LOW") {
background(144, 26, 251);
}
}
}
'Serial.write(HIGH)を使用し、' '、 ''、H''を' 'I''を送信しません。 'G'、 'H'、 '' \ n ''ではなく '1'です。 –