Tách Dữ Liệu Từ Chuỗi Trong Arduino

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ị:

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.

lên
9 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Xe điều khiển bằng tay game Dual Shock3 thông qua Bluetooth

Vừa bắt đầu với arduino được hơn 1 tuần, có tham khảo qua các nguồn từ "trung ương đến địa phương", nắm được 1 số kiến thức cơ bản nên mình bắt đầu thực hiện 1 sản phẩm để đúc kết kinh nghiệm. Trong số đó thì xe điều khiển là dễ nhất. Kết hợp với cái tay game ps3 nằm lăn lóc ở góc nhà. Thế là có 1 chiếc xe điều khiển từ xa. Bắt đầu nhé.

lên
17 thành viên đã đánh giá bài viết này hữu ích.

Làm xe điều khiển từ xa bằng Bluetooth - Điều khiển bằng Android với App Inventor

Mình rất thích điện tử nhưng không học về ngành điện tử. Rất may là có Adruino, rồi có cộng đồng Adruino Việt Nam, đặc biệt là sự nhiệt tình của tất cả các bạn trong cộng đồng, mình đã làm được 1 chiếc xe điều khiển từ xa. Cho con chơi là lí do phụ thôi, còn tìm hiểu, học tập là chính. Hôm nay chia sẻ cùng các bạn, cùng gửi lời cảm ơn đến tất cả các bạn trong cộng đồng. Có bạn thì giúp đỡ trực tiếp, có bạn thì viết bài, rồi có bạn thì bình luận, nêu câu hỏi. Tất cả đều có giá trị đối với mình.

Ngại viết bài nên mình đăng dưới dạng ảnh.

lên
26 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Tự làm bộ led nháy theo nhạc không cần IC chuyên dùng

Xin chào các bạn, từ thí nghiệm này mình đã nghiên cứu và tạo ra một bộ led nháy theo nhạc khá thú vị, mặc dù không được chuẩn như mấy con IC chuyên làm led nghe nhạc cheeky, nhưng mong rằng các bạn sẽ thấy thích nó :). Ta cùng bắt tay vào làm thôi.
lên
21 thành viên đã đánh giá bài viết này hữu ích.

Lập trình Arduino không cần viết code - Phần 13: Tạo hàm điều khiển bộ phận di chuyển sử dụng L298

Đây là phần 13 của chuỗi bài viết "Lập trình Arduino không cần viết code"

- Xem lại phần 12 tại đây

Ở phần trước, mình đã hướng dẫn các bạn tạo một hàm giúp điều khiển motor dễ dàng hơn, và mục đích của phần đó chính là tạo hàm của phần này. Hôm nay mình sẽ hướng dẫn các bạn tạo hàm điều khiển bộ phận di chuyển sử dụng module L298. Với hàm này bạn có thể ứng dụng nó làm các dự án xe hay robot di chuyển bằng bánh xe sử dụng module L298 để điều khiển.

lên
12 thành viên đã đánh giá bài viết này hữu ích.