Các khối lệnh cơ bản của mạch MakerEdu Creator trên phần mềm mBlock

From MakerLab Wiki
Jump to navigation Jump to search

Giới thiệu

Sau khi tiến hành cài đặt Driver và thêm Device mạch MakerEdu Creator vào phần mềm mBlock theo hướng dẫn, trên phần mềm mBlock sẽ xuất hiện các khối lệnh cơ bản của mạch MakerEdu Creator như hình:

MakerEdu Creator basic block.png

Giải thích các khối lệnh cơ bản của mạch MakerEdu Creator trên phần mềm mBlock

Pin

Mục Pin gồm 9 khối lệnh giúp bạn điều khiển xuất / nhận tín hiệu cơ bản trên các cổng tín hiệu của mạch MakerEdu Creator, tìm hiểu thêm về các chuẩn tín hiệu của mạch điện tại đây.

Digital block MakerEdu Creator.png

1) set Digital [Port] output [High/Low]: Bật / tắt tín hiệu Digital tại cổng tín hiệu đang chọn. Khi chọn mức HIGH, thiết bị đang kết nối với cổng 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 cổng tín hiệu sẽ tắt (ví dụ như đèn LED sẽ tắt đi).

  • Tham số:
  1. Port: Cổng tín hiệu trên MakerEdu Creator.
  2. High / Low: Chế độ bật (HIGH) hoặc tắt (LOW).

2) set Digital [Port] output [%]: Tạo 1 tín hiệu dạng PWM tại cổng 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. Port: Cổng tín hiệu trên MakerEdu Creator.
  2. %: Độ lớn của tín hiệu PWM, đơn vị (%)

3) read Digital [Port]: Đọc tín hiệu Digital tại cổng 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. Port: Cổng tín hiệu trên MakerEdu Creator đ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.
MakerEdu Creator Analog.png

4) read Analog [Port]: Đọc tín hiệu Analog tại chân tín hiệu đang chọn như điện áp từ cảm biến, biến trở,...

  • Tham số:
  1. Port: Cổng tín hiệu trên MakerEdu Creator đ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.
MakerEdu Creator MultiTask.png

Mục Multi Tasks giúp bạn thực hiện nhiều tác vụ cùng lúc như vừa điều khiển động cơ cùng lúc với việc điều khiển đèn Led với các lệnh hỗ trợ như sau:

5) set Digital [Port] stop!: Tắt tín hiệu Digital tại cổng tín hiệu đang chọn (ví dụ như đèn LED sẽ tắt đi).

  • Tham số:
  1. Port: Cổng tín hiệu trên MakerEdu Creator đang kết nối với thiết bị cần điều khiển.

6) set Digital [Port] HIGH [Second] (s), then LOW: Bật tín hiệu Digital tại cổng 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. Port: Cổng tín hiệu trên MakerEdu Creator đang kết nối với thiết bị cần điều khiển
  2. Second: Thời gian bật, đơn vị giây (s)

7) set Digital [Port], HIGH [Second] (s), LOW [Second] (s), then repeat [Times]: Bật và tắt tín hiệu Digital tại cổng 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. Port Cổng tín hiệu trên MakerEdu Creator đang kết nối với thiết bị cần điều khiển.
  2. High Second: Thời gian bật, đơn vị giây (s).
  3. Low Second: Thời gian tắt, đơn vị giây (s).
  4. Times: Số lần lặp lại.

8) set Digital [Port], HIGH [Second] (s), LOW [Second] (s), then repeat forever: Cũng bật và tắt tín hiệu Digital tại cổng 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. Port: Cổng tín hiệu trên MakerEdu Creator đang kết nối với thiết bị cần điều khiển.
  2. High Second: Thời gian bật, đơn vị giây (s).
  3. Low Second: Thời gian tắt, đơn vị giây (s).

9) Digital [Port] is running?: Kiểm tra tín hiệu Digital tại cổng tín hiệu đang chọn có đang bật.

  • Tham số:
  1. Port: Cổng tín hiệu trên MakerEdu Creator đ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.

Data

Mục Data gồm 3 khối lệnh giúp bạn chuyển đổi dữ liệu sang dạng hoặc giới hạn mong muốn.

MakerEdu Creator Data.png

1) map [Value] from ( [ValueA_min] , [ValueA_max] ) to ( [ValueB_min] , [ValueB_max] ): 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 giá trị như từ điện áp Analog sang %.

  • Tham số:
  1. Value: Giá trị bạn muốn chuyển đổi.
  2. ValueA_min: giới hạn dưới của thang đo A.
  3. ValueA_max: giới hạn trên của thang đo A.
  4. ValueB_min: giới hạn dưới của thang đo B.
  5. ValueB_max: giới hạn trên của thang đo B.
  • Trả về: Giá trị đã được chuyển đổi.

