Skip to main content

Lập trình hai nút

Biểu tượng Hộp công cụ dành cho giáo viên Hộp công cụ dành cho giáo viên - Mục đích của hoạt động này

Ở trang trước, học sinh đã lập trình cánh tay để xoay lên bằng cách sử dụng nút Brain Up. Trang này sẽ xây dựng dựa trên dự án trước đó để lập trình cánh tay quay xuống bằng cách sử dụng nút Brain Down.

VEXcode IQ Nếu sau đó chặn khỏi hộp công cụ

Hoạt động này sẽ giới thiệu cho học sinh cách lập trình với các khối [If else] cũng như sử dụng các khối cảm biến và khối điều khiển để robot kiểm tra xem các nút Brain Up hay Down được nhấn. Nếu nhấn nút Brain Up, cánh tay của Clawbot sẽ giơ lên. Nếu nhấn nút Brain Down, cánh tay của Clawbot sẽ hạ xuống. Điều này được xây dựng dựa trên hoạt động trước đó và cũng sẽ đặt nền móng cho Thử thách giao diện người dùng trong phần Suy nghĩ lại.

Đối với Thử thách giao diện người dùng, học sinh sẽ cần lập trình cho Clawbot của mình để nâng cánh tay, hạ cánh tay, mở móng vuốt và đóng móng vuốt bằng cách sử dụng các nút trên IQ Robot Brain.

Để biết thêm thông tin về các khối [If then], [If else]>, <Brain hoặc [Spin], hãy truy cập thông tin trợ giúp trong VEXcode IQ. Để biết thêm thông tin về công cụ trợ giúp tích hợp này, hãy nhấp vào đây.

Sau đây là sơ lược về những điều học viên của anh chị em sẽ làm trong sinh hoạt này:

  • Sử dụng ArmUp2 hiện có để xây dựng dự án ArmUpDown được cung cấp và dự đoán những gì dự án sẽ làm.
  • Xem lưu đồ để giúp giải thích dòng chảy của các khối trong dự án.
  • Tinh chỉnh lời giải thích của họ về những gì  dự án ArmUpDown thực hiện.
  • Xem video hướng dẫn If Then Else Blocks.
  • Chỉnh sửa dự án của họ bằng cách sử dụng các khối [If else].
  • Dừng lại và thảo luận: Học sinh sẽ suy ngẫm về dự đoán của họ về những gì dự án sẽ có Clawbot làm so với quan sát thực tế của họ.
  • Lập trình móng vuốt bằng cách sử dụng cùng một phác thảo dự án từ việc lập trình cánh tay.
Vật liệu cần thiết:
Số lượng Vật liệu cần thiết
1

Bộ siêu công cụ IQ VEX

1

VEXcode IQ

1

Sổ tay kỹ thuật

1

Mẫu Clawbot (Drivetrain)

Biểu tượng Hộp công cụ dành cho giáo viên Hộp công cụ dành cho giáo viên

Để biết các đề xuất về chiến lược giảng dạy cho phần này, hãy xem lại cột Phân phối của Hướng dẫn thực hiện hoặc không thực hiện nhịp độ (Google / .docx / .pdf).

Cánh tay Clawbot đã sẵn sàng để di chuyển lên xuống! Hoạt động

này sẽ cung cấp cho bạn các công cụ để lập trình robot của bạn với các hành vi có điều kiện.
 Khối [If else] là trọng tâm chính trong hoạt động nhưng các khối Sensing, Control và Operator khác cũng được sử dụng.

Các khối mẫu từ Hộp công cụ IQ VEXcode - Nhấn nút Brain, không phải người vận hành, đợi cho đến khi, nếu sau đó và nếu khối khác.

Bạn có thể sử dụng thông tin Trợ giúp bên trong VEXcode IQ để tìm hiểu về các khối. Để được hướng dẫn sử dụng tính năng Trợ giúp, hãy xem hướng dẫn Sử dụng Trợ giúp.

