2017年12月4日 星期一

Week12 課堂筆記

一、使用MEGA板












打上程式碼:

// 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(9600); } 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(500); }

監控下去








開啟Processing

程式碼:

import processing.serial.*;
Serial myPort;

void setup(){
   size(400,400);
 
   myPort = new Serial(this, "COM6", 115200);

}

void draw(){
 if(myPort.available()>0){
    String now= myPort.readString();
    println(now);
 
 
 }


}











接下來更改Arduino 和 Processing 讓轉鈕按下 產生變化







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, "COM6", 115200);
}

void draw(){
 if(myPort.available()>0){
    //String now= myPort.readString();
   // println(now);
  int pin2=myPort.read();
  println(pin2);
  if(pin2==1)background(255,0,0);
  else background(0,255,0);
 }  
}

接下來讓圓球跟著按鈕左右移動








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)); //digital input pin2(switch key)
  Serial.write(analogRead(A0)/4);  //analog input pin A0, 0~1023/4 to 0-255
  Serial.write(analogRead(A1)/4);  //analog input pin A1, 0~1023/4 to 0-255

  delay(50);
}




Processing 程式碼:


import processing.serial.*;
Serial myPort;

void setup(){
   size(400,400);
   myPort = new Serial(this, "COM6", 115200);
}

void draw(){
 if(myPort.available()>0){
    //String now= myPort.readString();
   // println(now);
  int pin2=myPort.read();
  int x = myPort.read();
  int y = myPort.read();
  println(pin2);
  if(pin2==1)background(255,0,0);
  else background(0,255,0);
  ellipse(x,y,20,20);
 }  


}



沒有留言:

張貼留言