以前沒有接觸過硬件,因?yàn)榘雅狝PM2.5不得不去接觸arduino板。Arduino是塊極易上手的控板,不像單片機(jī),你要花費(fèi)大量的時(shí)間去學(xué)習(xí)預(yù)備知識(shí),它只要你稍微懂點(diǎn)C語言既能上手。對(duì)于我這種業(yè)余愛好者,不二之選。手頭有幾個(gè)舵機(jī),首次接觸arduino就是用它來操作舵機(jī)。Arduino有個(gè)底層庫(kù)(Servo類),包含驅(qū)動(dòng)舵機(jī)的基本功能:
attach()//連接舵機(jī)
write()//角度控制
writeMicroseconds()//參數(shù)為pwm值,1000:逆時(shí)針旋轉(zhuǎn)180度,1500:到達(dá)中點(diǎn),2000:順時(shí)針旋轉(zhuǎn)180度
read()//讀上一次舵機(jī)轉(zhuǎn)動(dòng)角度
attached()//
detach()//斷開舵機(jī)連接
write()//角度控制
writeMicroseconds()//參數(shù)為pwm值,1000:逆時(shí)針旋轉(zhuǎn)180度,1500:到達(dá)中點(diǎn),2000:順時(shí)針旋轉(zhuǎn)180度
read()//讀上一次舵機(jī)轉(zhuǎn)動(dòng)角度
attached()//
detach()//斷開舵機(jī)連接
實(shí)例:
器材:arduino板、舵機(jī)、杜邦線若干
程序可以在IDE>File>Examples>Servo>Sweep中找到
這里介紹不調(diào)用Servo庫(kù),寫的Servo.write()函數(shù),有些問題,串口輸入的值與伺服轉(zhuǎn)動(dòng)的角度不相同。郁悶中!!!
int value;
int pulsewidth;
int pin=9;
void servowrite(int pin,int value)
{
}
void setup()
{
}
void loop()
{
}