4

我想用蓝牙 (JY-MCU) 连接 Android 手机和 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 代码时,一切正常。但它不起作用。请帮帮我。

4

4 回答 4

2

你知道blueArduıno吗?您可以尝试测试您的程序和蓝牙设备,以了解问题出在哪里。

于 2013-09-04T06:41:43.200 回答
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代码有问题或者我的蓝牙设备有问题。我怎么知道问题出在哪里???

于 2013-09-03T10:32:39.903 回答
0

如果您使用的是手机,您是否使用过任何蓝牙 API?无论如何,您可以尝试以下方法

下载广泛可用的蓝牙聊天源

https://www.google.com.sg/search?q=bluetooth+chat+&oq=bluetooth+chat+&aqs=chrome..69i57j0l3.2172j0&sourceid=chrome&ie=UTF-8#q=bluetooth+chat+source

或使用安卓市场的蓝牙 SPP

安装和测试通过从发送消息中发送字符来测试连通性。

随后,您可以通读该示例并了解使用蓝牙 api 的感觉。

于 2013-09-03T09:58:54.717 回答
0

您可以通过使用来自 android 市场的蓝牙 spp 或谷歌蓝牙示例代码 (bluetoothchat) 来测试 e 问题是否与 android 代码或 arduino 相关。

于 2013-09-04T01:01:15.870 回答