Tách dữ liệu từ chuỗi trong App Inventor

I. Giới thiệu

Hôm nay, mình sẽ hướng dẫn các bạn tách text, hay ký tự trong một chuỗi trong App Inventor. Giả sử điện thoại nhận được giá trị gửi về từ Arduno với 3 thông số: Nhiệt độ, độ ẩm, khí gas. Vậy làm thế nào để tách 3 thứ đó ra khỏi chuỗi nhận được???

II. Cách làm

App Inventor là một công cụ hữu ích để lập trình ứng dụng đơn giản trên điện thoại Android rất phù hợp với các ứng dụng tương tác với Arduino. Bằng cách sử dụng chỉ bằng phương pháp kéo thả các đối tượng và lập trình các đối tượng cũng chỉ bằng kéo thả các khối Code. Vì vậy nó khá đơn giản....Để tách các text, dữ liệu trong một chuỗi cho trước các bạn dùng khối sau!!!

Khối này sẽ trả về text, dữ liệu...đã tách được từ một chuỗi nào đó...Cách dùng như sau: Ở dòng đầu segment text. các bạn kéo thả chuỗi. Ở Start là vị trí ký tự đầu tiên của text muốn tách ra khỏi chuỗi. Length là vị trí kết thúc của ký tự trong text mình muốn tách, Tức là sau khi sử dụng, các bạn sẽ nhận được một text kéo dài từ ký tự Start đến Length...VD: bạn có chuỗi " Arduino " bạn muốn tách text "no" trong chuỗi rồi gán vô Textbox1...bạn phải làm như sau: vì ký tự "n" nằm ở vị trí thứ 6 trong chuỗi "Arduino" và "o" ở vị trí thứ 7 nên khối code có dạng:

Nhưng khi muốn tách 2 dữ liệu liên tục và độ dài nhảy lung tung bị thay đổi không thể xác định thì mọi việc không đơn giản như v!!! Ví dụ...dữ liệu gửi về có dạng: Nhiệt độ, Độ ẩm...Lúc này bạn phải làm như sau. VD: Chuỗi gửi về có dạng: " Nhiệt độ, độ ẩm " . Để tách giá trị Nhiệt độ bạn sẽ tách Text Start từ ký tự 1, đến ký tự ngăn cách "," . Để làm được như vậy....bạn cần phải biết được ký tự ngăn cách đó nằm ở vị trí thứ bao nhiêu trong dãy? bằng lệnh:

Lệnh này sẽ trả về giá trị...vị trí của ký tự piece ( Ở đây là dấu , nằm ở đâu trong chuỗi Textbox1.Text  )...Giả sử trong Textbox1 có chuỗi " Nhiệt độ, độ ẩm " Vây để tách Nhiệt độ ra khỏi chuỗi và hiển thị lên Textbox2 thì :

Sau khi tìm được vị trí của ký tự ngăn cách..Ta sẽ trừ đi 1 để bỏ đi kỹ tự ngăn cách ," ...Chỉ lấy mỗi giá trị Nhiệt độ để hiển thị lên Textbox2...Để tách các giá trị tiếp theo các bạn cũng làm tương tự

II

III. Lời kết

Như vậy là các bạn đã có thể tách text trong một chuỗi cho trước với App Inventor rồi đấy!!! Với việc tách chuỗi...các bạn có thể dùng if....then...để làm việc vs giá trị độ ẩm...VD: Nếu Textbox2 > 40 thỳ thông báo trời nóng!!! Chúc các bạn thành công!!!!

 

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

Bộ điều khiển PID - ứng dụng phần 2 - xe dò line dùng thuật toán PID

Tiép nối bài viết về xe dò line cảm ơn Đỗ Hữu Toàn đã viết hộ mình phần 4. hôm nay mình sẽ làm cho chiếc xe dò line đi mượt và có hồn hơn 

lên
34 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ả

Kết nối Raspberry và máy tính qua cổng Serial

Trong bài chia sẻ này, mình sẽ chia sẻ cách kết nối, điều khiển Raspberry Pi 2 qua cổng Serial. Ưu điểm của cách kết nối này là có thể đồng thời cấp nguồn cho Pi của bạn và không cần bàn phím, chuột hay màn hình kết nối và làm việc với Pi. Bạn sẽ cần cài đặt phần mềm mô phỏng thiết bị đầu cuối ( ở đây là Putty) nếu bạn sử dụng Windows, ngoài ra còn cần cài đặt Driver cần thiết. Raspberry Pi được tích hợp sẵn cổng giao tiếp nối tiếp Serial cho phép các thiết bị kết nối tới giao diện điều khiển dòng lệnh, đăng nhập và làm việc như một User. Chúng ta cũng nên tìm hiểu một cách tương tự để kết nối với Pi qua mạng nội bộ sử dụng SSH theo bài viết sau của bác raspi: tại đây

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

Tìm hiểu giao thức MQTT

Như các bạn đã biết ESP8266 là module wifi có chức năng thu và phát sóng wifi, được ứng dụng nhiều trong các dự án IOT. Và để sử dụng ESP8266 một cách triệt để, thì cần kết hợp với giao thức MQTT. Vậy MQTT là gì??? Và ESP8266 có liên hệ gì với MQTT??? Chúng ta sẽ cùng đi tìm hiểu ngay bây giờ!!!

lên
28 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: