Bỏ qua menu, tới nội dung chính
R
Robot.Edu.VN

Khối lệnh ThingBot

Động cơ, servo, LED, còi, nhạc, nút SW, tay PS2 khi nạp chương trình; 14 khối ThingBot Telemetrix khi chạy trực tiếp

Tên khối phần cứng hiện tiếng Anh. Bảng dưới ghi đúng chữ trên khối kèm nghĩa tiếng Việt.

Nhóm ThingBot (chế độ nạp)

Có sẵn khi chọn bo ThingBot. Các khối tự khởi tạo mạch nên không cần khối khởi tạo riêng.

KhốiÝ nghĩa
init ThingBotKhởi tạo bo. Không bắt buộc: mọi khối ThingBot đã tự khởi tạo
set motor [M1] go [forward] at (0)Chạy động cơ M1–M4 tiến (forward) hoặc lùi (backward), tốc độ 0–100. Tốc độ 0 là dừng
set servo [S1] to angle (90) degreesQuay servo ở cổng S1–S5 tới góc 0–180°
move servo [S1] to angle (90) degrees over (1) secondsQuay từ từ tới góc trong số giây đã cho, xong mới chạy khối sau
start servo [S1] to angle (90) degrees over (1) secondsBắt đầu quay từ từ nhưng chạy tiếp ngay, nhờ đó nhiều servo quay cùng lúc
wait for servosChờ mọi servo vừa start quay xong
release servo [S1]Ngắt xung, servo thả lỏng
set servo [S1] to pulse (0)Đặt độ rộng xung thô 0–4095 cho cổng S. Đặt 4095 thì chân tín hiệu gần như luôn ở mức cao, dùng để bật module LED cắm cổng S
set led [1] (0)Độ sáng LED 1 hoặc LED 2 trên bo, 0–100
set tempo to (120) BPMNhịp nhạc (số phách mỗi phút)
play note [C (Do)] octave [4] for (1) beatsCòi phát nốt Đô…Si, quãng 3–6, trong số phách đã cho
rest for (1) beatsNghỉ (im lặng) theo phách
set buzzer to (0) pulseỞ bản 0.4.0 khối này không phát được tiếng (còi trên bo là còi thụ động, chỉ kêu tách một tiếng). Muốn còi kêu thì dùng play note
read switchĐúng khi nút SW trên ThingBotShield đang được bấm
init PS2 on ThingBotKhởi tạo bộ thu tay PS2 cắm cổng PS2 của ThingBotShield

Lưu ý:

  • Nhạc và servo không chạy cùng lúc được. Khi còi phát nốt, chip PCA9685 đổi tần số cho cả 16 kênh, servo nhận xung sai và giật về một phía. Phát nhạc xong rồi mới quay servo. Động cơ và LED không bị ảnh hưởng đáng kể.
  • "Tiến" hay "lùi" thực tế phụ thuộc cách cắm dây động cơ. Chạy thử, nếu bánh quay ngược thì đảo giắc cắm hoặc đổi forward/backward.

Nhóm PS2 (chế độ nạp)

Tay cầm PS2 không dây đi kèm ThingBot nên nhóm này có sẵn.

KhốiÝ nghĩa
read PS2 receiver dataĐọc trạng thái tay cầm. Gọi mỗi vòng lặp, trước khi hỏi nút
PS2 [up] button is pressed?Đúng khi nút đang được bấm: up, down, left, right, triangle, circle, cross, square, L1–L3, R1–R3, select, start
PS2 get joystick [LX]Vị trí cần analog LX, LY, RX, RY: 0–255, ở giữa khoảng 128
init PS2 receiver pin DIN (2) DOUT (3) CS (4) CLK (5)Khởi tạo bộ thu PS2 cắm ở chân tự chọn. Với ThingBot dùng init PS2 on ThingBot

init PS2 on ThingBot chờ tới khi bộ thu trả lời. Nếu chưa cắm bộ thu, robot đứng yên ở bước này.

ThingBot Telemetrix (chế độ chạy trực tiếp)

Thêm bằng nút Thêm phần mở rộng khi chọn No board. Xem cách kết nối ở trang Làm quen giao diện.

Chương trình Live: đọc DHT11 và bật LED trên bo

KhốiÝ nghĩa
motor [M1] speed (50)Tốc độ động cơ 0–100 (chỉ chạy tiến). 0 là dừng
servo [S1] angle (90)Góc servo 0–180°
LED [LED 1] [on]Bật/tắt LED 1 hoặc LED 2 trên bo
buzzer frequency (50)Còi kêu, mức 0 (tắt) tới 100
setup [DHT11] sensor on pin (4)Khai báo cảm biến DHT11/DHT22 ở chân
temperature (°C) on pin (4)Nhiệt độ đọc từ DHT
humidity (%) on pin (4)Độ ẩm đọc từ DHT
setup ultrasonic trigger (7) echo (8)Khai báo cảm biến siêu âm
ultrasonic distance (cm)Khoảng cách đo bằng siêu âm
set pin (13) mode [OUTPUT], digital write pin, digital read pin, analog read pin, PWM write pinĐiều khiển chân trực tiếp

Ở bản 0.4.0, chế độ Live được kiểm chứng với động cơ chạy tiến, LED, còi và DHT. Các khối chân và siêu âm ở Live còn lỗi với firmware đi kèm: dùng chế độ nạp cho những việc đó. DHT cập nhật khoảng 3 giây một lần, và trong vài giây đầu khối nhiệt độ trả về 0 vì chưa có số đo nào.

Nguồn học liệu: ThingEdu.