Thanh công cụ IQ VEXcode với biểu tượng Hướng dẫn được gọi ra trong một hộp màu đỏ, ở bên phải của menu Tệp.

Biểu tượng Mẹo dành cho giáo viên Lời khuyên của giáo viên

Nếu đây là lần đầu tiên học sinh sử dụng VEXcode IQ, các em cũng có thể xem các Hướng dẫn trong thanh công cụ để học các kỹ năng cơ bản khác.

Thanh công cụ IQ VEXcode với biểu tượng Hướng dẫn được gọi ra trong một hộp màu đỏ, ở bên phải của menu Tệp.

Biểu tượng Hộp công cụ dành cho giáo viên Hộp công cụ dành cho giáo viên

Dự án mà các em học sinh xây dựng ở trên sẽ thành công. Khi nhấn nút Brain Up, cánh tay sẽ quay lên và khi nhấn nút Brain Down, cánh tay sẽ quay xuống. Mặc dù dự án hoạt động như hiện tại, nhưng nó không được viết một cách tối ưu. Có thể có một trường hợp trong đó cả hai điều kiện có thể đúng cùng một lúc. Ngoài ra, hãy lưu ý rằng vì tình trạng của nút Brain Up bắt đầu được nhấn trước, nếu nhấn giữ nút Brain Up và sau đó nhấn Brain Down, cánh tay sẽ tiếp tục quay lên. Hành động đó sẽ không dừng lại cho đến khi nút Brain Up được nhả ra. Do đó, dự án sẽ được viết lại trong bước tiếp theo để bao gồm một khối [If then else] để tránh những vấn đề tiềm ẩn này.

Biểu tượng Hộp công cụ dành cho giáo viên Hộp công cụ dành cho giáo viên - Dừng lại và thảo luận

Bây giờ các sinh viên đã kiểm tra dự án, hãy hỏi họ dự đoán của họ như thế nào so với quan sát của họ. Tạo điều kiện thuận lợi cho cuộc thảo luận bằng cách đặt ra những câu hỏi sau:

  • Dự đoán của bạn có giống với quan sát của bạn không?

  • Điều gì dường như đang xảy ra trong dự án?

  • Các điều kiện của nút Lên và Xuống chỉ được kiểm tra một lần?

  • Bạn có nghĩ rằng dự án có thể được tổ chức lại để chạy hiệu quả hơn?

Bước 2: Tìm hiểu quy trình dự án.

Trong bước trước, dự án đã nâng và hạ cánh tay. Tuy nhiên, vì tình trạng của nút Brain Up bắt đầu được nhấn là đầu tiên, nếu nút Brain Up được giữ xuống và sau đó nhấn Brain Down, cánh tay sẽ tiếp tục quay lên vì hành động đó sẽ không dừng lại cho đến khi nút Brain Up được nhả ra. Xem lưu đồ sau để giải thích quy trình dự án.

Hình ảnh luồng dự án cho thấy cách dự án được thực hiện để đưa ra quyết định. Nếu nhấn nút não lên được gắn nhãn là điều kiện, nếu nhấn nút này/Đúng, thì các khối bên dưới sẽ chạy theo thứ tự cho đến điều kiện tiếp theo. Nếu nó không được nhấn/sai, một đường màu đỏ cho biết các khối bị bỏ qua và dự án di chuyển để kiểm tra điều kiện thứ hai. Sự phân nhánh tương tự xảy ra đối với tình trạng thứ hai - nếu nhấn nút não xuống.

Do đó, dự án có thể thay thế các khối [If then] bằng các khối [If then else] để chỉ có một phiên bản có thể đúng bất cứ lúc nào.

Xem video hướng dẫn sau đây về các khối [If else]:

Bắt đầu bằng cách xem video Hướng dẫn If-Then-Else trong VEXcode IQ.

Biểu tượng hướng dẫn đọc Nếu sau đó khối khác ở dưới cùng và hiển thị đường viền của các khối ở trên cùng.

Sử dụng các khối [If else] cũng sẽ loại bỏ sự cần thiết của các khối [Wait until] vì cánh tay sẽ tiếp tục quay cho đến khi nút Brain Up được nhả ra. Điều này xảy ra bởi vì phần "else" của [If then else] không bao giờ đạt được cho đến khi điều kiện nút Brain Up là sai (được giải phóng).

 Khối [Forever] cho phép kiểm tra liên tục điều kiện đầu tiên.

Dự án VEXcode IQ với một vòng lặp vĩnh viễn gắn liền với khối Khi bắt đầu. Bên trong vòng lặp Forever là một khối if else. Nhánh Nếu đọc Nếu nhấn nút Brain Up, sau đó xoay động cơ cánh tay lên. Nhánh else chứa một nhánh khác nếu sau đó khối khác, đọc nếu nhấn nút Brain Down sau đó xoay động cơ cánh tay xuống, nếu không, dừng động cơ cánh tay.

Hãy khám phá việc thay đổi dự án bằng cách thêm các khối [If else]. Động cơ cánh tay bây giờ sẽ tiếp tục quay cho đến khi nút Brain Up không còn được nhấn (nhả). Do khối [Mãi mãi], tình trạng này sẽ tiếp tục được kiểm tra cho đến khi nó sai.

Khi tình trạng của nút Brain Up là sai, dự án sẽ tiếp tục đến khối tiếp theo, đó là kiểm tra tình trạng nếu nút Brain Down được nhấn. Nếu tình trạng của nút Brain Down được nhấn là đúng, thì cánh tay sẽ quay lên. Một lần nữa, do khối [Mãi mãi], tình trạng này sẽ tiếp tục được kiểm tra cho đến khi nó sai.

Khi điều kiện của nút Brain Up là sai, dự án sẽ tiếp tục đến khối tiếp theo, đó là khối [Stop motor]. Do đó, Động cơ tay kẹp sẽ chỉ dừng lại khi cả hai điều kiện đều sai (không nhấn nút nào).

Hình ảnh luồng dự án cho thấy cách dự án được thực hiện để đưa ra quyết định. Trước tiên, điều kiện của Nếu nhấn nút Brain up được kiểm tra, nếu đúng, dự án sẽ di chuyển để quay động cơ cánh tay lên và quay trở lại đầu. Nếu tình trạng là sai, điều kiện thứ hai của nút Brain down được nhấn sẽ được kiểm tra. Nếu nút não xuống được nhấn/true, xoay động cơ cánh tay xuống chạy và sau đó quay trở lại ban đầu. Nếu nó không được nhấn sai, khối động cơ cánh tay dừng sẽ chạy.

Biểu tượng thúc đẩy thảo luận Thúc đẩy thảo luận

H: Tiến trình của luồng dự án là gì nếu điều kiện của nút Brain Up đang được nhấn là SAI (được giải phóng)?
A: Nếu điều kiện là sai, luồng dự án sẽ tiếp tục kiểm tra tình trạng của nút Brain Down đang được nhấn.

Hỏi: Mục đích của các khối [Nếu sau đó] trong dự án trên là gì?
Đ: Sử dụng các khối [If else] chỉ cho phép một phiên bản là đúng tại một thời điểm. Do đó, nút Brain Up và nút Brain Down không thể đúng cùng một lúc bằng cách sử dụng các khối [If then else], vì điều kiện thứ hai của nút Brain Down được nhấn thậm chí sẽ không phải là một lựa chọn trừ khi điều kiện đầu tiên của nút Brain Up được nhấn là sai. Mục đích khác là nâng cao hiệu quả lập trình.

H: Tiến độ của luồng dự án là gì nếu cả hai điều kiện của nút Lên và Xuống được nhấn là sai?
Đ: Nếu cả hai điều kiện đều sai, luồng dự án sẽ tiếp tục đến khối [Stop motor] trước khi quay trở lại đầu ngăn xếp lặp lại mãi mãi.

Bước 3: Lập trình với các khối [If else].

