2015年11月30日 星期一

02160473賴緯漢_2015互動技術概論 week12

今日作業
1.使馬達轉動
先下載ARDUINO
設定好之後
下載sweep範例檔










































程式碼:
#include <Servo.h>

Servo myservo;  // create servo object to control a servo
// twelve servo objects can be created on most boards

int pos = 0;    // variable to store the servo position

void setup() {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object訊號預設9號洞口
}

void loop() {
  for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees每一個單位順時跑1度
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position延遲15單位
  }
  for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees每一個單位逆時跑1度
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
}





2.用旋鈕控制馬達
先下載範例檔knob
















































程式碼:
#include <Servo.h>

Servo myservo;  // create servo object to control a servo宣告馬達

int potpin = 0;  // analog pin used to connect the potentiometer
int val;    // variable to read the value from the analog pin

void setup() {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object訊號預設9號洞
}

void loop() {
  val = analogRead(potpin);            // reads the value of the potentiometer (value between 0 and 1023)
  val = map(val, 0, 1023, 0, 180);     // scale it to use it with the servo (value between 0 and 180)把0~1023設成0~180
  myservo.write(val);                  // sets the servo position according to the scaled value
  delay(15);                           // waits for the servo to get there延遲15秒
}


























3.對話
要插MEGAorUNO板


























沒有留言:

張貼留言