發表文章

目前顯示的是 四月, 2018的文章

Arduino 按鈕

參考資料
https://www.youtube.com/watch?v=JNk7u7Z5IMw

目的:
按下按鈕,LED亮;放開按鈕,LED滅。




const int buttonPin = 2;
const int ledPin =  13;
int buttonState = 0;

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(buttonPin, INPUT);
}

void loop() {



  buttonState = digitalRead(buttonPin);

  if (buttonState == HIGH) {
    // turn LED on:
    digitalWrite(ledPin, HIGH);
  } else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
  }



}

Arduino 伺服馬達

參考資料
https://www.youtube.com/watch?v=cLs5xwUgGkc


伺服馬達皆在Arduino上需要有~記號才能當訊號線

A0 A1 A2 A3 A4 A5  這些屬於類比訊號

類比訊號為0-1023

轉換訊號數值,由0-1023換成0-180
B = map(A, 0 , 1023 , 0 , 180) ;




#include <Servo.h> //加入伺服馬達函式庫

Servo myservo;  //幫伺服馬達取名子為myservo

void setup() {
  myservo.attach(9);  // 伺服馬達訊號線接在9
}

void loop() {
  myservo.write(90);   // 伺服馬達轉到90度
  delay(15);
}


在A0加入一個類比旋鈕,利用旋鈕來控制伺服馬達轉動。

#include <Servo.h> //加入伺服馬達函式庫

Servo myservo;  //幫伺服馬達取名子為myservo
int sensor=0; //類比旋鈕訊號值
int angle=0;  //旋轉角度

void setup() {
  myservo.attach(9);  // 伺服馬達訊號線接在9
}

void loop() {
  sensor = analogRead(A0);  //從A0讀取類比訊號  類比旋鈕
  angle = map(sensor, 0 , 1023 , 0 , 180) ; //把sensor值轉換到0-180
  myservo.write(angle);   // 伺服馬達轉到angle度
  delay(15);
}