Energia – Bài 3: Giao tiếp và điều khiển ARM với Processing

Lập trình giao diện và giao tiếp với vi điều khiển nếu mới bắt đầu quả là rất khó khăn, nhưng với processing thì việc đấy trở nên đơn giản hơn bao giờ hết. Như các bài trước chúng ta đã điều khiển LED qua nút nhấn, ADC và Serial với Tiva rồi, giờ chuyển sang lập trình giao diện và điều khiển qua lại giữa TIVA và Processing thôi.

Bạn có thể tải Processing bản mới nhất tại Processing Download

 

Dimer LED với Processing

Trong ví dụ này mình sẽ thực hiện điều khiển dimmer LED (hay còn gọi là điều khiển độ sáng LED) thông qua một giao diện đơn giản từ processing và con trỏ chuột

Code Energia

Code Processing

Kết quả khi ta đưa chuột như hình thì độ sáng của đèn sẽ thay đổi

cursor_processing

 

Biến trở và Processing hiển thị màu

Ở ví dụ này ta sẽ sử dụng 3 biến trở cấp nguồn 3v3, chân còn lại nối với chân A0 A1 A2 của kit TIVA, yêu cầu là khi xoay biến trở thì giao diện được tạo từ processing sẽ đổi màu sắc dựa theo các giá trị từ biến trở.

Code Energia

Code Processing

Kết quả ta sẽ thấy màu sắc thay đổi khi xoay các biến trở

color_processing-gif

Nút nhấn, biến trở và Processing

Tận dụng số biến trở ở bài ví dụ trước, chúng ta sẽ tạo ra một số chuyển động đơn giản với hình tròn, như xoay biến trở thì hình tròn dịch chuyển sang trái, sang phải, đi lên, đi xuống, ngoài ra còn có thể thay đổi màu sắc của hình tròn bằng 1 biến trở khác.

Về nguyên tắc hoạt động mình xin tóm tắt như sau:

  • TIVA sẽ gửi 1 request tới Processing là kí tự A
  • Processing nhận được yêu cầu sẽ gửi ngược lại TIVA kí tự A, đây gọi là quá trình bắt tay
  • TIVA nhận được kí tự A từ Processing gửi thì kết thúc quá trình bắt tay, sau đó gửi dữ liệu lên có dạng [x,y,color] tương ứng với 3 giá trị đọc được từ biến trở. Dữ liệu này sẽ được lưu trong mảng 3 phần tử.
  • Processing nhận dữ liệu và show hình ảnh và chuyển động cho chúng ta quan sát.
Code Energia

Code Processing

Kết quả sau khi vặn từng biến trở ta sẽ thấy hình tròn di chuyển theo trục x, trục y, và màu sắc thay đổi dần từ đen về trắng

control_circle_processing-gif

Lưu ý: Độ phân giải ADC của TIVA là 12 bit tương ứng với giá trị là 4096

Các chương trình Energia và TIVA bạn chỉ cần copy và run chạy thử nghiệm luôn cho nóng, nhưng cố gắng hiểu và nắm được code để ứng dụng các bạn nhé.

Tạm kết

Chào mừng năm mới bằng bài hướng dẫn giao tiếp giữa TIVA và máy tính thông qua Energia và Processing, chưa bao giờ lập trình giao diện và giao tiếp máy tính lại đơn giản đến thế, hi vọng các bạn sẽ có nguồn tham khảo để ứng dụng vào trong các dự án cá nhân.

Mình sẽ cập nhật một số hướng dẫn các hàm vẽ vời thông dụng trong Processing cho các bạn sớm.

Leave a Reply

avatar

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.

  Subscribe  
Notify of