第一個程式碼
#include <Servo.h> //引入lib
Servo myservo; // 創建一個伺服電機物件
#define potpin A5 // 設定連接可變電阻的模擬引腳
int val; // 創建變數,儲存從類比埠讀取的值(0到1023)
void setup()
{
myservo.attach(9); // 9號引腳輸出電機控制信號
//僅能使用9、10號引腳
}
void loop()
{
val = analogRead(potpin); // 讀取來自可變電阻的模擬值(0到1023之間)
val = map(val, 0, 1023, 0, 179); // 利用“map”函數縮放該值,得到伺服電機
// 需要的角度(0到180之間)
myservo.write(val); // 設定伺服電機的位置
delay(15); // 等待電機旋轉到目標角度
}
第二個程式碼
#include <Servo.h>
Servo servo;
void setup()
{
servo.attach(2);
servo.write(0);
}
void loop()
{
const int cds[3]={0,1,2};
int val[3];
for(int i=0;i<3;i++)
{
val[i]=analogRead(cds[i]);
}
if(val[0]>250 && val[1]<250 && val[2]<250)
servo.write(0);
else if(val[0]>250 && val[1]>250 && val[2]<250)
servo.write(45);
else if(val[0]<250 && val[1]>250 && val[2]<250)
servo.write(90);
else if(val[0]<250 && val[1]>250 && val[2]>250)
servo.write(135);
else if(val[0]<250 && val[1]<250 && val[2]>250)
servo.write(180);
}