Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 2477|回復: 5
打印 上一主題 下一主題

藍芽訊號傳不進arduino裡

[複製鏈接]
跳轉到指定樓層
1#
發表於 2016-5-20 10:39:08 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最後由 ourselvem 於 2016-5-20 11:30 編輯

手機有跟hc-06連接
但是指令都傳不進去
希望有大大願意解救不才的小弟
這是app的程式


這是arduino的

#include <Adafruit_NeoPixel.h>
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(4, 2); // RX, TX
#define MR2    5   
#define MR1    6   
#define ML1    10  
#define ML2    11  

#define IR_RR  A2  
#define IR_R   A3  
#define IR_L   A4  
#define IR_LL  A5  

#define SpeedR 179
#define SpeedL 158

int  IR =250;   
int S1,S2,S3,S4;
int CL = 0;
int CR = 0;  
char pp;

void motor();
void CDSL();
void CDSR();
void ir();
void IR1();
void IR2();
void IR3();

float getDistance(int trig,int echo){
    pinMode(trig,OUTPUT);
    digitalWrite(trig,LOW);
    delayMicroseconds(2);
    digitalWrite(trig,HIGH);
    delayMicroseconds(10);
    pinMode(echo,INPUT);
    return pulseIn(echo,HIGH,30000)/58.0;
}

void setup() {
   Serial.begin(9600);
   BTSerial.begin(9600);
   pinMode(MR1,OUTPUT);
   pinMode(ML1,OUTPUT);
   pinMode(IR_RR,INPUT);
   pinMode(IR_R,INPUT);
   pinMode(IR_L,INPUT);
   pinMode(IR_LL,INPUT);
}

void loop() {
  
if(BTSerial.available() > 0){
    pp = BTSerial.read();
    Serial.println(pp);
    switch (pp){
      case 'f':
     ir();
     IR1();
     IR2();
      break;

      case 's':
      ir();
      IR3();
      break;
    }
    delay(50);

     }
}
void motor()
{
        digitalWrite(MR1,0);
        digitalWrite(ML1,0);
}
void ir()
{
S2=analogRead(IR_L);
S3=analogRead(IR_R);
analogWrite(ML1,SpeedL);
analogWrite(MR1,SpeedR);
delay(1);

  if(S2>IR)
  {
   analogWrite(ML1,SpeedL-20);
   analogWrite(MR1,LOW);
   analogWrite(MR2,15);
   delay(1);
  }
  if(S3>IR)
  {
   analogWrite(ML1,LOW);
   analogWrite(MR1,SpeedR-20);
   analogWrite(ML2,15);
   delay(1);
  }
}
void IR1()
{
    S1=analogRead(IR_LL);
    if(S1<IR)   
  {
    digitalWrite(MR1,LOW);
    digitalWrite(ML1,LOW);
    delay(5000);
    analogWrite(ML1,SpeedL);
    analogWrite(MR1,SpeedR);
    delay(10);
    ir();
  }
}
void IR2()
{
   S4=analogRead(IR_RR);
   if(S4<IR)   
  {
   analogWrite(ML1,SpeedL-20);
   analogWrite(MR1,LOW);
   analogWrite(MR2,10);
   delay(1);
  }
}
void IR3()
{
   S1=analogRead(IR_LL);
   S4=analogRead(IR_RR);
   if(S4<IR&S1<IR)
{
     
    analogWrite(ML1,LOW);
    analogWrite(MR1,LOW);
    delay(5000);
    analogWrite(ML1,SpeedL);
    analogWrite(MR1,SpeedR);
    delay(10);
    ir();
   }
}
2#
發表於 2016-5-20 18:09:39 | 只看該作者
本帖最後由 超新手 於 2016-5-20 18:17 編輯

1. 是用 UNO 嗎?
2. 藍牙的 TX 和 RX, 分別接到 Arduino 的那兩根腳?應該是
4 接 HC-06 TX
2 接 HC-06 RX
3#
 樓主| 發表於 2016-5-20 22:57:38 | 只看該作者
回復 2# 超新手
腳位設定上沒問題~因為刷光碟上的程式可以正常執行~但自己改副函數然後用appInventor寫app就無法執行
4#
發表於 2016-5-21 06:34:11 | 只看該作者
1.應該是if(S4<IR&&S1<IR)
2.你改了什麼?因為你說"傳不進"? 所以你有用串列埠監視視窗去看
,確定arduino 沒收到任何值嗎?
5#
 樓主| 發表於 2016-5-21 19:41:14 | 只看該作者
目前用內建的app可以動~但是換成用appinventor陪上面的程式碼藍芽有配對到但車子不會懂
6#
發表於 2016-10-20 17:13:26 | 只看該作者
要不要試看看將

Serial.println(pp);改成 BTSerial.println(pp);
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-4-30 13:13 , Processed in 0.226547 second(s), 10 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表