Lập trình vi điều khiển-Phần 14-Lập trình điều khiển Arduino bằng điện thoại- Arduino Bluetooth 2

Lập trình vi điều khiển-Phần 14-Lập trình điều khiển Arduino bằng điện thoại- Arduino Bluetooth 2

my-portfolio

Phần này hường dẫn việc lập trình điều khiển mạch Arduino bằng điện thoại dùng hệ điều hành Android. Mã code của chương trình có thể download tại đâ

Cách làm BÁNH BAO đơn giản tại nhà bằng bột pha sẵn – NGON HƠN CẢ NGOÀI TIỆM
Giày Alan Walker Việt Nam Slip On Jean| alanwalker.vn
平愛梨のめっちゃくちゃ可愛い画像・写真集~Airi Taira~



Phần này hường dẫn việc lập trình điều khiển mạch Arduino bằng điện thoại dùng hệ điều hành Android. Mã code của chương trình có thể download tại đây:

Sản phẩm này hiện đang được bán tại shop của mình:
Mình nhận chuyển hàng trên toàn quốc. Nếu các bạn có điều gì cần trao đổi, xin gửi về email: hmphubt@gmail.com.
Hoặc facebook của mình:
Fanpage:
Điện thoại: 0986.977.330
Xin chân thành cảm ơn các bạn
Huỳnh Minh Phú

Nguồn: https://hdwallpaperslovely.com

Xem thêm bài viết khác: https://hdwallpaperslovely.com/kinh-doanh/

COMMENTS

