終于有空把這臺(tái)機(jī)器人組裝起來(lái)了,樣子弄得有點(diǎn)亂亂的,不過這只是暫時(shí)的...
配置:USB版的32路舵機(jī)控制器、Arduino Mega (ATmega1280),一組7.6V的聚合物鋰電池
用了一些簡(jiǎn)單的代碼:
int val;
void setup()
{
Serial.begin(115200);//32路舵機(jī)控制器撥碼開關(guān)都置1
}
void loop()
{
val=Serial.read();
if(val=='s')
{
Serial.println("#0P2200#1P2100#2P800#4P2200#5P2100#6P1400#12P2200#13P2100#14P1400#16P800#17P900#18P2000#20P800#21P900#22P1600#28P800#29P900#30P1600T1000"); // 輸入S是站立
delay(1000);
}
if(val=='l')
{
Serial.println("#0P2200#1P2200#2P800#4P2200#5P2200#6P1400#12P2200#13P2200#14P1400#16P800#17P800#18P2000#20P800#21P800#22P1600#28P800#29P800#30P1600T1000");// 輸入L是蹲下
delay(1000);
}
if(val=='f')
{
Serial.println("#0P800#1P2200#2P800#4P800#5P2200#6P1400#12P800#13P2200#14P1400#16P2200#17P800#18P2000#20P2200#21P800#22P1600#28P2200#29P800#30P1600T1000");// 輸入F是把所有的腳抬起來(lái)
delay(1000);
}
if(val=='0')
{
Serial.println("#0P2200T1000");//輸入0是0號(hào)舵機(jī)運(yùn)動(dòng)
delay(1000);
Serial.println("#0P800T1000");
delay(1000);
}
if(val=='1')
{
Serial.println("#16P800T1000");//輸入1是1好舵機(jī)運(yùn)動(dòng)
delay(1000);
Serial.println("#16P2200T1000");
delay(1000);
}
}
=======================================================================================================
注:#舵機(jī)號(hào) P脈寬數(shù)(500-2500) S=速度 T=動(dòng)作完成時(shí)間
下載完程序,輸入“S”是站起來(lái),呵呵,效果不是很好,可以設(shè)置大點(diǎn)的角度。輸入“L”是蹲下。輸入“F”是把所有的腳都抬起來(lái)。輸入“0”是0號(hào)舵機(jī)運(yùn)動(dòng),就是六足機(jī)器人的前腳運(yùn)動(dòng)。輸入“1”是右腳運(yùn)動(dòng)。
下面的視頻就是成果