Hãy sử dụng các khối [Nếu có]:

  • Thêm các khối [If then else] vào dự án ArmUpDown của bạn để dự án của bạn trông như sau:

    Dự án VEXcode IQ với khối Forever được gắn vào khối When started. Bên trong khối vĩnh cửu là khối If then else. Nhánh if đọc nếu nhấn nút não lên, xoay động cơ cánh tay lên. Nhánh else chứa một khối if else khác đọc nếu nhấn nút não xuống sau đó xoay động cơ cánh tay xuống, nếu không dừng động cơ cánh tay.

  • Lưu dự án dưới dạng ArmUpDown2. Nếu học viên cần trợ giúp lưu dự án, hãy tham khảo hướng dẫn Đặt tên và Lưu.

    Hộp thoại tên dự án trong VEXcode IQ Toolbar. Slot 4 được chọn và tên dự án là Arm Up Down 2.

  • Tải dự án xuống Slot 4 trên Clawbot, sau đó chạy nó.
  • Để được trợ giúp tải xuống và chạy một dự án, hãy xem hướng dẫn trong VEXcode IQ giải thích cách tải xuống và chạy một dự án.
    Biểu tượng hướng dẫn đọc Tải xuống và chạy một dự án ở dưới cùng với biểu tượng tải xuống và mũi tên ở trên.
  • Kiểm tra xem cánh tay bây giờ có quay lên không khi nhấn nút Brain Up và quay xuống khi nhấn nút Brain Down.
  • Xác minh rằng khi các nút Brain Up và Down không được nhấn (nhả) thì Arm Motor sẽ dừng lại.
  • Viết quan sát của bạn về cách Clawbot hoạt động trước và sau khi thêm các khối if then else vào dự án của bạn trong sổ ghi chép kỹ thuật của bạn.

Biểu tượng Hộp công cụ dành cho giáo viên Hộp công cụ dành cho giáo viên - Dừng lại và thảo luận

Sau khi học sinh đã kiểm tra dự án trước và sau khi thêm khối [If then else], hãy thảo luận với học sinh về cách điều này cho phép cánh tay tiếp tục quay cho đến khi nút Brain Up được nhả ra. Yêu cầu học viên chia sẻ những quan sát của các em từ sổ ghi chép kỹ thuật của các em. Tạo điều kiện thuận lợi cho một cuộc thảo luận bằng cách hỏi những câu hỏi sau:

  • Bạn có thấy Clawbot hoạt động khác nhau giữa việc sử dụng các khối [If then] so với chỉ các khối [If then] không?

  • Tại sao bạn nghĩ rằng hiệu quả của chương trình là quan trọng?

  • Có phải điều kiện nút Brain Up chỉ được kiểm tra một lần trong dự án?

Sổ ghi chép kỹ thuật của học sinh có thể được duy trì và chấm điểm riêng lẻ (Google / .docx / .pdf) hoặc theo nhóm (Google / .docx / .pdf). Các liên kết trước cung cấp một phiếu tự đánh giá khác nhau cho mỗi cách tiếp cận. Bất cứ khi nào một phiếu tự đánh giá được đưa vào kế hoạch giáo dục, thực hành tốt là giải thích phiếu tự đánh giá hoặc ít nhất là đưa bản sao cho học sinh trước khi hoạt động bắt đầu.

Biểu tượng Hộp công cụ dành cho giáo viên Hộp công cụ dành cho giáo viên

Học sinh có thể không thấy nhiều sự khác biệt trong cách Clawbot của họ hoạt động giữa việc sử dụng các khối [If then] so với các khối [If then]. Nếu sinh viên không thể nhìn thấy nhiều sự khác biệt về thể chất, hãy tạo điều kiện cho một cuộc thảo luận về hiệu quả lập trình và cách đơn giản hóa một dự án có thể dẫn đến việc sử dụng ít khối hơn. Sử dụng ít khối hơn trong một dự án có thể làm giảm số lượng lỗi tiềm ẩn.

