Robofun 機器人論壇
標題:
藍芽訊號傳不進arduino裡
[打印本頁]
作者:
ourselvem
時間:
2016-5-20 10:39
標題:
藍芽訊號傳不進arduino裡
本帖最後由 ourselvem 於 2016-5-20 11:30 編輯
手機有跟hc-06連接
但是指令都傳不進去
希望有大大願意解救不才的小弟
這是app的程式
(137.88 KB, 下載次數: 420)
下載附件
2016-5-20 10:22 上傳
這是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();
}
}
作者:
超新手
時間:
2016-5-20 18:09
本帖最後由 超新手 於 2016-5-20 18:17 編輯
1. 是用 UNO 嗎?
2. 藍牙的 TX 和 RX, 分別接到 Arduino 的那兩根腳?應該是
4 接 HC-06 TX
2 接 HC-06 RX
作者:
ourselvem
時間:
2016-5-20 22:57
回復
2#
超新手
腳位設定上沒問題~因為刷光碟上的程式可以正常執行~但自己改副函數然後用appInventor寫app就無法執行
作者:
超新手
時間:
2016-5-21 06:34
1.應該是if(S4<IR&&S1<IR)
2.你改了什麼?因為你說"傳不進"? 所以你有用串列埠監視視窗去看
,確定arduino 沒收到任何值嗎?
作者:
ourselvem
時間:
2016-5-21 19:41
目前用內建的app可以動~但是換成用appinventor陪上面的程式碼藍芽有配對到但車子不會懂
作者:
auto0629
時間:
2016-10-20 17:13
要不要試看看將
Serial.println(pp);改成 BTSerial.println(pp);
歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/)
Powered by Discuz! X3.2