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
18 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

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Bổ trợ cho dự án Arduino - Phần 1: Giới thiệu công nghệ in 3D

Bài hôm nay, mình sẽ giới thiệu về công nghệ in 3D (3D Printing) - Một công nghệ tuyệt vời có thể làm thay đổi cả thế giới, và những ứng dụng tuyệt vời của nó trong các dự án Arduino

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

Băm xung - Điều khiển tốc độ động cơ bằng L298 với cách tiếp cận khác - Sử dụng 2 chân ENA và ENB

Hôm nay, mình sẽ hướng dẫn các bạn băm xung để điều khiển tốc độ động cơ thông qua module L298...Mình thấy trên cộng đồng có 1 bạn viết về module L298 nhưng chưa nói rõ về cách điều khiển tốc độ động cơ với ENA và ENB. Cách này sẽ ổn định hơn và dùng module L298 với hiệu suất cao hơn.

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