WORDPRESS: 22
  • comment-avatar

    Mình xin gửi các bạn mã code của chương trình:
    /*
     PROJECT: ArduDroid
     PROGRAMMER: Hazim Bitar (techbitar at gmail dot com)
     DATE: Oct 31, 2013
     FILE: ardudroid.ino
     LICENSE: Public domain
    */
    #include<SoftwareSerial.h>
    #define START_CMD_CHAR '*'
    #define END_CMD_CHAR '#'
    #define DIV_CMD_CHAR '|'
    #define CMD_DIGITALWRITE 10
    #define CMD_ANALOGWRITE 11
    #define CMD_TEXT 12
    #define CMD_READ_ARDUDROID 13
    #define MAX_COMMAND 20  // max command number code. used for error checking.
    #define MIN_COMMAND 10  // minimum command number code. used for error checking.
    #define IN_STRING_LENGHT 40
    #define MAX_ANALOGWRITE 255
    #define PIN_HIGH 3
    #define PIN_LOW 2
    String inText;

    void setup() {
      Serial.begin(9600);
      Serial.println("ArduDroid 0.12 Alpha by TechBitar (2013)");
      Serial.flush();
      }

    void loop()
    {
      Serial.flush();
      int ard_command = 0;
      int pin_num = 0;
      int pin_value = 0;
      char get_char = ' ';  //read serial

      // wait for incoming data
      if (Serial.available() < 1) return; // if serial empty, return to loop().

      // parse incoming command start flag
      get_char = Serial.read();
      if (get_char != START_CMD_CHAR) return; // if no command start flag, return to loop().

      // parse incoming command type
      ard_command = Serial.parseInt(); // read the command
     
      // parse incoming pin# and value 
      pin_num = Serial.parseInt(); // read the pin
      pin_value = Serial.parseInt();  // read the value

      // 1) GET TEXT COMMAND FROM ARDUDROID
      if (ard_command == CMD_TEXT){  
        inText =""; //clears variable for new input  
        while (Serial.available())  {
          char c = Serial.read();  //gets one byte from serial buffer
          delay(5);
          if (c == END_CMD_CHAR) { // if we the complete string has been read
            // add your code here
            break;
          }             
          else {
            if (c !=  DIV_CMD_CHAR) {
              inText += c;
              delay(5);
            }
          }
        }
      }
      // 2) GET digitalWrite DATA FROM ARDUDROID
      if (ard_command == CMD_DIGITALWRITE){ 
        if (pin_value == PIN_LOW) pin_value = LOW;
        else if (pin_value == PIN_HIGH) pin_value = HIGH;
        else return; // error in pin value. return.
        set_digitalwrite( pin_num,  pin_value);  // Uncomment this function if you wish to use
        return;  // return from start of loop()
      }

      // 3) GET analogWrite DATA FROM ARDUDROID
      if (ard_command == CMD_ANALOGWRITE) { 
        analogWrite(  pin_num, pin_value );
        // add your code here
        return;  // Done. return to loop();
      }

      // 4) SEND DATA TO ARDUDROID
      if (ard_command == CMD_READ_ARDUDROID) {
        // char send_to_android[] = "Place your text here." ;
        // Serial.println(send_to_android);   // Example: Sending text
        Serial.print(" Analog 0 = ");
        Serial.println(analogRead(A0));  // Example: Read and send Analog pin value to Arduino
        return;  // Done. return to loop();
      }
    }

    // 2a) select the requested pin# for DigitalWrite action
    void set_digitalwrite(int pin_num, int pin_value)
    {
      switch (pin_num) {
      case 13:
        pinMode(13, OUTPUT);
        digitalWrite(13, pin_value); 
        // add your code here     
        break;
      case 12:
        pinMode(12, OUTPUT);
        digitalWrite(12, pin_value);  
        // add your code here      
        break;
      case 11:
        pinMode(11, OUTPUT);
        digitalWrite(11, pin_value);        
        // add your code here
        break;
      case 10:
        pinMode(10, OUTPUT);
        digitalWrite(10, pin_value);        
        // add your code here
        break;
      case 9:
        pinMode(9, OUTPUT);
        digitalWrite(9, pin_value);        
        // add your code here
        break;
      case 8:
        pinMode(8, OUTPUT);
        digitalWrite(8, pin_value);        
        // add your code here
        break;
      case 7:
        pinMode(7, OUTPUT);
        digitalWrite(7, pin_value);        
        // add your code here
        break;
      case 6:
        pinMode(6, OUTPUT);
        digitalWrite(6, pin_value);        
        // add your code here
        break;
      case 5:
        pinMode(5, OUTPUT);
        digitalWrite(5, pin_value);
        // add your code here      
        break;
      case 4:
        pinMode(4, OUTPUT);
        digitalWrite(4, pin_value);        
        // add your code here
        break;
      case 3:
        pinMode(3, OUTPUT);
        digitalWrite(3, pin_value);        
        // add your code here
        break;
      case 2:
        pinMode(2, OUTPUT);
        digitalWrite(2, pin_value);
        // add your code here      
        break;     
        // default:
        // if nothing else matches, do the default
        // default is optional
      }
    }

  • comment-avatar

    đấu với modul role thì sao nó nhiễu wa zay a , mong a chỉ e cách khắc phục ạ

  • comment-avatar
  • comment-avatar

    thầy chỉ e cách hiển thị gia trị nhiệt độ độ ẩm ko th

  • comment-avatar

    thầy ơi sao em làm với HC06 thì nó k hoạt động
    k biết có sự thay đổi zì không thầy

  • comment-avatar

    thầy cho em hỏi về cái ứng dụng của ông nài,,,cái block ấy,em đang làm đồ án về môn này,mong thầy chỉ giúp

  • comment-avatar

    anh cho em hỏi code trên sài mấy thiết bi zay anh

  • comment-avatar

    anh cho em hỏi vì sao khi nạp thì chưa nên cắm mấy cái chân tx và rx của arduino vs tx và rx trên HC-05. Em cảm ơn.

  • comment-avatar

    cái chỗ a thắc mắc là cái chân Tx nối với Rx và Rx nối vs Tx theo đấy là do 2 chân đó của bộ UART thì Tx là chân xuất còn Rx là chân nhận, Tx của HC05 là chân xuất của HC05 nên đương nhiên nó phải nối vào chân Rx là chân nhận của arduino và ngược lại Rx của HC05 là chân nhận của HC05 nên đương nhiên nó phải nối vào chân Tx là chân xuất của arduino

  • comment-avatar

    thay co app cua ios k thay

  • comment-avatar

    Anh cho em hỏi: hiện tại BLE 4.0 đã phổ biến,và đã có module HM-10 để thay thế HC-06,vậy có ứng dụng di động android nào viết cho chuẩn BLE 4.0 này chưa vậy anh?

  • comment-avatar

    Sản phẩm này hiện đang được bán tại shop của mình: http://www.ktphuhung.com/chi-tiet-san-pham/bluetooth-hc05-106.html.
    Mình nhận chuyển hàng trên toàn quốc. Nếu các bạn có điều gì cần trao đổi, xin gửi về email: hmphubt@gmail.com.
    Hoặc facebook của mình: https://www.facebook.com/profile.php?id=100008315270063
    Fanpage: https://www.facebook.com/shopkythuatphuhung/
    Điện thoại: 0986.977.330
    Xin chân thành cảm ơn các bạn
    Huỳnh Minh Phú

  • comment-avatar

    anh cho em hỏi: để tạo được 1 giao diện như này trên điện thoại hay máy tính thì phải học cái gì ạ

  • comment-avatar

    có cần cài đặt gì chương trình j thêm k, hay cứ nạp chương trình vào arduino rồi dùng, em đã thử mãi mà k đc, giao tiếp với HC05 bằng các lệnh AT có tác dụng gì ạ??

  • comment-avatar

    cho e hỏi giao diện trên có dùng cho hiển thị led matrix được không a. Muốn hiển thị lên led matrix 8×8 dùng code trên lạp vào arduino có được không

  • comment-avatar

    đax tìm ra nguyên nhân mua con hc 05 họ gủi con hc 06. do họ dán tem bảo hành đè lên mấy dòng chữ, xé tem mới thấy con này là 06

  • comment-avatar

    không biết cái của mình nó bị gì đã làm đúng hết mọi bước kết nối thành công mà đèn không sang hic
    chưa tim ra nguyên nhân chỗ nào

  • comment-avatar

    :v,máy em 1202 chắc không sài được rùi.không biết em giả lập android trên pc có được không.tại khi em giả lập thì các ứng dụng vẫn cài bình thường,còn ko biết cái này thế nào.thank anh

  • comment-avatar

    À, mình quên 1 việc, khi lần đầu các bạn kết nối với Bluetooth HC-05 với điện thoại thì nó sẽ hỏi password, password mặc định là 1234 nhe các bạn. Các bạn có thể đổi password sau đó.

  • comment-avatar

    Giờ em định lấy phím 13 để mở và dùng phím 12 để tắt thì sửa lại code đc k anh và sửa như thế nào anh

  • comment-avatar

    mình thay đổi đc pass của HC-05 đc ko vậy anh mặc định của nó là 1234

  • comment-avatar

    37 phut video dài nhất của anh

  • DISQUS: