|
HC-06, GPS센서를 이용하여서 GPS센서값을 안드로이드 핸드폰에 주는 동시에 안드로이드 핸드폰에서는 아두이노의 부저를 울리게 하는 것을 만들려고 하고 있습니다. 하지만 GPS값을 받는지만 부저를 울리는게 안되네요....
HC-06모듈이 주고 받는 것이 동시에 안되는 건가요? 아니면 소스의 문제인가요?
#include <TinyGPS.h>
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(2, 3);
String sData="";
int sound=12;
TinyGPS gps;
SoftwareSerial uart_gps(6,5);
void getgps(TinyGPS &gps);
void setup()
{
uart_gps.begin(9600);
Serial.begin(9600);
pinMode(sound,OUTPUT);
BTSerial.begin(9600);
}
void loop(){
while(BTSerial.available()){
char toSend = (char)BTSerial.read();
if(toSend=='1'){
tone(sound, 294);
}
else{
noTone(sound);
}
}
while(uart_gps.available())
{
if(gps.encode(uart_gps.read())){
getgps(gps);
}
}
}
void getgps(TinyGPS &gps)
{
float latitude, longitude;
gps.f_get_position(&latitude, &longitude);
Serial.print(latitude);
Serial.print(longitude);
int i = 0;
while(Serial.available()){
sData=String(latitude)+"!"+String(longitude)+"_";
delay(2);
}
if(sData.length()>0){
Serial.print(sData);
BTSerial.print(sData);
sData="";
}
unsigned long chars;
unsigned short sentences, failed_checksum;
gps.stats(&chars, &sentences, &failed_checksum);
delay(10000);
}
|