2) constrain [Value] between ( [ValueA] : [ValueB] ): Đả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. Value: giá trị ta muốn kiểm soát.
  2. ValueA: ngưỡng dưới của phạm vi.
  3. ValueB: 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.

3) [Value] converted to [Data Type]: 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ự. 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. Value: giá trị bạn muốn chuyển đổi.
  2. Data Type: Kiểu giữ liệu 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.

Button

Mục Button gồm 1 khối lệnh đượ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 giúp bạn có thể phát hiện được thao tác nhấn nút từ người dùng.

MakerEdu Creator Button.png

1) Button [Port] [Status]: Kiểm tra cổng tín hiệu đang chọn có thực hiện kiểu thao tác nhấn nút đã chọn không?

  • Tham số:
  1. Port: Cổng tín hiệu trên MakerEdu Creator đang kết nối với nút nhấn cần theo dõi.
  2. Status: Thao tác nhấn nút.
  • 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].

Servo

Mục Servo gồm 4 khối lệnh được dùng để thực hiện xuất tín hiệu Digital ở dạng xung PWM để điều khiển động cơ RC Servo.

MakerEdu Creator Servo.png

1) set Servo [Port] angle as [Angle] (0° - 180°): Điều khiển RC Servo quay đến góc ta muốn.

  • Tham số:
  1. Port: Cổng tín hiệu trên MakerEdu Creator đang kết nối với RC Servo cần điều khiển
  2. Angle: Giá trị góc quay của RC Servo.

2) set Servo [Port] angle as [Angle] (0° - 180°) with [Speed] %: Điều khiển RC Servo quay đến góc ta muốn, với tốc độ có thể tùy chỉnh.

  • Tham số:
  1. Port: Cổng tín hiệu trên MakerEdu Creator đang kết nối với Servo cần điều khiển.
  2. Angle: Giá trị góc quay của RC Servo.
  3. Speed: Tốc độ quay của RC Servo.

3) get current angle of Servo [Port]: Nhận giá trị góc hiện tại của RC Servo, với khối này bạn có thể theo dõi tiến trình hoạt động của RC Servo.

  • Tham số:
  1. Port: Cổng tín hiệu trên MakerEdu Creator đang kết nối với RC Servo cần đ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°.

4) stop Servo [Port]: Cho dừng RC Servo ngay lập tức, nếu nó đang hoạt động quay góc.

  • Tham số:
  1. Port: Cổng tín hiệu trên MakerEdu Creator đang kết nối với Servo cần điều khiển.

Motor

Mục Motor gồm 2 khối lệnh được dùng để điều khiển hai cổng kết nối với động cơ DC Motor_A và Motor_B trên MakerEdu Creator.

MakerEdu Creator Motor.png

1) [Motor] move [Direction] at Power [Speed]: Điều khiển động cơ DC kết nối với cổng điều khiển động cơ Motor_A hoặc Motor_B trên mạch MakerEdu Creator theo chiều quay và tốc độ mong muốn.

  • Tham số:
  1. Motor: Cổng điều khiển động cơ DC đang kết nối (A hoặc B).
  2. Direction: Chiều quay tới (forward) hoặc lùi (backward).
  3. Speed: Tốc độ quay đơn vị là %.

2) [Motor] stop: Cho dừng động cơ DC ngay lập tức, nếu nó đang hoạt động.

Tham số:

  1. Motor: Cổng điều khiển động cơ DC đang kết nối (A hoặc B).

Serial Port

Mục Serial Port gồm 3 khối lệnh đượ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, sử dụng để giao tiếp với máy tính hoặc các thiết bị có hỗ trợ giao tiếp Serial UART.

MakerEdu Creator Serial.png

1) write [String] to port UART: Gửi chuỗi kí tự qua cổng Serial Port.

  • Tham số:
    1. String: Là chuỗi kí tự bạn muốn gửi đi.

2) read a byte from port UART: Đọ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ề).

3) readable bytes from port UART: 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

Mục Events gồm 1 khối là khối bắt đầu chương trình.

MakerEdu Creator Events.png

1) when MakerEdu Creator starts up: Bắt đầu chương trình.

Control

Mục Control gồm 7 khối lệnh 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.

MakerEdu Creator Control.png

1) wait [Time] seconds: 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ố:
    1. Time: Thời gian chờ, đơn vị giây (s).

2) repeat [Times] [Blocks]: 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ố:
    1. Times: Số lần thực hiện lặp lại các "khối Lệnh".
    2. Blocks: Các khối lệnh cần lặp.

3) forever [Blocks]: Tạo vòng lặp, cho lặp lại các "khối Lệnh" mãi mãi.

  • Tham số:
    1. Blocks: Các khối lệnh cần lặp.

