如何连接Android手机; Arduino与蓝牙光导

时间:2013-09-03 08:29:05

标签: android bluetooth arduino

我想连接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代码时,一切正常。但它不起作用。请帮帮我。

4 个答案:

答案 0 :(得分:2)

你知道blueArduıno吗?您可以尝试测试您的程序&amp;蓝牙设备了解问题所在。

答案 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? 无论如何,你可以尝试以下

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

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

或者从Android市场使用蓝牙SPP

通过发送邮件中的字符进行安装和测试,以测试连接性。

随后您可以通读示例并了解使用蓝牙API。

答案 3 :(得分:0)

你可以使用Android市场的蓝牙应用程序或谷歌蓝牙示例代码(蓝牙聊天)来测试e问题是否与android代码或arduino。