Các Block cơ bản

From MakerLab Wiki
Jump to navigation Jump to search
MKL-M01 10mm single led module
MKE-M01 10mm single led module

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)

Pin1.png

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ố:

  1. 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
  2. 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ị) %

Pin2.png

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ố:

  1. 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
  2. Độ 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)

Pin3.png

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ố:

  1. 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)

Pin4.png

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ố:

  1. 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!

Led1.png

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ố:

  1. 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

Led2.png

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ố:

  1. 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
  2. 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

Led3.png

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ố:

  1. 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
  2. Thời gian bật, đơn vị giây (s)
  3. 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

Led4.png

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ố:

  1. 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
  2. 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?

Led5.png

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ố:

  1. 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) )

File:Data1.png

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ố:

  1. X: giá trị bạn muốn chuyển đổi
  2. A_min: giới hạn dưới của thang đo A
  3. A_max: giới hạn trên của thang đo A
  4. B_min: giới hạn dưới của thang đo B
  5. 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) )

File:Data2.png

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ố:

  1. X: giá trị ta muốn kiểm soát
  2. A: ngưỡng dưới của phạm vi
  3. B: ngưỡng trên của phạm vi

Trả về: Giá trị X nếu nó nằm giữa AB. 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)

File:Data3.png

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ố:

  1. X: giá trị bạn muốn chuyển đổi
  2. 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) ?

Button.png

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ố:

  1. 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
  2. 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°)

Servo1.png

Chức năng: Điều khiển Servo quay đến góc ta muốn.

Tham số:

  1. Chân tín hiệu trên EduShield đang kết nối với Servo đang điều khiển
  2. 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ị) %

Servo2.png

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ố:

  1. Chân tín hiệu trên EduShield đang kết nối với Servo đang điều khiển
  2. Giá trị góc quay của Servo, đơn vị (°)
  3. 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)

Servo3.png

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ố:

  1. 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ừ đến 180°.

Chuẩn giao tiếp: Digital

Stop

4. stop Servo pin (chọn chân tín hiệu)

Servo4.png

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ố:

  1. 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

Serialport1.png

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

Serialport2.png

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

Serialport3.png

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

Events.png

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

Control1.png

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]

Control2.png

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]

Control3.png

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]

Control4.png

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]

Control5.png

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]

Control6.png

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]

Control7.png

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)

Operator1.png

Chức năng: Thực hiện phép tính cộng.

Tham số:

  1. A: giá trị / biến
  2. 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)

Operator2.png

Chức năng: Thực hiện phép tính trừ.

Tham số:

  1. A: giá trị / biến
  2. 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)

Operator3.png

Chức năng: Thực hiện phép tính nhân.

Tham số:

  1. A: giá trị / biến
  2. 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)

Operator4.png

Chức năng: Thực hiện phép tính chia.

Tham số:

  1. A: giá trị / biến
  2. 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)

Operator5.png

Chức năng: Chọn ngẫu nhiên một số trong khoảng cho trước.

Tham số:

  1. A: điểm bắt đầu của khoảng
  2. 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)

Operator6.png

Chức năng: Phép so sánh lớn hơn.

Tham số:

  1. A: giá trị / biến
  2. 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)

Operator7.png

Chức năng: Phép so sánh bé hơn.

Tham số:

  1. A: giá trị / biến
  2. 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)

Operator8.png

Chức năng: Phép so sánh bằng nhau.

Tham số:

  1. A: giá trị / biến
  2. 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]

Operator9.png

Chức năng: Thực hiện phép toán Logic AND.

Tham số:

  1. Mệnh đề
  2. Mệnh đề

File:TruthTableAND.png

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]

Operator10.png

Chức năng: Thực hiện phép toán Logic OR.

Tham số:

  1. Mệnh đề
  2. Mệnh đề

File:TruthTableOR.png

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]

Operator11.png

Chức năng: Thực hiện phép toán Logic NOT.

Tham số:

  1. Mệnh đề

File:TruthTableNOT.png

Trả về: Giá trị phủ định của mệnh đề.



12. join (nhập chuỗi A) (nhập chuỗi B)

