Bài 5: Đồng hồ đếm ngược - MakerEdu Creator Kit for mBlock

From MakerLab Wiki
Jump to navigation Jump to search

Mô tả dự án

... hình thumnail dự án

Trong bài này, bạn sẽ làm quen với một thiết bị mới tên là động cơ RC Servo. Thiết bị này có tính năng đặc biệt chỗ bạn có thể điều khiến góc xoay của thiết bị bao nhiêu độ theo ý muốn cũng được, giới hạn trong phạm vi từ 0 độ đến 180 độ.

Với khả năng này của Servo, bạn sẽ được hướng dẫn làm một bộ đồng hồ đếm ngược.

Sử dụng biến trở để chọn mức thời gian muốn đếm, chọn được trong khoảng từ 0 đến 60s, giá trị bạn chọn sẽ hiển thị qua các nhân vật Sprite trên phần mềm mBlock

Sau khi đã chọn mức thời gian bạn muốn, thao tác nút nhấn để bắt đầu đếm ngược.

Servo sẽ quay kim đồng hồ từng giây, cho đến khi đếm xong.

Các bước thực hiện

Danh sách thiết bị

Chuẩn bị trước dự án

  • Tải và cài đặt phần mềm mBlock theo hướng dẫn tại đây.
  • Tải và cài đặt Driver, cấu hình cho Mạch MakerEdu Creator trên phần mềm mBlock theo hướng dẫn tại đây.
  • Tải và cài đặt Extension MakerEdu Hardware trên phần mềm mblock theo hướng dẫn tại đây.
  • Kết nối mạch MakerEdu Creator với máy tính qua cáp USB-C sẽ thấy đèn nguồn (PWR) trên mạch phát sáng.
  • Hiểu cấu trúc của một chương trình trên phầm mềm mBlock và "ngôn ngữ lập trình kéo thả khối" theo hướng dẫn tại đây.

... hình kết nối mạch MakerEdu Creator với máy tính

Sơ đồ kết nối

MakerEdu Creator Devices
Port A1 Biến trở
Port A2 Nút nhấn
Port D10 Động cơ RC Servo
Icon-Attention-White.png Kết nối Servo đúng cách!
Trên mạch MakerEdu Creator bạn tìm đến cụm chân cắm Servo có 3 màu (vàng - đỏ - đen) và kết nối như sau:
  • Dây cam → chân vàng (S)
  • Dây đỏ → chân đỏ (+)
  • Dây đen → chân đen (-)

Chương trình

  1. Download file code "Bai_5.mblock".
  2. Mở phần mềm mBlock vào [File] chọn [Open from your computer] và mở file code bạn vừa tải về.
  3. Ghép nối các thiết bị theo sơ đồ kết nối và tiến hành nạp chương trình [Upload] theo hướng dẫn tại đây.

Blocks Devices:

Creator mBlock Bai 5.png

Giải thích code

Chương trình hoạt động:

Bên trong khối [ forever ].

  • Đầu tiên bo mạch đọc giá trị Analog từ chân A1 (Biến trở) rồi cho lưu vào biến "pot".
  • Sau đó biến "pot" sẽ qua khối [ constrain... ] để lọc giá trị, đảm bảo luôn nằm trong khoảng "từ 0 đến 676".
  • Rồi dùng khối [ map... ] để ánh xạ giá trị biến "pot" của thang đo Analog sang giá trị biến "time" của thang đo thời gian (0 giây - 60 giây). Nhân vật Bird sẽ cho biết thời gian đếm bạn đang chọn.
Icon-Done-White.png Động cơ Servo là thiết bị có thể điều khiển góc quay "từ 0º đến 180º".
...
  • Nếu đặt cứ mỗi một góc quét 3º tương ứng 1 giây, thì với góc quét 180º của Servo hoàn toàn có thể hiển thị cho 60 giây.
  • Dùng công thức { angle = time * 3 } để tính góc quay cho Servo (biến "angle") tương ứng với số giây hiện tại (biến "time").
  • Dùng khối [ set Servo port... ] để điều khiển Servo ở chân D10 quay đến góc theo giá trị biến "angle". Bạn có thể xem giá trị này qua nhân vật Panda mBlock.
  • Cuối cùng, bo mạch sẽ kiểm tra liên tục chân A2, xem có ai thao tác với nút nhấn không?
  • Nếu không có, thì không làm gì cả và quay lại bước đầu tiên. Nếu có phát hiện nút vừa được nhấn 1 click:
    1. Sao lưu giá trị biến "time" vào biến "count".
    2. Dùng khối [ repeat... ] tạo một vòng lặp {time} lần.
    3. Mỗi vòng lặp:
      • Giảm biến "count" xuống 1 đơn vị.
      • Tính công thức {angle = count * 3}.
      • Điều khiển Servo ở chân D10 quay theo giá trị biến "angle".
      • Nhân vật Bear sẽ cho bạn biết đang đếm còn bao nhiêu giây.
      • Chờ 1 giây và thực hiện lại vòng lặp này đủ {time} lần.

Kết quả

Sau khi đã nạp code thành công ...

... hình dự án hoạt động

Bài tập thêm

  • Dùng bìa cartoon để làm mặt đồng hồ, vẽ lên mặt bìa các dấu gạch tương ứng cho từng giây, và vẽ lên các con số để mình dễ xem giờ. Thiết kế các chỗ để lắp đặt các thiết bị khác như nút nhấn hay biến trở làm thành một hộp kín. Thế là bạn đã có một bộ đếm xịn xò của riêng mình rồi đó. Trang trí thêm trên hộp với bất kì hình vẽ nào bạn thích nhé.
  • Dùng thêm còi báo, để nâng cấp bộ này nào. Chẳng hạn như khi bộ đếm bắt đầu và kết thúc còi sẽ báo tick tick để biết nè. Hay khi chỉ còn vài giây, từ 10s chẳng hạn, nhịp còi sẽ tăng nhanh dần.
  • Thay vì chỉnh được trong 1 phút, bạn thử mở rộng lên 5 phút, lên 10 phút, hay cả 30 phút thử xem.

Tài liệu tham khảo

... link down code mẫu

Bài viết liên quan

...