2017年12月4日 星期一

week12-卓佾柔的上課筆記

一、安裝驅動

二、搖桿

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


switch:1表示有按下搖桿 0表示沒按
X-axis:X軸
Y-axis:Y軸

在processing打開範例"SimpleRead"

  myPort = new Serial(this, portName, 115200);

import processing.serial.*;
Serial myPort;

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

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

按下搖桿背景會變綠色,沒按的時候背景是紅色

import processing.serial.*;
Serial myPort;

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

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

processing:
import processing.serial.*;
Serial myPort;

void setup()
{
  size(400, 400);
   myPort = new Serial(this,"COM5", 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(0,255,0);
    ellipse(x,y,20,20);
  }
}

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);
}


沒有留言:

張貼留言