Operator12.png

Chức năng: Ghép 2 chuỗi lại với nhau.

Tham số:

  1. A: chuỗi kí tự
  2. 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)

Operator13.png

Chức năng: Cho biết kí tự tại vị trí nhất định của chuỗi.

Tham số:

  1. Vị trí của kí tự cần tìm trong chuỗi
  2. Chuỗi kí tự

Trả về: Một kí tự.

14. length of (nhập chuỗi)

Operator14.png

Chức năng: Tính độ dài chuỗi (tổng số kí tự).

Tham số:

  1. 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) ?

Operator15.png

Chức năng: Tìm kiếm nội dung trong một chuỗi.

Tham số:

  1. A: chuỗi kí tự bạn cần tìm
  2. 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)

Operator16.png

Chức năng: Thực hiện phép tính chia lấy phần dư.

Tham số:

  1. A: giá trị / biến
  2. 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ố)

Operator17.png

Chức năng: Làm tròn số đến số nguyên gần nhất.

Tham số:

  1. Giá trị / biến

Trả về: Một số nguyên.



18. (chọn phép tính) of (nhập số X)

Operator18.png

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ố:

  1. Phép tính bạn chọn
  2. 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

Variables01.png

Chức năng: Mang giá trị của biến

2. Set () to ()

Variables02.png

Chức năng: Gán giá trị cho một biến

Tham số:

  1. Tên biến
  2. Số thực

3. Change () by ()

Variables03.png

Chức năng: Tăng / giảm biến một giá trị nhất định

Tham số:

  1. Tên biến
  2. Số thực (nhập số dương để tăng, số âm để giảm)

4. Show variable ()

Variables04.png

Chức năng: Hiện giá trị của biến trên khu vực sân khấu

Tham số:

  1. Tên biến

5. Hide variable ()

Variables05.png

Chức năng: Ẩn giá trị của biến trên khu vực sân khấu

Tham số:

  1. Tên biến

6. List

List.png

Chức năng: Mang giá trị của danh sách

7. Add () to ()

Variables2.png

Chức năng: Thêm 1 giá trị vào danh sách

Tham số:

  1. Giá trị
  2. Tên danh sách

8. Delete () of ()

Variables3.png

Chức năng: Xóa 1 giá trị khỏi danh sách

Tham số:

  1. Giá trị
  2. Tên danh sách

9. Delete all of ()

Variables4.png Chức năng: Xóa tất cả danh sách

Tham số:

  1. Tên danh sách

10. Insert () at () of ()

Variables5.png

Chức năng: Chèn 1 giá trị vào vị trí nhất định

Tham số:

  1. Giá trị
  2. Vị trí của giá trị

11. Replace item () of () with ()

Variables6.png

Chức năng: Thay thế giá trị bằng một giá trị khác

Tham số:

  1. Vị trí cần thay đổi giá trị
  2. Tên danh sách
  3. Giá trị mới

12. Item () of ()

Variables7.png

Chức năng: Lấy giá trị ở một vị trí trong danh sách

Tham số:

  1. Vị trí cần lấy
  2. Tên danh sách

13. Item # of () in ()

Variables10.png

Chức năng: Tìm vị trí của giá trị nhất định

Tham số:

  1. Giá trị
  2. Tên danh sách

14. Length of ()

Variables8.png

Chức năng: Số lượng giá trị trong danh sách

Tham số:

  1. Tên danh sách

15. () contains ()?

Variables9.png

Chức năng: Kiểm tra nếu danh sách có chứa giá trị nhất định

Tham số:

  1. Tên danh sách
  2. Giá trị

16. Show list ()

Variables11.png Chức năng: Hiển thị danh sách trên khu vực sân khấu

Tham số:

  1. Tên danh sách

17. Hide list ()

Variables12.png

Chức năng: Ẩn danh sách trên khu vực sân khấu

Tham số:

  1. Tên danh sách

My Blocks

Các khối Blocks bao gồm:

1. Define (Function)

Myblock1.png

Chức năng: Bắt đầu chương trình

2. Define

Myblock2.png

Chức năng: Sử dụng chương trình