Bước 4: Lập trình Claw.

Trong bước trước, dự án đã được tối ưu hóa để chạy hiệu quả hơn bằng cách sử dụng các khối [If else]. Trong ví dụ trước, cánh tay được thao tác bằng cách sử dụng các nút Brain Up và Down.

Sử dụng cùng một phác thảo dự án chính xác, Claw cũng có thể được thao tác.

  • Xem lại dự án ArmUpDown2 và thay đổi các khối [Quay] thành ClawMotor thay vì ArmMotor bằng cách sử dụng menu thả xuống.

    Đảm bảo rằng nút Brain Up quay Móng vuốt "mở" và nút Brain Down quay Móng vuốt "đóng" bằng cách sử dụng các menu thả xuống.

    Dự án Arm Up Down 2 với các khối động cơ quay được đặt thành động cơ Claw. Khối động cơ dừng có lựa chọn thông số mở với động cơ tay kẹp được chọn.

  • Lưu dự án dưới dạng ClawUpDown. Nếu học viên cần trợ giúp lưu dự án, hãy tham khảo hướng dẫn Đặt tên và Lưu.

    Hộp thoại tên dự án trong VEXcode IQ Toolbar. Slot 1 được chọn và tên dự án là Claw Up Down.

  • Tải dự án xuống Slot 1 trên Clawbot, sau đó chạy nó.
  • Để được trợ giúp tải xuống và chạy một dự án, hãy xem hướng dẫn trong VEXcode IQ giải thích cách tải xuống và chạy một dự án.
    Biểu tượng hướng dẫn đọc Tải xuống và chạy một dự án ở phía dưới.
  • Kiểm tra xem bây giờ Claw có quay mở không khi nhấn nút Brain Up và quay đóng khi nhấn nút Brain Down.
  • Xác minh rằng khi các nút Brain Up và Down không được nhấn (nhả) thì Claw Motor sẽ dừng lại.
  • Viết quan sát của bạn về cách Clawbot hoạt động trước và sau khi thêm các khối if then else vào dự án của bạn trong sổ ghi chép kỹ thuật của bạn.

Biểu tượng Hộp công cụ dành cho giáo viên Hộp công cụ dành cho giáo viên

Bây giờ học sinh đã có các kỹ năng để điều khiển cánh tay và móng vuốt bằng cách sử dụng các nút, yêu cầu học sinh suy nghĩ về cách các em có thể thực hiện tất cả bốn hành động trong cùng một dự án (giơ tay lên, hạ tay xuống, mở móng vuốt và đóng móng vuốt).
Học sinh sẽ sử dụng một khối [nếu sau đó] khác trong phần suy nghĩ lại để cho phép robot của họ thực hiện tất cả bốn hành động.

Mở rộng biểu tượng học tập của bạn Mở rộng việc học của bạn - Đặt khối dừng động cơ

Nếu học sinh lập trình robot của mình để nâng và hạ cánh tay, trọng lượng của Móng vuốt có thể khiến cánh tay bị trôi xuống.
Trong trường hợp này, khối [Đặt động cơ dừng] có thể được sử dụng để cánh tay không bị rơi do trọng lực và trọng lượng của móng vuốt. Khối này có thể được sử dụng khi bắt đầu dự án và sẽ được áp dụng cho tất cả các khối động cơ trong tương lai cho phần còn lại của dự án.

Bắt đầu thông tin Trợ giúp cho khối dừng động cơ đã đặt. Khối được hiển thị với các thông số được đặt thành Động cơ kẹp và bộ dừng được đặt thành phanh. Văn bản đọc Đặt hành vi của Động cơ thông minh IQ VEX khi nó ngừng di chuyển.

Khối dừng động cơ đã đặt có ba cài đặt:

  • Phanh làm cho động cơ dừng ngay lập tức.
  • Coast cho phép Motor quay dần đến điểm dừng.
  • Giữ làm cho Động cơ dừng ngay lập tức và đưa nó trở lại vị trí dừng nếu di chuyển.