极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11848|回复: 4

關於自走車程式碼

[复制链接]
发表于 2015-11-9 12:58:35 | 显示全部楼层 |阅读模式

如題

小弟之前做了一台自走車 程式碼也寫好可以動了


可是之後重新組裝 重新在上一次程式碼 出現了程式碼沒辦法編譯的情況

之前程式碼怎麼編譯都沒有錯誤 出現了bt讀不到的問題.....

程式碼:


'/'#include <SoftwareSerial.h>    // 引用「軟體序列埠」程式庫
SoftwareSerial BT(3, 2);    // 設定軟體序列埠(接收腳, 傳送腳)

char command;          // 設定啟動或停止馬達的參數
// 一開始先設定「停止」
boolean run = false;

// 左馬達控制設定
const byte LEFT1 = 10;
const byte LEFT2 = 9;
const byte LEFT_PWM = 5;

// 右馬達控制設定
const byte RIGHT1 = 8;
const byte RIGHT2 = 7;
const byte RIGHT_PWM = 6;

// 設定PWM輸出值
byte motorSpeed = 100;

void forward() {        // 馬達轉向:前進
digitalWrite(LEFT1, HIGH);
digitalWrite(LEFT2, LOW);
digitalWrite(RIGHT1, HIGH);
digitalWrite(RIGHT2, LOW);
}

void backward() {        // 馬達轉向:後退
digitalWrite(LEFT1, LOW);
digitalWrite(LEFT2, HIGH);
digitalWrite(RIGHT1, LOW);
digitalWrite(RIGHT2, HIGH);
}

void turnLeft() {        // 馬達轉向:左轉
digitalWrite(LEFT1, LOW);
digitalWrite(LEFT2, HIGH);
digitalWrite(RIGHT1, HIGH);
digitalWrite(RIGHT2, LOW);
}

void turnRight() {        // 馬達轉向:右轉
digitalWrite(LEFT1, HIGH);
digitalWrite(LEFT2, LOW);
digitalWrite(RIGHT1, LOW);
digitalWrite(RIGHT2, HIGH);
}

void setup() {
  BT.begin(9600);

  pinMode(LEFT1, OUTPUT);
  pinMode(LEFT2, OUTPUT);
  pinMode(LEFT_PWM, OUTPUT);
  pinMode(RIGHT1, OUTPUT);
  pinMode(RIGHT2, OUTPUT);
  pinMode(RIGHT_PWM, OUTPUT);
}

void loop() {
  if (BT.available() > 0) {
    command = BT.read();

    switch (command) {
      case 'w':                // 接收到'w',前進。
        forward();
        run = true;        // 啟動馬達
        break;
      case 'x':                // 接收到'x',後退。
        backward();
        run = true;        // 啟動馬達
        break;
      case 'a':                // 接收到'a',左轉。
        turnLeft();
        run = true;        // 啟動馬達
        break;
      case 'd':                // 接收到'd',右轉。
        turnRight();
        run = true;        // 啟動馬達
        break;
      case 's':
        run = false;        // 停止馬達
        break;
    }
  }

  if (run) {        
    // 如果要啟動馬達…
    // 向馬達輸出指定的類比電壓值
    analogWrite(LEFT_PWM, motorSpeed);
    analogWrite(RIGHT_PWM, motorSpeed);
  } else {
    // 否則…
    // 將馬達的電壓值設定成0
    analogWrite(LEFT_PWM, 0);
    analogWrite(RIGHT_PWM, 0);
  }
}



錯誤:
BTcontrilRobot_2.ino:1:4: error: stray '#' in program
BTcontrilRobot_2.ino:1:1: error: expected unqualified-id before '/'
BTcontrilRobot_2.ino: In function 'void setup()':
BTcontrilRobot_2.ino:50:3: error: 'BT' was not declared in this scope
BTcontrilRobot_2.ino: In function 'void loop()':
BTcontrilRobot_2.ino:61:7: error: 'BT' was not declared in this scope
編譯時發生錯誤



我看過了每遍程式碼照理來說因該不會出錯 畢竟曾經跑會動 可是現在不會動了想請求幫忙
回复

使用道具 举报

发表于 2015-11-9 13:13:25 | 显示全部楼层
粗心大意惹的祸,你把开头的'/'#include <SoftwareSerial.h>   '/'去掉再试试!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-11-9 13:54:01 | 显示全部楼层
謝謝 真的是斜線惹的禍
回复 支持 反对

使用道具 举报

发表于 2015-11-9 17:37:42 | 显示全部楼层
程序猿应该是最细心的了。。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-3 13:09 , Processed in 0.036810 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表