4) if [Condition] then [Blocks]: Thực hiện các "khối Lệnh" bên trong khối này nếu thoả các điều khiện được chỉ định [True].

  • Tham số:
    1. Condition: Điều kiện để thực hiện các "khối Lệnh" bên trong.
    2. Blocks: Các khối lệnh được thực hiện nếu thoả điều khiện [True].

5) if [Condition] then [BlocksA] else [BlocksB]: Thực hiện các "khối Lệnh A" bên trong khối này nếu thoả điều khiện [True]. Ngược lại, nếu không thoả điều khiện [False] sẽ cho thực hiện các "khối Lệnh B".

  • Tham số:
    1. Condition: Điều kiện để thực hiện các "khối Lệnh".
    2. BlocksA: Các khối lệnh được thực hiện nếu thoả điều khiện [True].
    3. BlocksB: Các khối lệnh được thực hiện nếu không thoả điều khiện [False].

6) wait until [Condition]: Đợi cho đến khi thoả điều khiện [True], chương trình mới được thực hiện khối lệnh kế tiếp.

  • Tham số:
    1. Condition: Điều kiện để làm việc tiếp.

7) repeat until [Condition] [Blocks]: 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 thoả điều khiện [True] chương trình mới thoát được vòng lặp này.

  • Tham số:
    1. Condition: Điều kiện để thoát vòng lặp.
    2. Blocks: Các khối lệnh được thực hiện nếu chưa thoả điều khiện [False] để thoát vòng lặp.

Operators

Mục Operator gồm 18 khối lệnh 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.

MakerEdu Creator Operators.png

1) [ValueA] + [ValueB]: Thực hiện phép tính cộng.

  • Tham số:
    1. ValueA: Giá trị / biến A.
    2. ValueB: Giá trị / biến B.
  • Trả về: Kết quả phép cộng của A + B.

2) [ValueA] - [ValueB]: Thực hiện phép tính trừ.

  • Tham số:
    1. ValueA: Giá trị / biến A.
    2. ValueB: Giá trị / biến B.
  • Trả về: Kết quả phép trừ của A - B.

3) [ValueA] * [ValueB]: Thực hiện phép tính nhân.

  • Tham số:
    1. ValueA: Giá trị / biến A.
    2. ValueB: Giá trị / biến B.
  • Trả về: Kết quả phép nhân của A * B.

4) [ValueA] / [ValueB]: Thực hiện phép tính chia.

  • Tham số:
    1. ValueA: Giá trị / biến A.
    2. ValueB: Giá trị / biến B.
  • Trả về: Kết quả phép chia của A / B.

5) pick random [ValueA] to [ValueB]: Chọn ngẫu nhiên một số trong khoảng cho trước.

  • Tham số:
    1. ValueA: Giá trị / biến A bắt đầu khoảng.
    2. ValueB: Giá trị / biến B kết thúc khoảng.
  • Trả về: Một số ngẫu nhiên trong khoảng [A; B].

6) join (StringA) (StringB): Ghép 2 chuỗi lại với nhau.

  • Tham số:
    1. StringA: Chuỗi kí tự A.
    2. StringB: Chuỗi kí tự B.
  • 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.

7) letter (Position) of (String): Cho biết kí tự tại vị trí nhất định của chuỗi.

  • Tham số:
    1. Position: Vị trí của kí tự cần tìm trong chuỗi.
    2. String: Chuỗi kí tự.
  • Trả về: Một kí tự.

8) length of (String): Tính độ dài chuỗi (tổng số kí tự).

  • Tham số:
    1. String: Chuỗi kí tự
  • Trả về: Số lượng kí tự của chuỗi đó.

9) [ValueA] mod [ValueB]: Thực hiện phép tính chia lấy phần dư.

  • Tham số:
    1. ValueA: Giá trị / biến A.
    2. ValueB: Giá trị / biến B.
  • Trả về: Phần còn lại của phép chia A ÷ B.

10) round [Value]: Làm tròn số đến số nguyên gần nhất.

  • Tham số:
    1. Value: Giá trị / biến.
  • Trả về: Một số nguyên.

11) [Operations] of [Value]: 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:

  • Tham số:
    1. Operations: Phép tính bạn chọn:
      1. abs: tính giá trị tuyệt đối của X.
      2. floor: làm tròn X xuống số nguyên gần nhất.
      3. ceiling: làm tròn X lên số nguyên gần nhất.
      4. sqrt: tính căn bậc hai của X.
      5. Các phép tính Lượng giác, đơn vị độ (°):
        • sin, cos, tan.
        • asin (arcsin), acos (arccos), atan (arctan).
      6. 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.
      7. Các phép tính Lũy thừa:
        • e ^: tính eX.
        • 10 ^: tính 10X.
    2. Value: Giá trị / biến.
  • Trả về: Kết quả của của phép tính.
