2018年1月20日 星期六

Week12 芷萱的課堂筆記

利用Processing結合Arduino


1.首先在Processing中打入一小串程式碼

程式碼:
import processing.serial.*;
Serial myPort;

void setup(){
  size(400,400);
  myPort=new Serial(this,"COM7",115200);
}
void draw(){
  if(myPort.available()>0){
    String now =myPort.readString();
    println(now);
  }
}


2.建置環境-安裝驅動程式

控制台→裝置管理員


手動選擇路徑

選擇安裝即可













































選擇相對應的COM即可











程式碼:
// Arduino pin numbers
const int SW_pin = 2; // digital pin connected to switch output
const int X_pin = 0; // analog pin connected to X output
const int Y_pin = 1; // analog pin connected to Y output

void setup() {
  pinMode(SW_pin, INPUT);
  digitalWrite(SW_pin, HIGH);
  Serial.begin(115200);
}

void loop() {
  Serial.print("Switch:  ");
  Serial.print(digitalRead(SW_pin));
  Serial.print("\n");
  Serial.print("X-axis: ");
  Serial.print(analogRead(X_pin));
  Serial.print("\n");
  Serial.print("Y-axis: ");
  Serial.println(analogRead(Y_pin));
  Serial.print("\n\n");
  delay(50);
}

3.
Arduino中

程式碼:
// Arduino pin numbers
const int SW_pin = 2; // digital pin connected to switch output
const int X_pin = 0; // analog pin connected to X output
const int Y_pin = 1; // analog pin connected to Y output

void setup() {
  pinMode(SW_pin, INPUT);
  digitalWrite(SW_pin, HIGH);
  Serial.begin(115200);
}

void loop() {
  Serial.write(digitalRead(2));
  delay(50);
}


於Processing中

程式碼:
import processing.serial.*;
Serial myPort;

void setup(){
  size(400,400);
  myPort=new Serial(this,"COM7",115200);
}
void draw(){
  if(myPort.available()>0){
    int pin2=myPort.read();
    println(pin2);
    if(pin2==1)background(255,0,0);
  else background(255,255,0);
  }
}

4.
Arduino中

程式碼:
// Arduino pin numbers
const int SW_pin = 2; // digital pin connected to switch output
const int X_pin = 0; // analog pin connected to X output
const int Y_pin = 1; // analog pin connected to Y output

void setup() {
  pinMode(SW_pin, INPUT);
  digitalWrite(SW_pin, HIGH);
  Serial.begin(115200);
}

void loop() {
  Serial.write(digitalRead(2));
  Serial.write(analogRead(A0)/4);
  Serial.write(analogRead(A1)/4);
  delay(50);
}

於Processing中

程式碼:
import processing.serial.*;
Serial myPort;

void setup(){
  size(400,400);
  myPort=new Serial(this,"COM7",115200);
}
void draw(){
  if(myPort.available()>0){
    int pin2=myPort.read();
    int x=myPort.read();
    int y=myPort.read();
    println(pin2);
    if(pin2==1)background(255,0,0);
  else background(255,255,0);
  ellipse(x,y,20,20);
  }
}

沒有留言:

張貼留言