我写了一个arduino和processing串口通信例子,鼠标在processing窗口移动会导致arduino的面包板上不同数量led发光,然后无论怎么修改都实现不了,求各位大神给点建议,谢谢
processing
import processing.serial.*;
Serial Port; // The serial port
void setup()
{
size(640,480);
Port = new Serial(this,"COM3",9600);
}
void draw()
{
char temp;
background(255,255,255);
if(mouseX<width/2 && mouseY<height/2){
rect(0,0,320,240);
fill(0,0,255);
temp=1;
Port.write(temp);
}
if(mouseX>width/2 && mouseY<height/2){
rect(320,0,320,240);
fill(255,0,0);
temp=2;
Port.write(temp);
}
if(mouseX<width/2 && mouseY>height/2){
rect(0,240,320,240);
fill(0,255,0);
temp=3;
Port.write(temp);
}
if(mouseX>width/2 && mouseY>height/2){
rect(320,240,320,240);
fill(255,0,255);
temp=4;
Port.write(temp);
}
}
Arduino
int ledPin1 = 11;
int ledPin2 = 10;
int ledPin3 = 9;
int ledPin4 = 8;
void setup() {
Serial.begin(9600);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
}
void loop() {
if(Serial.available()>0){
char temp= Serial.read();
if(temp=='1'){
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, LOW);
}
if(temp== '2'){
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, LOW);
}
if(temp=='3'){
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, HIGH);
digitalWrite(ledPin4, LOW);
}
if(temp=='4'){
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, HIGH);
digitalWrite(ledPin4, HIGH);
}
delay(1000);
}
}
|