2019年12月5日 星期四

金魚腦互動技術

2019互動技術W13

連線到老師的電腦

import processing.net.*;
Client client;我們是client
void setup(){
size(100,100);老師的serverIP:120.125.70.53
client = new Client(this, "120.125.70.53", 6666);
}
void draw(){
}
void mousePressed(){
client.write("Hello你好帥");
}

雙軸搖桿

void setup(){
  pinMode(2,INPUT);因為他有電可以自己拉高
}
void loop(){
  analogRead(A0);X軸
  analogRead(A1);Y軸
  digitalRead(2);按下去的button
}

接線控制X軸變高低音

void setup(){
  pinMode(8,OUTPUT);
}
void loop(){
  int x=analogRead(A0);
  tone(8,x);
}














\




!!!記得X座標接A0
GND接GND
5V接5V 

搖桿傳送座標資料

void setup(){
  Serial.begin(9600);
}
void loop(){
  int x=analogRead(A0);
  int y=analogRead(A1);
  Serial.print(x);
  Serial.print(" ");
  Serial.print(y);
  Serial.println();
  delay(100);
}

用遙感控制移動

在Arduino內:
void setup(){
  Serial.begin(9600);
}
void loop(){
  int x=analogRead(A0);
  int y=analogRead(A1);
  Serial.print(x);
  Serial.print(" ");
  Serial.print(y);
  Serial.println();
  delay(100);
}
在processing內:
import processing.serial.*;
Serial serial;
void setup() {
  size(1024, 1024);
  serial=new Serial(this, "COM4", 9600);
}
int x=512, y=512;
void draw() {
  background(255);
  if (serial.available()>0) {
    String now=serial.readString();
    String[]xy=splitTokens(now);
    x=int(xy[0]);
    y=int(xy[1]);
  }
  fill(255, 0, 0);
  ellipse(x, y, 100, 100);
}
Processing會收 x y 的座標
Arduino已經寫好了, 記得把放大鏡(Serial Monitor)關掉, 才不會搶USB線


沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

回顧這學期的作品:  期中作業:LANDING:PLANET 賣點&特點: 炫麗的特效 物理(星球重力及降落)及粒子系統(噴射) 世界地圖可根據視角縮放 困難點: 重寫3次最終改寫成物件導向的CLASS寫法...