// copyright to Big Head
// A_car 自行努力處提示
//*********************以下程式用自己的力量完成!*********************//
// 用function "analogWrite(腳位,0~255);"
// 一個馬達會有兩個LinkIt的腳位,兩個都是OUTPUT
// 其中一個腳位提供正轉訊號,另一個提供逆轉訊號
// 哪個為HIGH(靠近255)哪個為LOW(靠近0)就看通電測試過後再看是否需要更改
// 範例
void forward(){
// 前進
// 腳位1或2自行調整
analogWrite(馬達A腳位1 , 255);
analogWrite(馬達A腳位2 , 0);
analogWrite(馬達B腳位1 , 255);
analogWrite(馬達B腳位2 , 0);
}
//***************************END**********************************//
/* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ */
// steering_wheel 自行努力處提示
//*********************以下程式用自己的力量完成!*********************//
//判斷ax, ay, az的大小來控制前後左右!
//可用的function有 forward(), backward(),turnleft(), turnright(), stay()
if ( ax在某個範圍 && ay在某個範圍 && az在某個範圍 ) {
forward();
}else if ( ax在某個範圍 && ay在某個範圍 && az在某個範圍 ) {
backward();
}else if ( ax在某個範圍 && ay在某個範圍 && az在某個範圍 ) {
turnleft();
}else if ( ax在某個範圍 && ay在某個範圍 && az在某個範圍 ) {
turnright();
}else {
stay();
}
//******************************END****************************//
/*----------------------以下是不建議寫法---------------------------*/
if(ax在某個範圍){
forward();
}else if(ax在另一個範圍){
backward();
}else if(ay在某個範圍){
turnright();
}else if(ay在另一個範圍){
turnleft();
}else{
stay();
}
/*
不管是寫if還是else if都會是比較不好的寫法
ex : 當你向右前方前傾的時候,x和y方向可能會有加速度(假設是如此),
那麼判斷式的順序會影響call function的順序(如果先寫判斷x加速度的條件,
那麼會先執行x方向的位移函式;如果先寫判斷y加速度的條件,那麼會先執行y方向的位移函式),
因此難以準確的執行同時往xy方向的位移函式。
當然,如果你們來不及的話,可以先寫基本四方位的function就好。
*/