我想连接Android手机和带蓝牙(JY-MCU)的Arduino Mega 2560来打开或关闭LED。这是我的Arduino代码:
#include <SoftwareSerial.h>
#define arduinoRx 2
#define arduinoTx 3
int gelen_veri;
int LedCikis = 8;
SoftwareSerial bluetooth(arduinoRx,arduinoTx);
void setup()
{
bluetooth.begin(9600);
}
void loop()
{
if(bluetooth.available()>0)
{
gelen_veri=bluetooth.read();
switch(gelen_veri)
{
case 'A' :
digitalWrite(LedCikis,HIGH);
break;
case 'K' :
digitalWrite(LedCikis,LOW);
break;
default:
break;
}
}
}
另外我有Android代码:
onlight.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
try {
// String msg = "A\n";
// mmOutputStream.write(msg.getBytes()); // transmitter nesnemize 'A' karakterini ilettik.
mmOutputStream.write('A');
} catch (IOException ex) {
Log.e("hata", ex.getMessage());
}
}
});
offlight.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
try {
mmOutputStream.write('K'); // aynı şekilde transmitter nesnemize 'K' karakterini ilettik.
} catch (IOException ex) {}
}
});
}
当我调试Android代码时,一切正常。但它不起作用。请帮帮我。
答案 0 :(得分:2)
答案 1 :(得分:1)
void findDevice() {
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (!mBluetoothAdapter.isEnabled()) {
Intent enableBluetooth = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBluetooth, 0);
}
final Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices(); //daha önceden eşleşmiş cihazların listesi alındı
if (pairedDevices.size() > 0) {
for (BluetoothDevice device : pairedDevices) {
if (device.getName().equals("HC-06")) // JY MCU ; bizim bluetooth modulumuzun default ismi.
{
mmDevice = device; // JY-MCU bizim mmDevice nesnesimiz oldu .
break;
}
}
myLabel.setText("Bluetooth Device Found");
}
}
并且
void connectBT() throws IOException {
try {
BluetoothDevice device = mBluetoothAdapter.getRemoteDevice("20:13:05:06:54:98");
// Benim bluetooth modulumun MAC adresi.
UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb");
// Standard UUID. Çok büyük ihtimalle sizinde alacağınız modulün UUID numarası aynı olacaktır
mmSocket = device.createRfcommSocketToServiceRecord(uuid);
mmSocket.connect();
mmOutputStream = mmSocket.getOutputStream();
mmInputStream = mmSocket.getInputStream();
} catch (IOException e) {
Log.d("BLUETOOTH_CLIENT", e.getMessage());
}
}
他们是我的连接方法。由于android的调试结果正常,我认为arduino代码有任何问题或我的蓝牙设备。我怎么能理解问题在哪里?
答案 2 :(得分:0)
如果您使用的是手机,您是否使用过任何蓝牙API? 无论如何,你可以尝试以下
下载广泛使用的蓝牙聊天源
或者从Android市场使用蓝牙SPP
通过发送邮件中的字符进行安装和测试,以测试连接性。
随后您可以通读示例并了解使用蓝牙API。
答案 3 :(得分:0)
你可以使用Android市场的蓝牙应用程序或谷歌蓝牙示例代码(蓝牙聊天)来测试e问题是否与android代码或arduino。