本程序所用Arduino開發板為Arduino UNO開發板
通過紅外傳感器檢測工件,當工件經過時舵機響應,對工件進行操作
此程序實現的功能為:
Arduino啟動,當傳感器檢測到工件,舵機開始旋轉90°,
當再次檢測到下一個工件,舵機回轉90°,就這樣在每次檢測到工件時來回擺動
#include <Servo.h> // 聲明調用Servo.h庫
Servo myservo; // 創建一個舵機對象
int PIN_SENSOR = 13; //紅外傳感器引腳
int n=0;
void setup()
{
pinMode(PIN_SENSOR, INPUT);
Serial.begin(4800);//設置波特率為4800
myservo.attach(9); // 將引腳9上的舵機與聲明的舵機對象連接起來
}
void loop()
{
int y = digitalRead(PIN_SENSOR); //讀取傳感器信號
Serial.println(y);
delay(5);
int x = digitalRead(PIN_SENSOR);//延時5ms再次讀取傳感器信號
Serial.println(x);
if (x==0)
{
if (x||y) //對兩次讀取值進行綜合判斷,確定舵機是否執行
{ n=n+1;
if (n%2==1)
{myservo.write(0); // 給舵機寫入角度0°
delay(5);
}
if (n%2==0)
{myservo.write(90); // 給舵機寫入角度90°
delay(5);
}
}
else
return;
}
}
|