求助 Arduino 蓝牙 手机 通信
arduino吧
全部回复
仅看楼主
level 3
kbo23 楼主
我要做气体监测,现在监测器,蜂鸣器没毛病。就是蓝牙模块,和手机能连上但手机显示的数值就152 128等三四个数间变,而且根本和测的数对不上,大神帮看看现在Arduino这边代码有问题吗??求解救,大谢[88]
#include<SoftwareSerial.h>
#define rxPin 0
#define txPin 1
int a=2;
SoftwareSerial mySerial=SoftwareSerial(rxPin,txPin);
byte pinState=0;
void setup()
{
pinMode(rxPin,INPUT);
pinMode(txPin,OUTPUT);
mySerial.begin(4800); //4800bps
}
void loop()
{
int val;
val=analogRead(0);
mySerial.println(val,DEC);
delay(700);
if(val>100)
{
pinMode(a,OUTPUT);
digitalWrite(a,HIGH);
delay(200);
digitalWrite(a,LOW);
delay(200);
}
else pinMode(a,INPUT);
}
2013年05月16日 12点05分 1
level 3
kbo23 楼主
@春泥蛋炒饭 召唤大神!!!!
2013年05月16日 12点05分 2
level 3
kbo23 楼主
求解答呀
2013年05月16日 16点05分 3
level 13
代码没看出啥。但是最好不要把软串口定义到pin0和1上,因为这也是硬串口的位置,失去了使用软串口的意义。你可以从手机上向蓝牙发AT命令,看arduino能不能收到,还有,再确认一下波特率是否匹配。
2013年05月16日 16点05分 4
level 3
kbo23 楼主
这是我安卓端的蓝牙代码
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter
if (adapter != null)
{
if(!adapter.isEnabled())
{
adapter.enable();
Intent intent=new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivity(intent);
}
Set<BluetoothDevice> devices = adapter.getBondedDevices();
if (devices.size() > 0)
{
for (Iterator iterator = devices.iterator(); iterator.hasNext();)
{
device = (BluetoothDevice)iterator.next();
}
}
if (device.getName().equals("HC-05"))//RobotBase
{
try
{
clienSocket = device.createRfcommSocketToServiceRecord(UUID
.fromString("00001101-0000-1000-8000-00805F9B34FB"));
clienSocket.connect();
} catch (IOException e)
{
e.printStackTrace();
}
try
{
inputStream = clienSocket.getInputStream();
} catch (IOException e)
{
e.printStackTrace();
}
}
else{
openOptionsDialog(R.string.prompt,R.string.connect_Wrong);
}
}
else
{
openOptionsDialog(R.string.prompt,R.string.bluetooth_Wrong);
}
然后i=inputStream.read();
有问题吗??@春泥蛋炒饭
2013年05月17日 07点05分 5
抱歉,看不懂安卓代码。你先确保arduin和手机能互相收发字符
2013年05月17日 15点05分
回复 春泥蛋炒饭 :嗯,我试试
2013年05月17日 17点05分
level 1
Arduino端波特率不是115200吗?
2014年06月06日 15点06分 6
1