大家好!今天是台灣的大日子而且也快過年了,但是在此同時,CAVE的老師們也都沒有鬆懈下來,因為明天將會有一整天的Arduino的研習要跟大家分享成果唷!今天阿邦老師要來跟各位介紹應用Arduino+樂高的觸碰感應器及馬達來完成我們初學者常做的題目:碰碰車
編寫的方式跟之前的單光源軌跡車很類似,必須先設定我們的觸碰感應器必須接在哪個連接埠,語法如下:
touch1.init( &nxshield, SH_BBS1 );
接著必須先重置一下馬達:nxshield.bank_a.motorReset();
再來也必須設定馬達安裝在哪個位置:ba_v1 = nxshield.bank_a.sensorReadRaw(SH_S1);
接著我們必須設定當按下觸碰感應器及放開時馬達分別會做哪些動作:
if ( touch1.isPressed())
{
Serial.println( "run unlimited" );
nxshield.bank_a.motorRunUnlimited(SH_Motor_1, SH_Direction_Reverse, 50);
nxshield.bank_a.motorRunUnlimited(SH_Motor_2, SH_Direction_Reverse, 50);
delay(1000);
nxshield.bank_a.motorRunUnlimited(SH_Motor_1, SH_Direction_Forward, 0);
nxshield.bank_a.motorRunUnlimited(SH_Motor_2, SH_Direction_Forward, 100);
}
else {
Serial.println( "stop (float)");
nxshield.bank_a.motorRunUnlimited(SH_Motor_1, SH_Direction_Forward, 100);
nxshield.bank_a.motorRunUnlimited(SH_Motor_2, SH_Direction_Forward, 100);
}
如此一來,我們的觸碰車便已完成囉!期待明天研習會可以與各位分享更多有去的程式唷!
Post Views: 297