Theo em làm sao để robot có thể phát ra âm thanh, chuyển màu đèn LED? Khi nhận được tín hiệu từ điều khiển hồng ngoại robot sẽ làm gì?
Trả lời:
Để robot có thể phát ra âm thanh, chuyển màu đèn LED cần sử dụng câu lệnh lập trình để điều khiển còi và đèn LED. Robot sẽ thực hiện hành động tương ứng với tín hiệu từ điều khiển hồng ngoại.
Hoạt động 1. Tìm hiểu về các câu lệnh lập trình còi
Đọc, thảo luận về câu lệnh lập trình còi.
Trả lời:
Câu lệnh điều khiển bật hoặc tắt còi thực chất là cấp hoặc ngừng cấp cho còi một mức điện áp nhất định.
Lệnh | Mô tả ý nghĩa |
Bật còi | Cấp điện áp cho còi. |
Tắt còi | Ngừng cấp điện áp cho còi. |
Hoạt động 2. Tìm hiểu về câu lệnh điều khiển còi phát nốt nhạc
Đọc, thảo luận về câu lệnh lập trình còi phát nốt nhạc.
Trả lời:
Để điều khiển còi phát ra các nốt nhạc, câu lệnh cần có các tham số đầu vào liên quan tới cao độ và trường độ của âm thanh phát ra:
- Cao độ được điều khiển bằng tần số cao thấp của điện áp cấp cho còi.
- Trường độ được điều khiển bằng thời gian cấp điện áp cho còi.
Lệnh | Tham số | Mô tả ý nghĩa |
Phát nốt nhạc (cao độ, trường độ) | cao độ: tần số của nốt nhạc tương ứng. trường độ: thời gian tính theo nhịp (beat). | Phát nốt nhạc tương ứng <cao độ> của nốt nhạc trong khoảng thời gian tính theo <trường độ> của nhịp hiện thời. |
Nghỉ (trường độ) | trường độ: thời gian tính theo nhịp (beat). | Còi nghỉ trong thời gian <trường độ> tính theo nhịp hiện thời. |
Bảng 13.2. Lệnh điều khiển còi
Em hãy viết đoạn chương trình ngắn điều khiển robot di chuyển, khi gặp vật cản thì bật còi và dừng lại.
Trả lời:
Chương trình có thể như sau:
Khởi động chương trình
Forever
Đi thẳng (100)
While Tín hiệu cảm biến siêu âm (cổng) <= 10
Dừng lại
Bật còi
Đợi 2 giây
Tắt còi
Hoạt động 3. Tìm hiểu về các câu lệnh lập trình điều khiển đèn LED
Đọc, thảo luận về câu lệnh lập trình điều khiển đèn LED.
Trả lời:
Đèn LED đơn sắc là loại đèn phát ra ánh sáng có một màu nhất định nhứ ánh sáng vàng, đỏ, xanh… Chúng ta có thể điều khiển để bật, tắt đèn LED đơn sắc với cường độ ánh sáng khác nhau.
Lệnh | Tham số | Mô tả ý nghĩa |
Bật đèn LED (cổng, cường độ sáng) | cổng: vị trí cắm của đèn LED. cường độ sáng: số nguyên từ 0 đến 255.
| Bật đèn LED tại vị trí cắm <cổng> với cường độ ánh sáng tương ứng với số nguyên <cường độ sáng>. |
Tắt đền LED (cổng) | cổng: vị trí cắm của đèn LED. | Tắt đèn LED tại vị trí cắm <cổng>. |
Bảng 13.3. Lệnh điều khiển khiến đèn LED đơn sắc.
Em hãy viết chương trình điều khiển robot dò đường đi vòng quanh sa bàn, nếu gặp vật cản thì bật còi, bật đèn LED đỏ ở cổng 1 trong suốt thời gian có vật cản phía trước. Robot rẽ trái để tránh vật cản, khi vật cản đã ở xa thì bật đèn LED xanh lá cây ở cổng 2 trong 1 giây báo hiệu an toàn.
Trả lời:
Chương trình có thể viết dưới dạng pseudocode như sau:
Khởi động chương trình
forever
if Tín hiệu dò đường(<<trái>>, cổng)=0 and Tín hiệu dò đường(<<phải>>, cổng)=0
Đi thẳng (100)
if Tín hiệu dò đường(<<trái>>, cổng)=0 and Tín hiệu dò đường(<<phải>>, cổng)=1
Xoay trái (70)
if Tín hiệu dò đường(<<trái>>, cổng)=1 and Tín hiệu dò đường(<<phải>>, cổng)=0
Xoay phải (70)
if Tín hiệu dò đường(<<trái>>, cổng)=1 and Tín hiệu dò đường(<<phải>>, cổng)=1
Xoay trái (70)
While Tín hiệu cảm biến siêu âm (cppngr) <= 5
Bật còi
Bật đèn LED (1,255)
Xoay trái (70)
Wait until Tín hiệu cảm biến siêu âm (cổng) > 5
Tắt đèn LED (1)
Bật đèn LED (2,255)
Đợi 1 giây
Tắt đèn LED (2)
Hoạt động 4. Tìm hiểu câu lệnh lập trình nhận tín hiệu hồng ngoại
Đọc, thảo luận về bộ phận điều khiển từ xa và câu lệnh lập trình nhận tín hiệu hồng ngoại.
Trả lời:
Chúng ta có thể sử dụng điều khiển từ xa bằng tia hồng ngoại để truyền tín hiệu cho robot. Trên mỗi vỉ điều khiển hồng ngoại có rất nhiều nút nhấn, mỗi nút nhấn gọi là một kênh. Khi nhấn nút trên điều khiển hồng ngoại, một tín hiệu được truyền đi bằng tia hồng ngoại, giúp robot biết được nút nhấn (kênh) nào được bấm.
Lệnh | Tham số | Mô tả ý nghĩa |
Tín hiệu hồng ngoại (kênh) | kênh: kênh của tín hiệu hồng ngoại được phát ra. | Trả lại True nếu có nhận được tín hiệu hồng ngoại từ kênh <kênh>, ngược lại trả về False. |
Bảng 13.4. Lệnh nhận tín hiệu hồng ngoại
Bài tập 1. Tín hiệu hồng ngoại của vỉ điều khiển bên ngoài có thể được xử lý ở ngay đầu chương trình (nằm ngoài vòng lặp vĩnh viễn) được không?
Trả lời:
Tín hiệu hồng ngoại của vỉ điều khiển bên ngoài không thể được xử lý ở ngay đầu chương trình (nằm ngoài vòng lặp vĩnh viễn) vì robot giáo dục cần kiểm tra tín hiệu của thiết bị điều khiển liên tục để nhận biết khi có tín hiệu và thực thi câu lệnh.
Bài tập 2. Em hãy viết câu lệnh để khi bấm kênh 1 của vỉ điều khiển, còi của robot sẽ phát nốt Rê (D).
Trả lời:
Chương trình có thể như sau:
Khởi động chương trình
forever
if Tín hiệu hồng ngoại từ kênh (1)
Phát nốt nhạc (C1, 1)
Bài tập 1. Em hãy viết đoạn chương trình dùng vỉ điều khiển robot thực hiện các công việc sau:
a) Bấm kênh 1 sẽ bật còi 5 lần.
b) Bấm kênh 2 sẽ bật đèn LED màu đỏ trong 2 giây.
c) Bấm kênh 3 sẽ bật đèn LED màu xanh lá cây trong 2 giây.
Trả lời:
Chương trình có thể là:
(Đèn LED đỏ kết nối ở chân 1, đèn LED xanh kết nối ở chân 2)
Khởi động chương trình
forever
if Tín hiệu hồng ngoại từ kênh (1)
repeat 5
Bật còi
Đợi 0.5 giây
Tắt còi
Đợi 0.5 giây
if Tín hiệu hồng ngoại từ kênh (2)
Bật đèn LED (1, 255)
Đợi 2 giây
Tắt đèn LED (1)
if Tín hiệu hồng ngoại từ kênh (3)
Bật đèn LED (2, 255)
Đợi 2 giây
Tắt đèn LED (1)
Bài tập 2. Em hãy lập trình điều khiển đèn LED thay đổi màu kết hợp và còi phát ra âm thanh.
Trả lời:
Chương trình có thể như sau (có 3 đèn LED đơn sắc với 3 màu kết nối ở 3 chân 1,2,3)
Khởi động chương trình
forever
Bật đèn LED (1, 255)
Bật còi
Đợi 1 giây
Bật đèn LED (2,255)
Tắt còi
Đợi 1 giây
Bật đèn LED (3, 255)
Bật còi
Đợi 1 giây
Tắt còi
Bài tập 1. Em hãy lập trình điều khiển còi chơi một đoạn nhạc đơn giản mà em biết.
Trả lời:
Chương trình minh họa bài hát Kìa con bướm vàng có thể như sau:
Khởi động chương trình
Phát nốt nhạc (C4, 0.25)
Phát nốt nhạc (D4, 0.25)
Phát nốt nhạc (E4, 0.25)
Phát nốt nhạc (C4, 0.25)
Phát nốt nhạc (C4, 0.25)
Phát nốt nhạc (D4, 0.25)
Phát nốt nhạc (E4, 0.25)
Phát nốt nhạc (C4, 0.25)
Phát nốt nhạc (E4, 0.25)
Phát nốt nhạc (F4, 0.25)
Phát nốt nhạc (G4, 0.5)
Phát nốt nhạc (E4, 0.25)
Phát nốt nhạc (F4, 0.25)
Phát nốt nhạc (G4, 0.5)
Phát nốt nhạc (G4, 1.25)
Phát nốt nhạc (A4, 1.25)
Phát nốt nhạc (G4, 1.25)
Phát nốt nhạc (F4, 1.25)
Phát nốt nhạc (E4, 0.25)
Phát nốt nhạc (C4, 0.25)
Phát nốt nhạc (A4, 0.25)
Phát nốt nhạc (G4, 0.125)
Phát nốt nhạc (F4, 0.125)
Phát nốt nhạc (E4, 0.125)
Phát nốt nhạc (C4, 0.125)
Phát nốt nhạc (C4, 0.25)
Phát nốt nhạc (E4, 0.25)
Phát nốt nhạc (C4, 0.25)
Phát nốt nhạc (C4, 0.25)
Phát nốt nhạc (E4, 0.25)
Phát nốt nhạc (C4, 0.5)
Bài tập 2. Em hãy lập trình điều khiển đèn LED thay đổi màu lần lượt theo 7 màu sắc của cầu vồng.
Trả lời:
Lập trình đèn LED đổi màu lần lượt theo 7 màu sắc của cầu vồng (có 7 đèn LED đơn sắc theo thứ tự màu cầu vồng: đỏ, cam, vàng, xanh lá, xanh lam, chàm, tím được kết nối theo thứ tự từ chân 1 đến chân 7):
Khởi động chương trình
forever
Bật đèn LED (1,255)
Đợi 0.5 giây
Bật đèn LED (2,255)
Đợi 0.5 giây
Bật đèn LED (3,255)
Đợi 0.5 giây
Bật đèn LED (4,255)
Đợi 0.5 giây
Bật đèn LED (5,255)
Đợi 0.5 giây
Bật đèn LED (6,255)
Đợi 0.5 giây
Bật đèn LED (7,255)
Đợi 0.5 giây