SERIAL_INPUT_SERIAL_COMMAND_ARGUMENT

Gợi ý ngắn: 
Sử dụng thư viện Serial và Serial Command để tiến hành làm
Cấp độ: 

Xây dựng 2 hàm LED và FADE.

  • Baudrate: 9600
  • LED
    • điều khiển sáng tắt của LED 13
    • có 1 tham số:
      • status: boolean
    • Kịch bản chính
      • status = 1 hoặc status = TRUE (không phân biệt hoa thường) ==> Đèn LED sáng.
      • status = 0 hoặc status = FALSE (không phân biệt hoa thường) ==> Đèn LED tắt.
    • Kịch bản phụ:
      • Truyền nhiều hơn 1 tham số: không ảnh hưởng
      • Không truyền tham số: LED 13 đảo trạng thái (ví dụ, đang tắt thì bật đèn và ngược lại khi người dùng gõ lệnh LED)
  • FADE
    • Điều chỉnh độ sáng của đèn LED theo tham số.
    • Có 2 tham số:
      • ledPin: các chân LED thuộc tập hợp (3, 5, 6, 9, 10, 11) = (tập hợp các chân PWM).
      • amount: byte [0 - 255].
    • Ràng buộc dữ liệu:
      • amount: luôn nằm trong đoạn [0-255], nếu amount không thuộc đoạn này thì bạn cứ việc chỉnh sửa theo ý bạn, thoải mái.
    • Kịch bản chính:
      • Điều chỉnh độ sáng bằng hàm analogWrite với các chân LED thuộc tập hợp trên với gí trị là amount.
    • Kịch bản phụ:
      • Nếu người không truyền tham số:
        • Toàn bộ LED trong tập hợp trên sẽ bị tắt.
        • Báo ra Serial Monitor nội dung: "Vo hieu hoa hieu ung Fade".
      • Nếu người dùng truyền 1 tham số là ledPin:
        • Nếu ledPin thuộc đoạn trên
          • LED tại vị trí ledPin sẽ bị tắt.
        • Còn lại:
          • In ra Serial Monitor nội dung: "Khong tim thấy LED"
      • Nếu người dùng truyền 3 tham số trở lên:
        • Báo ra serial monitor: "Cau truc lenh FADE khong hop le. Moi nhap lai".

Tài liệu tham khảo

ĐỆ TRÌNH BÀI GIẢI NGAY

Điểm: 
10
Các bài viết cùng tác giả

Cài đặt NodeJS trên Windows - mô hình môi trường IOT chuyên nghiệp

NodeJS là một hệ sinh thái Javascript mà ở đó bạn có thể lập trình nó như mọi ngôn ngữ lập trình nhúng như C++, python,... nó cũng có thể chạy đa nền tàng như Java vậy đó nhé. Nhưng luôn ghi nhớ Javascript và Java là khác nhau bạn nhé. Nodejs được xây dựng trên bộ Javascript engine V8 của Google. Mình sẽ không nói quá nhiều về chuyên môn trong bài viết này vì nó sẽ đi lệch định hướng của cộng đồng Arduino Việt Nam và cũng có rất nhiều cộng đồng NodeJS ở Việt Nam sẽ giúp bạn am tường hơn về NodeJS. Qua bài viết này, mình mong muốn bạn sẽ biết cách cài đặt NodeJS và giúp bạn thấy được tiềm năng IOT của nó.

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

Vấn đề của số chấm động và số nguyên trong ngôn ngữ lập trình C++ trên board mạch Arduino

Có bao giờ bạn tự hỏi: "Dự án của mình làm tốt thế này, chạy ngon lành rành rành thế này, chắc không có bugs đâu?". Thực sự, nếu dự án của bạn không có phần xử lý số thực chấm động trong đó thì mình nghĩ phần code của bạn sẽ hoạt động ngon lành theo thời gian. Nhưng mà có số thực thì từ từ, chúng ta cần xét lại code. Trước đây, có một số bạn nhắn tin riêng hỏi mình về code với điểm chung là "code mình chạy ngon lành lúc đầu, sau đó bị lỗi, không rõ nguyên nhân". Loại trừ các phần code logic sai ra, thì hầu hết đều là do lỗi khi xử lý số chấm động mà không quan tâm đến nền tảng lập trình bên dưới! Mà cũng đúng, chúng ta rất dễ bị đánh lừa bởi chính đoạn code chúng ta viết. Vì nó có báo lỗi biên dịch đâu mà, kaka. Qua bài viết này, mình muốn phân tích và cùng các bạn rút kinh nghiệm về số chấm động float, cách hạn chế lỗi sai với số chấm động.

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