Operators MakerEdu Creator.png

12) [SrtingA] contains [StringB]?: Tìm kiếm nội dung trong một chuỗi.

  • Tham số:
    1. StringA: Chuỗi kí tự bạn cần tìm.
    2. StringB: 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.

13) [ValueA] > [ValueB]: Phép so sánh lớn hơn.

  • Tham số:
    1. ValueA: Giá trị / biến A.
    2. ValueB: Giá trị / biến B.
  • Trả về: Giá trị Logic [True] nếu A > B. Ngược lại là [False].

14) [ValueA] < [ValueB]: Phép so sánh bé hơn.

  • Tham số:
    1. ValueA: Giá trị / biến A.
    2. ValueB: Giá trị / biến B.
  • Trả về: Giá trị Logic [True] nếu A < B. Ngược lại là [False].

15) [ValueA] = [ValueB]: Phép so sánh bằng nhau.

  • Tham số:
    1. ValueA: Giá trị / biến A.
    2. ValueB: Giá trị / biến B.
  • Trả về: Giá trị Logic [True] nếu A = B. Ngược lại là [False].

16) [Logic Block A] and [Logic Block B]: Thực hiện phép toán Logic AND.

  • Tham số:
    1. Logic Block A: Mệnh đề A.
    2. Logic Block B: Mệnh đề B.
  • Trả về: Giá trị Logic [True] nếu cả 2 mệnh đề đều đúng, giá trị [False] trong các trường hợp khác còn lại.

17) [Logic Block A] or [Logic Block B]: Thực hiện phép toán Logic OR.

  • Tham số:
    1. Logic Block A: Mệnh đề A.
    2. Logic Block B: Mệnh đề B.
  • Trả về: Giá trị Logic [False] nếu cả 2 mệnh đề đều sai, có giá trị [True] trong các trường hợp còn lại.

18) not [Logic Block]: Thực hiện phép toán Logic NOT.

  • Tham số:
    1. Logic Block: Mệnh đề
  • Trả về: Giá trị phủ định của mệnh đề.

Variables

Mục Variables gồm 4 khối lệnh giúp bạn khởi tạo các giá trị biến số trong chương trình.

MakerEdu Creator Variables.png

1) set [Variable] to [Value]: Gán giá trị cho một biến.

  • Tham số:
    1. Variable: Tên biến
    2. Value: Số thực

2) change [Variable] by [Value]: : Tăng / giảm biến một giá trị nhất định.

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

3) show [Variable]: Hiện giá trị của biến trên khu vực sân khấu

  • Tham số:
    1. Variable: Tên biến

4) hide [Variable]: Ẩn giá trị của biến trên khu vực sân khấu

  • Tham số:
    1. Variable: Tên biến
MakerEdu Creator list.png

5) add [Value] to [List]: Thêm 1 giá trị vào danh sách.

  • Tham số:
    1. Value: Giá trị
    2. List: Tên danh sách

6) delete [Value] of [List]: Xóa 1 giá trị khỏi danh sách.

  • Tham số:
    1. Value: Giá trị
    2. List: Tên danh sách

7) delete all of [List]: Xóa tất cả danh sách.

  • Tham số:
    1. List: Tên danh sách

8) insert [Value] at [Position] of [List]: Chèn 1 giá trị vào vị trí nhất định

  • Tham số:
    1. Value: Giá trị
    2. Position: Vị trí của giá trị
    3. List: Tên danh sách

9) replace item [Position] of [List] with [Value]: Thay thế giá trị bằng một giá trị khác

  • Tham số:
    1. Position: Vị trí cần thay đổi giá trị
    2. List: Tên danh sách
    3. Value: Giá trị mới

item [Value] of [List]: Lấy giá trị ở một vị trí trong danh sách

  • Tham số:
    1. Value: Vị trí cần lấy
    2. List: Tên danh sách

item # of [Value] in [List]: Tìm vị trí của giá trị nhất định

  • Tham số:
    1. Value: Giá trị
    2. List: Tên danh sách

length of [List]: Số lượng giá trị trong danh sách

  • Tham số:
    1. List: Tên danh sách

[List] contains [Value]?: Kiểm tra nếu danh sách có chứa giá trị nhất định

  • Tham số:
    1. List: Tên danh sách
    2. Value: Giá trị

show [List]: Hiển thị danh sách trên khu vực sân khấu

  • Tham số:
    1. List: Tên danh sách

hide [List]: Ẩn danh sách trên khu vực sân khấu

  • Tham số:
    1. List: Tên danh sách

My Blocks

Mục My Blocks giúp bạn tự tạo ra các khối lệnh mong muốn, tham khảo tại đây.

MakerEdu Creator My Blocks.png

Tham khảo