Tách Dữ Liệu Từ Chuỗi Trong Arduino | Cộng đồng Arduino Việt Nam

Hello Xin Chào Mọi Người! Hôm Nay Mình Xin Hướng Dẫn Các Bạn Các Tách Một Chuỗi Chứa Các Dữ Liệu Thành Các Dữ Liệu Riêng Biệt Để Xử Lí. Cụ Thể Mình Sẽ Viết Một Cái App Trên App Inventor Gửi Về Arduino Một Chuỗi Thông Qua Kết Nối Bluetooth.

1. Chuẩn Bị

Các bạn cần chuẩn bị:

  • 1 Con Module Bluetooth HC05 (Hoặc HC06)
  • 1 Con Ardunio (Mình Dùng Con Mega)
  • Vài dây breadboard nữa <3

Nối dây như sau:

HC05 Arduino
Vcc 5V
GND GND
Tx Rx1 (pin 19)
Rx Tx1 (pin 18)

2. Viết App

Ở đây mình sẽ không nói rõ mà chỉ đăng ảnh phần Code của app vì trên cộng đồng có khá nhiều bài nói về app inventor, bạn cứ search "app inventor" là ra.

App của mình gồm có 2 thanh trượt, mình sẽ code cho app gửi về hc05 1 chuỗi sau mỗi 100ms, chuỗi đó có cú pháp: "<giá trị thanh ray 1>,<giá trị thanh ray 2>" (Ví dụ "150,20").

Thiết kế App

Code cho việc kết nối bluetooth

Code gửi chuỗi qua bluetooth

3. Code Arduino

int val1, val2; String chuoi = "90,90", chuoi1, chuoi2; byte moc; void setup() { Serial1.begin(9600); // Serial 1 kết nối hc05 Serial.begin(9600); //Serial này in ra màn hình máy tính } void loop() { // Đọc và xử lí chuỗi từ app gửi về if (Serial1.available()) { chuoi = Serial1.readString(); //Serial đọc chuỗi } for (int i = 0; i < chuoi.length(); i++) { if (chuoi.charAt(i) == ',') { moc = i; //Tìm vị trí của dấu "," } } chuoi1 = chuoi; chuoi2 = chuoi; chuoi1.remove(moc); //Tách giá trị thanh trượt 1 ra chuoi1 chuoi2.remove(0, moc + 1); ////Tách giá trị thanh trượt 2 ra chuoi2 val1 = chuoi1.toInt(); //Chuyển chuoi1 thành số val2 = chuoi2.toInt(); //Chuyển chuoi2 thành số //In ra serial Serial.println(val1); Serial.println(val2); }

Với đoạn code trên, nếu ai test với arduino không có hc05 và app thì arduino sẽ tách chuỗi "90,90" thành 2 giá trị 90 và 90 để in ra Serial trên máy tính.

Ai muốn tìm hiểu thêm về mấy câu lệnh xử lí chuỗi trong code này thì vào bài này:

http://arduino.vn/reference/library/string/1/gioi-thieu/string-object-doi-tuong-chuoi-cuc-manh-tren-arduino

4. Lời Kết

Chúc các bạn thành công! Hi vọng bài viết này sẽ giúp ích cho bạn và chúc bạn có nhiều niềm vui với Arduino.

Từ khóa » Tách Chuỗi String Trong Arduino