一、使用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 程式碼:
Processing 程式碼:
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();
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);
ellipse(x,y,20,20);
}
}
沒有留言:
張貼留言