alanhc 互動技術-week13

alanhc 互動技術-week13

December 5, 2019

連到老師電腦(Server)

運用上禮拜教的 net library
Client 端
//Client 可以是任何人
import processing.net.*;
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你好帥");
}
*先宣告
寫入 Hello你好帥 老師會檢查字串
Server


joystick

根據滑桿值發出聲音
f:512~1024
void setup() {
pinMode(2,INPUT);
pinMode(8, OUTPUT);
}

void loop() {
 
  int x=analogRead(A0);
  tone(8,x);
  analogRead(A1);
  digitalRead(2);
}
A0、A1 分別代表X軸與Y軸上的數值(PWM)



使用joystick控制processing程式:
Arduino:
透過Serial傳輸 Serial.println(s);
void setup() {
pinMode(2,INPUT);
pinMode(8, OUTPUT);
Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  int x=analogRead(A0);
  int y=analogRead(A1);
 
  tone(8,x);
 
  String s=String(x)+" "+String(y);
  Serial.println(s);
  digitalRead(2);
}
Processing

import processing.serial.*;
Serial myPort;
void setup()
{
  printArray(Serial.list());
  myPort = new Serial(this, "/dev/cu.usbserial-14120",9600); 
}
void draw()
{
  while (myPort.available() > 0) {
    println(myPort.readString());
  }
}

使用arduino透過serial控制會動的球球












Arduino

void setup() {
pinMode(2,INPUT);
pinMode(8, OUTPUT);
Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  int x=analogRead(A0);
  int y=analogRead(A1);
  String s=String(x)+" "+String(y);
  tone(8,x);
 
  Serial.println(s);
  digitalRead(2);
  delay(100);
}
processing
使用 splitTokens() 分割xy字串

import processing.serial.*;
Serial myPort;
void setup()
{
  size(1024, 1024);
  printArray(Serial.list());
  myPort = new Serial(this, "/dev/cu.usbserial-14120",9600); 
}
int x=512;
int y=512;
void draw()
{
  background(0);
 
  while (myPort.available() > 0) {
    String now = myPort.readString();
    String[] xy = splitTokens(now);
    x= int(xy[0]);
    y= int(xy[1]);
  }
 
  println(x,",",y);
  fill(255,0,0);
  circle(x,y, 20);
 
}