| 
 | 
 
 本帖最後由 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(); 
   } 
} |   
 
 
 
 |