Các Block cơ bản
Các Block cơ bản
Đây là các block cơ bản
Thông số kỹ thuật
Các chân tín hiệu
Pin
- Các khối Pin được dùng để điều khiển các chân tín hiệu (ví dụ: D9, D10, D11, A1, A2, A3) trên MakerEdu Shield hoặc chân tín hiệu từ 0-13 và A0-A5 trên board Arduino.
- Sử dụng các khối Pin, bạn có thể đọc, xuất tín hiệu đến các chân đó ở dạng tín hiệu Digital hoặc Analog.
- Các khối Pin được chia thành 3 mục chính, bao gồm:
Digital
,Analog
,Multi Tasks
.
Digital
1. set Digital pin (chọn chân tín hiệu) output (chọn mức tín hiệu)
Chức năng: Bật / tắt tín hiệu Digital tại chân tín hiệu đang chọn. Khi chọn mức HIGH, thiết bị đang kết nối với chân tín hiệu sẽ bật (ví dụ như đèn LED sẽ sáng lên). Khi chọn mức LOW, thiết bị đang kết nối với chân tín hiệu sẽ tắt (ví dụ như đèn LED sẽ tắt đi).
Tham số:
- Chân tín hiệu trên EduShield đang kết nối với thiết bị cần điều khiển
- Chế độ bật (HIGH) hoặc tắt (LOW)
Chuẩn giao tiếp: Digital
2. set PWM for Digital pin (chọn chân tín hiệu) output (nhập giá trị) %
Chức năng: Tạo 1 tín hiệu dạng PWM tại chân tín hiệu đang chọn. Khối này có thể dùng để điều chỉnh độ sáng của đèn LED, tốc độ của động cơ, độ lớn của âm thanh từ Buzzer, ...
Tham số:
- Chân tín hiệu trên EduShield đang kết nối với thiết bị cần điều khiển
- Độ lớn của tín hiệu PWM, đơn vị (%)
Chuẩn giao tiếp: Digital
3. read Digital pin (chọn chân tín hiệu)
Chức năng: Đọc tín hiệu Digital tại chân tín hiệu đang chọn. Bạn có thể dùng khối này để nhận tín hiệu trả về từ các thiết bị như nút nhấn, công tắc, Encoder, ...
Tham số:
- Chân tín hiệu trên EduShield đang kết nối với thiết bị cần đọc giá trị Digital trả về từ thiết bị đó
Trả về: Giá trị Logic TRUE
khi chân có tín hiệu Digital HIGH. Ngược lại giá trị Logic FALSE
khi chân có tín hiệu LOW.
Chuẩn giao tiếp: Digital
Analog
4. read Analog pin (chọn chân tín hiệu)
Chức năng: Đọc tín hiệu Analog tại chân tín hiệu đang chọn. Bạn có thể dùng khối này để đọc giá trị từ các cảm biến Analog.
Tham số:
- Chân tín hiệu trên EduShield đang kết nối với thiết bị cần đọc giá trị Analog trả về từ thiết bị đó
Trả về: Giá trị một số nguyên trong khoảng phạm vị từ 0 đến 1023.
Chuẩn giao tiếp: Analog
Multi Tasks
5. set Digital pin (chọn chân tín hiệu) stop!
Chức năng: Tắt tín hiệu Digital tại chân tín hiệu đang chọn (ví dụ như đèn LED sẽ tắt đi).
Tham số:
- Chân tín hiệu trên EduShield đang kết nối với thiết bị cần điều khiển
Chuẩn giao tiếp: Digital
6. set Digital pin (chọn chân tín hiệu) HIGH (nhập giá trị) (s), then LOW
Chức năng: Bật tín hiệu Digital tại chân tín hiệu đang chọn, sau một khoảng thời gian cài đặt, rồi tắt tín hiệu Digital. Bạn có thể dùng khối này để bật LED trong khoảng thời gian bạn muốn.
Tham số:
- Chân tín hiệu trên EduShield đang kết nối với thiết bị cần điều khiển
- Thời gian bật, đơn vị giây (s)
Chuẩn giao tiếp: Digital
7. set Digital pin (chọn chân tín hiệu), HIGH (nhập giá trị) (s), LOW (nhập giá trị) (s), then repeat (nhập giá trị) times
Chức năng: Cũng bật tín hiệu Digital tại chân tín hiệu đang chọn, trong khoảng thời gian cài đặt, kèm số lần bạn muốn lặp lại quá trình đó.
Tham số:
- Chân tín hiệu trên EduShield đang kết nối với thiết bị cần điều khiển
- Thời gian bật, đơn vị giây (s)
- Số lần lặp lại
Chuẩn giao tiếp: Digital
8. set Digital pin (chọn chân tín hiệu), HIGH (nhập giá trị) (s), LOW (nhập giá trị) (s), then repeat forever
Chức năng: Cũng bật tín hiệu Digital tại chân tín hiệu đang chọn, trong khoảng thời gian cài đặt. Nhưng quá trình này lặp lại mãi mãi.
Tham số:
- Chân tín hiệu trên EduShield đang kết nối với thiết bị cần điều khiển
- Thời gian bật, đơn vị giây (s)
Chuẩn giao tiếp: Digital
9. pin (chọn chân tín hiệu) is running?
Chức năng: Kiểm tra tín hiệu Digital tại chân tín hiệu đang chọn có đang bật.
Tham số:
- Chân tín hiệu trên EduShield đang kết nối với thiết bị cần điều khiển
Trả về: Giá trị Logic TRUE
nếu chân tín hiệu đang bật. Ngược lại là FALSE
nếu chân tín hiệu đã tắt.
Chuẩn giao tiếp: Digital
Data
- Các khối Data được dùng để thực hiện các cách thức khác nhau, giúp xử lý dữ liệu cho Vi điều khiển như bo Arduino.
- Các khối Data bao gồm 3 mục:
Mapped
,Constrain
,Converted
.
Mapped
1. map (nhập X) from ( (nhập A_min) , (nhập A_max) ) to ( (nhập B_min) , (nhập B_max) )
Chức năng: Giúp chuyển đổi một giá trị trong dãi phạm vi của thang đo A sang một giá trị tương ứng thuộc thang đo B. Bạn có thể dùng khối này để chuyển đổi qua lại giữa các đơn vị, như: nhiệt độ °C sang độ °F, VNĐ sang $, giá trị Analog sang %, ...
Tham số:
- X: giá trị bạn muốn chuyển đổi
- A_min: giới hạn dưới của thang đo A
- A_max: giới hạn trên của thang đo A
- B_min: giới hạn dưới của thang đo B
- B_max: giới hạn trên của thang đo B
Trả về: Giá trị đã được chuyển đổi.
Constrain
2. constrain (nhập X) between ( (nhập A) : (nhập B) )
Chức năng: Đảm bảo con số ta nhận được luôn nằm trong một phạm vi. Bạn có thể dùng khối để kiểm soát giá trị nhận được luôn nằm trong một khoảng mình muốn.
Tham số:
- X: giá trị ta muốn kiểm soát
- A: ngưỡng dưới của phạm vi
- B: ngưỡng trên của phạm vi
Trả về: Giá trị X nếu nó nằm giữa A và B. Ngược lại là A nếu nó nhỏ hơn A hoặc B nếu nó lớn hơn B.
Converted
3. (nhập X) converted to (chọn kiểu dữ liệu)
Chức năng: Chuyển đổi "Kiểu dữ liệu". Bạn có thể dùng khối này để chuyển đổi một con số, thành dạng chuỗi các kí tự số để hiển thị cho bạn xem. Hay ngược lại, bạn cũng có thể xem các kí tự được Vi điều khiển lưu trữ dưới dạng con số nào.
Tham số:
- X: giá trị bạn muốn chuyển đổi
- Chế độ Số (Number) hoặc Chuỗi (String)
Trả về: Là số hoặc chuỗi kí tự, tùy theo bạn lựa chọn.
Tham khảo thêm: ASCII Code
Button
- Khối Button được dùng để xử lý tín hiệu Digital nhận được, khi các chân này được kết nối đến với nút nhấn.
- Sử dụng khối Button, bạn có thể phát hiện được thao tác nút nhấn từ người dùng.
- Khối Button hiện có 1 mục chính là
Check Status
.
Check Status
1. button pin (chọn chân tín hiệu) (chọn kiểu thao tác) ?
Chức năng: Kiểm tra chân tín hiệu đang chọn, có thực hiện kiểu thao tác nút nhấn đã chọn không?
Tham số:
- Chân tín hiệu trên EduShield đang kết nối với nút nhấn cần theo dõi
- Thao tác nhấp 1 Click, 2 Click hoặc nhấn giữ lâu (Long Click)
Trả về: Giá trị Logic TRUE
nếu phát hiện đúng kiểu thao tác nhấn từ người dùng trên nút đó. Ngược lại là FALSE
.
Chuẩn giao tiếp: Digital
Servo
- Các khối Servo được dùng để thực hiện xuất tín hiệu Digital ở dạng xung PPM cho các động cơ Servo.
- Sử dụng các khối Servo, bạn có thể điều khiển hay theo dõi tiến trình hoạt động của từng động cơ Servo.
- Các khối Servo được chia thành 3 mục chính, bao gồm:
Run
,Read
,Stop
.
Run
1. set Servo pin (chọn chân tín hiệu) angle as (nhập giá trị) (0° - 180°)
Chức năng: Điều khiển Servo quay đến góc ta muốn.
Tham số:
- Chân tín hiệu trên EduShield đang kết nối với Servo đang điều khiển
- Giá trị góc quay của Servo, đơn vị (°)
Chuẩn giao tiếp: Digital
2. set Servo pin (chọn chân tín hiệu) angle as (nhập giá trị) (0° - 180°) with speed (nhập giá trị) %
Chức năng: Điều khiển Servo quay đến góc ta muốn, với tốc độ có thể tùy chỉnh.
Tham số:
- Chân tín hiệu trên EduShield đang kết nối với Servo đang điều khiển
- Giá trị góc quay của Servo, đơn vị (°)
- Tốc độ quay của Servo, đơn vị (%)
Chuẩn giao tiếp: Digital
Read
3. get current angle of Servo pin (chọn chân tín hiệu)
Chức năng: Nhận giá trị góc hiện tại của Servo. Với khối này, bạn có thể theo dõi tiến trình hoạt động của Servo.
Tham số:
- Chân tín hiệu trên EduShield đang kết nối với Servo đang điều khiển
Trả về: Giá trị giá trị góc hiện tại của Servo trong khoảng từ 0° đến 180°.
Chuẩn giao tiếp: Digital
Stop
4. stop Servo pin (chọn chân tín hiệu)
Chức năng: Cho dừng Servo ngay lập tức, nếu nó đang hoạt động quay góc.
Tham số:
- Chân tín hiệu trên EduShield đang kết nối với Servo đang điều khiển
Chuẩn giao tiếp: Digital
Serial Port
- Các khối Serial Port được dùng để thực hiện quá trình "truyền/nhận" dữ liệu qua lại trên cổng Serial Port.
- Dùng các khối này, bạn có thể cho Vi điều khiển như bo Arduino giao tiếp với máy tính, hay các thiết bị khác có hỗ trợ UART.
- Các khối Serial Port bao gồm 3 mục:
Write
,Read
,Check
.
Write
1. write (nhập chuỗi) to Serial Port
Chức năng: Gửi chuỗi kí tự qua cổng Serial Port.
Tham số: Là chuỗi kí tự bạn muốn gửi đi.
Read
2. read a byte from Serial Port
Chức năng: Đọc giá trị từng Byte gửi về từ cổng Serial Port.
Trả về: Giá trị Byte đầu tiên của dữ liệu được gửi nối tiếp đến (hoặc -1
nếu không có dữ liệu nào gửi về).
Check
3. readable bytes from Serial Port
Chức năng: Kiểm tra xem hiện tại đang có Byte dữ liệu nào gửi về mà chưa đọc không?
Trả về: Số Byte có sẵn để đọc.
Events
- Đây là một khối rất quan trọng.
- Bạn cần phải dùng khối này, để làm nơi chứa toàn bộ chương trình bạn viết (các khối bên trong nó).
1. when Vietduino Uno starts up
Chức năng: Bắt đầu chương trình.
Control
- Các khối Control này giúp bạn thiết kế các luồng hoạt động cho các tình huống điều kiện khác nhau của toàn bộ chương trình.
1. wait (nhập giá trị) seconds
Chức năng: Chương trình tạm dừng, và chờ trong một khoảng thời gian ta lập trình.
Tham số: Thời gian chờ, đơn vị giây (s).
2. repeat (nhập giá trị) [đặt khối Lệnh]
Chức năng: Tạo vòng lặp, cho lặp lại các "khối Lệnh" theo số lần được chỉ định.
Tham số: Số lần thực hiện lặp lại các "khối Lệnh".
3. forever [đặt khối Lệnh]
Chức năng: Tạo vòng lặp, cho lặp lại các "khối Lệnh" mãi mãi.
4. if [đặt khối Logic] then [đặt khối Lệnh]
Chức năng: Thực hiện các "khối Lệnh" bên trong khối này nếu các điều kiện chỉ định được đáp ứng.
Tham số: Điều kiện để thực hiện các "khối Lệnh" bên trong.
5. if [đặt khối Logic] then [đặt khối Lệnh A] else [đặt khối Lệnh B]
Chức năng: Thực hiện các "khối Lệnh A" bên trong khối này nếu điều kiện trả về TRUE
. Ngược lại, điều kiện trả về FALSE
sẽ cho thực hiện các "khối Lệnh B".
Tham số: Điều kiện để thực hiện các "khối Lệnh" bên trong.
6. wait until [đặt khối Logic]
Chức năng: Đợi cho đến khi điều kiện trả về TRUE
. Chương trình mới được thực hiện khối lệnh kế tiếp.
Tham số: Điều kiện để làm việc tiếp.
7. repeat until [đặt khối Logic] [đặt khối Lệnh]
Chức năng: Tạo vòng lặp, cho lặp lại các "khối Lệnh" bên trong khối này mãi mãi. Cho đến khi nào điều kiện trả về TRUE
. Chương trình mới thoát được vòng lặp này.
Tham số: Điều kiện để thoát vòng lặp.
Operators
- Các khối Operator cho phép bạn thực hiện nhiều cách thức tính toán, xử lý, tương tác giữa các dữ liệu với nhau.
1. (nhập số A) + (nhập số B)
Chức năng: Thực hiện phép tính cộng.
Tham số:
- A: giá trị / biến
- B: giá trị / biến
Trả về: Kết quả phép cộng của A + B.
2. (nhập số A) - (nhập số B)
Chức năng: Thực hiện phép tính trừ.
Tham số:
- A: giá trị / biến
- B: giá trị / biến
Trả về: Kết quả phép trừ của A - B.
3. (nhập số A) * (nhập số B)
Chức năng: Thực hiện phép tính nhân.
Tham số:
- A: giá trị / biến
- B: giá trị / biến
Trả về: Kết quả phép nhân của A x B.
4. (nhập số A) / (nhập số B)
Chức năng: Thực hiện phép tính chia.
Tham số:
- A: giá trị / biến
- B: giá trị / biến
Trả về: Kết quả phép chia của A ÷ B.
5. pick random (nhập số A) to (nhập số B)
Chức năng: Chọn ngẫu nhiên một số trong khoảng cho trước.
Tham số:
- A: điểm bắt đầu của khoảng
- B: điểm kết thúc của khoảng
Trả về: Một số ngẫu nhiên trong khoảng [A ; B].
6. (nhập số A) > (nhập số B)
Chức năng: Phép so sánh lớn hơn.
Tham số:
- A: giá trị / biến
- B: giá trị / biến
Trả về: Giá trị Logic TRUE
nếu A > B. Ngược lại là FALSE
.
7. (nhập số A) < (nhập số B)
Chức năng: Phép so sánh bé hơn.
Tham số:
- A: giá trị / biến
- B: giá trị / biến
Trả về: Giá trị Logic TRUE
nếu A < B. Ngược lại là FALSE
.
8. (nhập số A) = (nhập số B)
Chức năng: Phép so sánh bằng nhau.
Tham số:
- A: giá trị / biến
- B: giá trị / biến
Trả về: Giá trị Logic TRUE
nếu A = B. Ngược lại là FALSE
.
9. [đặt khối Logic] and [đặt khối Logic]
Chức năng: Thực hiện phép toán Logic AND.
Tham số:
- Mệnh đề
- Mệnh đề
Trả về: Giá trị Logic TRUE
nếu cả 2 mệnh đề đều đúng (TRUE
). Có giá trị FALSE
trong các trường hợp khác còn lại.
10. [đặt khối Logic] or [đặt khối Logic]
Chức năng: Thực hiện phép toán Logic OR.
Tham số:
- Mệnh đề
- Mệnh đề
Trả về: Giá trị Logic FALSE
nếu cả 2 mệnh đề đều sai (FALSE
). Có giá trị TRUE
trong các trường hợp khác còn lại.
11. not [đặt khối Logic]
Chức năng: Thực hiện phép toán Logic NOT.
Tham số:
- Mệnh đề
Trả về: Giá trị phủ định của mệnh đề.
12. join (nhập chuỗi A) (nhập chuỗi B)
Chức năng: Ghép 2 chuỗi lại với nhau.
Tham số:
- A: chuỗi kí tự
- B: chuỗi kí tự
Trả về: Một chuỗi mới với nội dung được ghép nối tiếp từ chuỗi A đến chuỗi B.
13. letter (nhập số) of (nhập chuỗi)
Chức năng: Cho biết kí tự tại vị trí nhất định của chuỗi.
Tham số:
- Vị trí của kí tự cần tìm trong chuỗi
- Chuỗi kí tự
Trả về: Một kí tự.
14. length of (nhập chuỗi)
Chức năng: Tính độ dài chuỗi (tổng số kí tự).
Tham số:
- Chuỗi kí tự
Trả về: Số lượng kí tự của chuỗi đó.
15. (nhập chuỗi A) contains (nhập chuỗi B) ?
Chức năng: Tìm kiếm nội dung trong một chuỗi.
Tham số:
- A: chuỗi kí tự bạn cần tìm
- B: nội dung bạn muốn tìm trong chuỗi trên
Trả về: Giá trị Logic TRUE
nếu tìm thấy. Ngược lại là FALSE
khi không tìm thấy.
16. (nhập số A) mod (nhập số B)
Chức năng: Thực hiện phép tính chia lấy phần dư.
Tham số:
- A: giá trị / biến
- B: giá trị / biến
Trả về: Phần còn lại của phép chia A ÷ B.
17. round (nhập số)
Chức năng: Làm tròn số đến số nguyên gần nhất.
Tham số:
- Giá trị / biến
Trả về: Một số nguyên.
18. (chọn phép tính) of (nhập số X)
Chức năng: Thực hiện phép tính đặc biệt cho một số, bao gồm các tùy chọn sau:
abs
: tính giá trị tuyệt đối của X.floor
: làm tròn X xuống số nguyên gần nhất.ceiling
: làm tròn X lên số nguyên gần nhất.sqrt
: tính căn bậc hai của X.- Các phép tính Lượng giác, đơn vị độ (°):
sin
,cos
,tan
.asin
(arcsin),acos
(arccos),atan
(arctan).
- Các phép tính Logarit:
ln
: tính Logarit tự nhiên của X, bằng biểu thức ln X = logeX.log
: tính Logarit của X với cơ số 10, bằng biểu thức lg X = log10X.
- Các phép tính Lũy thừa:
e ^
: tính eX.10 ^
: tính 10X.
Tham số:
- Phép tính bạn chọn
- X: giá trị / biến
Trả về: Kết quả của phép tính.
Variables
Các khối Variables bao gồm:
1. Var
Chức năng: Mang giá trị của biến
2. Set () to ()
Chức năng: Gán giá trị cho một biến
Tham số:
- Tên biến
- Số thực
3. Change () by ()
Chức năng: Tăng / giảm biến một giá trị nhất định
Tham số:
- Tên biến
- Số thực (nhập số dương để tăng, số âm để giảm)
4. Show variable ()
Chức năng: Hiện giá trị của biến trên khu vực sân khấu
Tham số:
- Tên biến
5. Hide variable ()
Chức năng: Ẩn giá trị của biến trên khu vực sân khấu
Tham số:
- Tên biến
6. List
Chức năng: Mang giá trị của danh sách
7. Add () to ()
Chức năng: Thêm 1 giá trị vào danh sách
Tham số:
- Giá trị
- Tên danh sách
8. Delete () of ()
Chức năng: Xóa 1 giá trị khỏi danh sách
Tham số:
- Giá trị
- Tên danh sách
9. Delete all of ()
Chức năng: Xóa tất cả danh sách
Tham số:
- Tên danh sách
10. Insert () at () of ()
Chức năng: Chèn 1 giá trị vào vị trí nhất định
Tham số:
- Giá trị
- Vị trí của giá trị
11. Replace item () of () with ()
Chức năng: Thay thế giá trị bằng một giá trị khác
Tham số:
- Vị trí cần thay đổi giá trị
- Tên danh sách
- Giá trị mới
12. Item () of ()
Chức năng: Lấy giá trị ở một vị trí trong danh sách
Tham số:
- Vị trí cần lấy
- Tên danh sách
13. Item # of () in ()
Chức năng: Tìm vị trí của giá trị nhất định
Tham số:
- Giá trị
- Tên danh sách
14. Length of ()
Chức năng: Số lượng giá trị trong danh sách
Tham số:
- Tên danh sách
15. () contains ()?
Chức năng: Kiểm tra nếu danh sách có chứa giá trị nhất định
Tham số:
- Tên danh sách
- Giá trị
16. Show list ()
Chức năng: Hiển thị danh sách trên khu vực sân khấu
Tham số:
- Tên danh sách
17. Hide list ()
Chức năng: Ẩn danh sách trên khu vực sân khấu
Tham số:
- Tên danh sách
My Blocks
Các khối Blocks bao gồm:
1. Define (Function)
Chức năng: Bắt đầu chương trình
2. Define
Chức năng: Sử dụng chương trình