我們的主題是接雞蛋
利用雙軸遙感控制游標
Arduino程式碼
void setup() {
// put your setup code here, to run once:
pinMode(2,INPUT);
digitalWrite(2,HIGH);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
int val = analogRead(A0);
int x=val/8;
if(x<2)x=2;
Serial.write(x);
if(digitalRead(2)==HIGH)Serial.write(0);
else Serial.write(1);
delay(100);///100 millis seconds
}
Processing程式碼
float[] eggX=new float[200];
float[] eggY=new float[200];
boolean[] eggDie=new boolean[200];
import processing.serial.*;
Serial myPort;
PImage imgBG, img;
void setup() {
size(1000, 689);
//int handX, Y;
//float handVX=0;
myPort = new Serial(this, "COM7", 9600);
img = loadImage("unnamed (1.png");
imgBG = loadImage("unnamed.jpg");
for (int i=0; i<15; i++) {
eggX[i]=random(100, 1000);
eggY[i]=-random(1000);
eggY[i]+=50;
eggDie[i]= false;
}
}
int handX=550, Y=200;
float handVX=0;
int score=0;
void draw() {
println(frameRate);
image(imgBG, 0, 0, width, height);
//image(img, mouseX, mouseY, 100, 130);
//image(img, handX, Y, 100, 100);
fill(255);
for (int i=0; i<20; i++) {
if (eggDie[i])
continue;
ellipse(eggX[i], eggY[i], 40, 60);
fill(255);
eggY[i]+=15;
if (eggY[i]>900)
eggY[i]=-70;
if (dist(handX, 550, eggX[i], eggY[i])<70)
eggDie[i]=true;
}
if (myPort.available()>0) {
int val = myPort.read();
if (val==0) Y=100;
else if (val==1) Y=200;
else handVX = (val-63)/15.0;
println(val);
}
handX += handVX;
image(img, handX, 550,150, 100);
//ellipse(handX,550, 10,10);
//rect(handX,550,150,150);
}
makerUno接線圖



沒有留言:
張貼留言