|
本程序所用Arduino開發(fā)板為Arduino UNO開發(fā)板
通過紅外傳感器檢測工件,當(dāng)工件經(jīng)過時(shí)舵機(jī)響應(yīng),對工件進(jìn)行操作
此程序?qū)崿F(xiàn)的功能為:
Arduino啟動,當(dāng)傳感器檢測到工件,舵機(jī)開始旋轉(zhuǎn)90°,
當(dāng)再次檢測到下一個(gè)工件,舵機(jī)回轉(zhuǎn)90°,就這樣在每次檢測到工件時(shí)來回?cái)[動
#include <Servo.h> // 聲明調(diào)用Servo.h庫
Servo myservo; // 創(chuàng)建一個(gè)舵機(jī)對象
int PIN_SENSOR = 13; //紅外傳感器引腳
int n=0;
void setup()
{
pinMode(PIN_SENSOR, INPUT);
Serial.begin(4800);//設(shè)置波特率為4800
myservo.attach(9); // 將引腳9上的舵機(jī)與聲明的舵機(jī)對象連接起來
}
void loop()
{
int y = digitalRead(PIN_SENSOR); //讀取傳感器信號
Serial.println(y);
delay(5);
int x = digitalRead(PIN_SENSOR);//延時(shí)5ms再次讀取傳感器信號
Serial.println(x);
if (x==0)
{
if (x||y) //對兩次讀取值進(jìn)行綜合判斷,確定舵機(jī)是否執(zhí)行
{ n=n+1;
if (n%2==1)
{myservo.write(0); // 給舵機(jī)寫入角度0°
delay(5);
}
if (n%2==0)
{myservo.write(90); // 給舵機(jī)寫入角度90°
delay(5);
}
}
else
return;
}
}
|
評分
-
查看全部評分
|