2016-05-24 5 views
0

私はadruinoのプログラミング経験はありませんが、自分の仕事でこれらのロボットをテストする必要があります。私はこのコードがロボットの序文を動かすと言われました。このコードを実行すると、このスコープで 'set'が宣言されていないというエラーが発生します。助けて?または、これが正しい質問でもないのかどうか教えてください。一番上にあるライブラリも私と一緒ですが、この特定の問題を解決するために投稿する必要があるかどうかはわかりません。'set'は宣言されていませんか? Adruino

#include <Lobotank.h> 
#include <tank_Cwrap.h> 

int temp_R=0; 
int temp_L=0; 
int c15=0; 

void setup() 
{ 
    enableDebug(); 
    //test sensors(1000); 
    set speed(125); 
} 

void loop() 
{ 
    update sensors(); 
int pattern = 0; 
long rndm = random(0,10); 

    serial.println(rndm); 
    //serial.println(temp_L); 
    //serial.println(lf_left); 
    //serial.println(lf_mleft); 
    //serial.println(lf_mright); 
    //serial.println(lf_right); 

if (lf_left>= 500) 
    pattern += 8; 
if (lf_mleft >= 500) 
    pattern += 4; 
if (lf_mright >= 500) 
    pattern += 2; 
if (lf_right >= 500) 
    pattern += 1; 

switch (pattern) 
{ 
    case 0: 
    if (temp_R ==1) 
     turnRight_hard(); 
    else 
     turnAround_left() 
    break; 
    case 1: 

    turnRight_slight(); 
    temp_R = 1; 
break; 


case 2: 
     turnRight_slight(); 
     temp_R = 1; 
    break; 
    case 3: 
    delay(25); 
     turnRight_slight(); 
    break; 
    case 6: 
     forward(); 
     temp_R = 0; 
     c15 = 0; 
    break; 
    case 7: //turn right 
     turnRight_hard(); 
     temp_R = 1; 
    break; 
    case 8: 
     turnleft_slight(); 
     temp_R = 0; 
    break; 
    case 12: 
    delay(15); 
     turnLeft_slight(); 
    break; 
    case 14: //turn left 
     turnLeft_hard(); 
    break; 
    case 15: 
    delay(25); 
      if (rndm <= 5 && c15 <= 3) 
      turnleft_hard(); 
     else 
     { 
      if (rndm >= 6 && c15 <= 3) 
      turnRight_hard(); 
     else 
     { 
      if (c15 >= 5) 
      turnRight_hard(); 
     else 
     { 
      if (c15>= 10) 
     stop(); 
      } 
      } 
     } 
     c15++; 
     break; 
     } 

答えて

0

これは有効な構文のようにしていません:

set speed(125); 

これは、関数呼び出しのように見えますが、機能はそれらにスペースを持つことはできません。たぶん、あなたはこれらのいずれかの意味:これらと同様の機能のもの.hファイルで

setspeed(125); 
setSpeed(125); 
set_speed(125); 

ルックを、そしてあなたが正しい名前でそれを呼び出すことを確認してください。

+0

私は、それが第2のものであることが判明しました。エラーがいくつかありますが、私はそれらが関数呼び出しであると考えられているという考えでそれらを解決しようとします。ありがとう。 –

+0

@GeorgeMcFlying問題ありません。他の機能と同様の問題があるようです。関数にはスペースを含めることはできません。スペルを正確に記入してください。立ち往生した場合は、別の質問を投稿してください。がんばろう! –

関連する問題