processing
import processing.serial.*;
Serial myPort; // Create object from Serial class
int val; // Data received from the serial port
void setup()
{
size(200, 200);
String portName = Serial.list()[0];
myPort = new Serial(this, "COM3", 9600);
}
void draw()
{
if ( myPort.available() > 0) { // If data is available,
val = myPort.read(); // read it and store it in val
}
println(char (val));
background(255); // Set background to white
if (val == 'A') // If the serial value is 0,
fill(255,0,0); // set fill to black
else if(val == 'B')
fill(0,255,0);
else fill(0,0,255);
rect(50, 50, 100, 100);
}
arduino
void setup() {
// put your setup code here, to run once:
pinMode(8, OUTPUT); //壞人1
pinMode(9, OUTPUT); //壞人2
pinMode(7, INPUT_PULLUP); //按鈕
pinMode(10, OUTPUT); //接收器
pinMode(11, OUTPUT); //接收器
pinMode(2, OUTPUT); //得分燈泡
Serial.begin(9600);
}
int lightOn=8;
int last=0;
void loop() {
// put your main code here, to run repeatedly:
// Serial.print(lightOn);
if(millis()/1000-last>1){
digitalWrite(lightOn,LOW);
lightOn=int(random(8,10));
last=millis()/1000;
digitalWrite(lightOn,HIGH);
}
else digitalWrite(lightOn,HIGH);
int trigger=digitalRead(7);//LOW to trigger SHOOT
if(trigger==LOW){
digitalWrite(11,HIGH);
digitalWrite(10,HIGH);
digitalWrite(2,HIGH);
} else{
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(2, LOW);
}
int IRvalue1=analogRead(A1);
int IRvalue2=analogRead(A2);
//Serial.println(IRvalue1);
if(IRvalue1>900 && lightOn==9) Serial.write('A');//Serial.println("GotIt");
else if(IRvalue2>900 && lightOn==8 ) Serial.write('B');//Serial.println("GotIt");
else Serial.write('C');
delay(100);
}
沒有留言:
張貼留言