这是我的第一个问题,所以我尽力解释它 . 我的目标是通过我的网站处理收集一个号码并将其发送到我的arduino . 我尝试在数字1进入时打开我的指示灯或在数字0进入时将其关闭 .
到目前为止,我设法从我的网站收集号码 . 当我用arduino串行监视器向arduino发送一个数字时,arduino代码也可以工作 .
无效的部分是从处理到arduino的号码发送 . 领导只是闪烁一次 .
这是我的处理代码:
import processing.serial.*;
Serial ComPort;
String input[];
void setup(){
String portName = Serial.list() [0];
ComPort = new Serial(this, portName, 9600);
ComPort.bufferUntil('\n');
input = loadStrings("website-adresse");
if(input.length != 0){
String s_current = input[0];
int current = Integer.parseInt(s_current);
println(current);
delay(2000);
ComPort.write(current);
}
}
这是我的arduino代码:
void setup() {
Serial.begin(9600); // Baudrate, muss mit PC übereinstimmen
pinMode(13,OUTPUT);
}
void loop() {
int c = Serial.read();
switch (c) {
case -1: return; // nichts neues gekommen, loop sofort beenden
case '0' :
digitalWrite(13, LOW);
break;
case '1' :
digitalWrite(13, HIGH);
break;
}
}
我刚接触编程,我的英语不是那么好,所以我为此道歉 .
谢谢你的帮助
问候珍妮
1 回答
主要问题是在
ComPort
上发送值0 (0x00)
和1 (0x01)
,但您期望'0' (0x30)
和'1' (0x31)
.如果您将案例更改为期望
0
和1
而不是'0'
和'1'
它将起作用(但这些值赢得't work in Serial Monitor unless you' ll有这两种变体)