Работа c bluetoth c/c++

Тема в разделе "Arduino & Shields", создана пользователем qwerty12344321, 26 апр 2015.

  1. Есть приложение под андроид которое отправляет 1 или 2 или 3 по bluetooth'у вот так
    Код (Text):
    MyThred.sendData("1");
    Импорт вот этого
    Код (Text):

    import java.io.IOException;
    import java.io.InputStream;
    import java.i:confused:utputStream;
    import java.util.UUID;
    import android.os.Bundle;
    import android.os.Handler;
    import android.app.Activity;
    import android.util.Log;

    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.TextView;
    import android.widget.Toast;
    import android.bluetooth.*;
    import android.content.Intent;
     
    Помогите сделать тоже самое на языке С или C++ или или дайте почитать литературу
    (Програмировать умею, руки из правильного места)(код для управления машинкой arduino + сейчас краб имеется который обходит препятствие со своим кодом тоже под arduin'кой )(этот код не мой, http://habrahabr.ru/post/211999/)
    android код кому интересно
    Код (Text):

    package com.example.rob_2_3_0;

    import java.io.IOException;
    import java.io.InputStream;
    import java.i:confused:utputStream;
    import java.util.UUID;

    import com.example.rob_2_3_0.R;

    import android.os.Bundle;
    import android.os.Handler;
    import android.app.Activity;
    import android.util.Log;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.TextView;
    import android.widget.Toast;
    import android.bluetooth.*;
    import android.content.Intent;

    public class MainActivity extends Activity {
        private static final int REQUEST_ENABLE_BT = 1;
        final int ArduinoData = 1;      
        final String LOG_TAG = "myLogs";
        private BluetoothAdapter btAdapter = null;
        private BluetoothSocket btSocket = null;
        private static String MacAddress = "20:11:02:47:01:60"; // MAC-адрес БТ модуля
        private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
        private ConnectedThred MyThred = null;
        public TextView mytext;
        Button b0, b1, b2, b3, b4;
        boolean fl=false;
        Handler h;
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
                 
            btAdapter = BluetoothAdapter.getDefaultAdapter();
            mytext = (TextView) findViewById(R.id.txtrobot);  
           
            if (btAdapter != null){
                if (btAdapter.isEnabled()){
                    mytext.setText("Bluetooth включен. Все отлично.");          
                }else
                {
                    Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
                    startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
                }
               
            }else
            {
                MyError("Fatal Error", "Bluetooth ОТСУТСТВУЕТ");
            }
         
            b0 = (Button) findViewById(R.id.b0);//Стоп
            b1 = (Button) findViewById(R.id.b1);//Вперед
            b2 = (Button) findViewById(R.id.b2);//Назад
            b3 = (Button) findViewById(R.id.b3);//Направо
            b4 = (Button) findViewById(R.id.b4);//Налево
         
            b0.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                 MyThred.sendData("0");
                }
              });
         
            b1.setOnClickListener(new OnClickListener() {
              public void onClick(View v) {
               MyThred.sendData("1");
              }
            });
       
            b2.setOnClickListener(new OnClickListener() {
              public void onClick(View v) {
               MyThred.sendData("2");
              }
            });

            b3.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                 MyThred.sendData("3");
                }
              });
         
            b4.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                    MyThred.sendData("4");
                }
            });
     
    Код (Text):

    arduino sketch -
    //Объявляем переменные
    char incomingbyte; // переменная для приема данных
    //motors A (RIGHT)
    int R_A_IA = 9; // A-IA
    int R_A_IB = 10; // A-IB
    //motors B (LEFT)
    int L_B_IA = 11; // B-IA
    int L_B_IB = 12; // B-IB
    //Инициализация переменных
    void setup() {
      Serial.begin(38400);
      //motors RIGHT
      pinMode(R_A_IA,OUTPUT);
      digitalWrite(R_A_IA, HIGH);
      pinMode(R_A_IB,OUTPUT);
      digitalWrite(R_A_IB, HIGH);
      //motors LEFT
      pinMode(L_B_IA,OUTPUT);
      digitalWrite(L_B_IA, HIGH);
      pinMode(L_B_IB,OUTPUT);
      digitalWrite(L_B_IB, HIGH);
    }

    void go_forward(){
      //motors LEFT
      digitalWrite(L_B_IA, LOW);
      digitalWrite(L_B_IB, HIGH);
      //motors RIGHT
      digitalWrite(R_A_IA, LOW);
      digitalWrite(R_A_IB, HIGH);
    }

    void go_back(){
      //motors LEFT
      digitalWrite(L_B_IA, HIGH);
      digitalWrite(L_B_IB, LOW);
      //motors RIGHT
      digitalWrite(R_A_IA, HIGH);
      digitalWrite(R_A_IB, LOW);
    }

    void go_right(){
      //motors LEFT
      digitalWrite(L_B_IA, LOW);
      digitalWrite(L_B_IB, HIGH);
      //motors RIGHT
      digitalWrite(R_A_IA, LOW);
      digitalWrite(R_A_IB, LOW);
    }

    void go_left(){
      //motors LEFT
      digitalWrite(L_B_IA, LOW);
      digitalWrite(L_B_IB, LOW);
      //motors RIGHT
      digitalWrite(R_A_IA, LOW);
      digitalWrite(R_A_IB, HIGH);
    }

    void stop_robot(){
      //motors LEFT
      digitalWrite(L_B_IA, LOW);
      digitalWrite(L_B_IB, LOW);
      //motors RIGHT
      digitalWrite(R_A_IA, LOW);
      digitalWrite(R_A_IB, LOW);
    }

    //Основной цикл программы
    void loop() {
      if (Serial.available() > 0){
        incomingbyte = Serial.read();
          if (incomingbyte == '1'){
            go_forward();
            Serial.println("FORWARD");
          }
          if (incomingbyte == '2'){
            go_back();
            Serial.println("BACK");
          }
          if (incomingbyte == '3'){
            go_right();
            Serial.println("RIGHT");
          }
          if (incomingbyte == '4'){
            go_left();
            Serial.println("LEFT");
          }      
          if (incomingbyte=='0'){
            stop_robot();
            Serial.println("STOP");
          }
      }
    }
     
     
    Последнее редактирование: 26 апр 2015
  2. Megakoteyka

    Megakoteyka Оракул Модератор

    Отформатируйте код и воспользуйтесь тэгом CODE, иначе эту простыню никто читать не станет.