Energia – Bài 1: Điều khiển LED và nút nhấn qua các ví dụ

Điều khiển LED là bài cơ bản khi mới bắt đầu, nhưng nếu chỉ điều khiển bật tắt LED không thì cũng hơi buồn chán một chút, thôi thì thay đổi không khí riêng về LED và nút nhấn mình làm một loạt ví dụ luôn cho dễ làm quen.

Trước khi bắt đầu thì mình post lại hình ảnh pinout của TIVA cho các bạn tiện theo dõi chân cẳng

tm4c123pinmap

Cấu trúc chung của một chương trình Energia thường có dạng

Trước khi bắt đầu các bạn nên dành thời gian khoảng 30ph để xem và làm theo các ví dụ trong video lập trình ARM TIVA với Energia để khởi động làm quen.Trong các ví dụ dưới mình tổng hợp và thay đổi lại từ các ví dụ của Energia cho phù hợp với kit TIVA kèm theo giải thích bằng comment bên cạnh dòng lệnh luôn cho các bạn tiện theo dõi

Sáng tắt dần LED

Ví dụ cơ bản đầu tiên để bắt đầu là làm một LED sáng dần và tắt dần.

Code

Sáng tắt dần 3 LED đuổi nhau

Tiếp tục với việc làm sáng 3 LED lần lượt với các độ sáng khác nhau, hàm analogWrite ở đây tương ứng với PWM nếu bạn dùng nó để điều khiển động cơ.

Code

Sáng tắt 2 LED sử dụng mảng

Với ví dụ này ta có thể điều khiển truy xuất, điều khiển từng LED riêng biệt. Ở đây mình tận dụng 2 LED có sẵn là xanh lá và xanh lam, bạn có thể nối LED riêng ở ngoài và khai báo 5-10 chân (ví dụ chân từ 30-40) để điều khiển tăng độ khó

Code

Chớp LED không sử dụng delay

Ngoài việc sử dụng hàm delay() có sẵn của Energia thì còn một cách khác là dùng millis(), có thể xem cách này tương tự như lập trình timer 🙂

Code

Ấn nút chớp LED

Sau khi qua vài bài về LED thì chúng ta sẽ thử thao tác giữa nút nhấn và LED, ở đây mình tận dụng luôn nút nhấn có trên kit, đỡ phải nối dây thêm phức tạp. Nếu bạn muốn nối nút nhấn ở ngoài thì tham khảo thêm về cách kết nối nút nhấn dạng pull up nhé.

Code

Bật tắt LED qua terminal

Sau khi thử nghiệm nhấn nút điều khiển LED rồi thì mình thử sang bài điều khiển bật tắt LED từ máy tính xem sao, ấn chữ H sau đó enter thì LED sáng, ngược lại chữ L thì LED tắt.

Code

Điều khiển màu 3 LED bằng bảng mã ASCII

Điều khiển được 1 LED rồi, giờ chúng ta thử với 3LED phối hợp, tạo mã màu điều khiển màu sắc của LED RGB xem sao. Bài này có thể ứng dụng được cho điều khiển LED RGB thông qua máy tính.

Code

Đọc trạng thái nút nhấn hiển thị terminal

Nút nhấn điều khiển LED đã ổn rồi, giờ làm thế nào để biết là nút đã ấn hay chưa nhỉ, thử lập trình xem trạng thái nút xem thế nào ? Nếu có ấn thì hiển thị số 1, không ấn thì số 0

Code

Đếm số lần ấn nút và hiển thị trạng thái nút nhấn

Tiếp tục cải tiến ví dụ trước đếm xem nút nhấn được ấn bao nhiêu lần

Code

Tạm kết

Coi như chúng ta đã đi qua một cơ số bài về LED, nút nhấn, hiển thị thông tin qua terminal, các bài phối hợp giữa 3 cái trên, đọc hiển thị trạng thái, quá nhanh quá nguy hiểm. Hi vọng sẽ giúp được các bạn làm quen nhanh chóng và có thể ứng dụng được vào các bài toán của riêng mình.

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