Mục lục:

MicroPython trên SPIKE Prime: 12 bước
MicroPython trên SPIKE Prime: 12 bước

Video: MicroPython trên SPIKE Prime: 12 bước

Video: MicroPython trên SPIKE Prime: 12 bước
Video: HỌC LÀM NHÀ PHÁT MINH CÔNG NGHỆ VỚI LEGO SPIKE PRIME | Tập 1: LẮP RÁP CHÚ CHÓ THÔNG MINH 2024, Tháng mười một
Anonim
MicroPython trên SPIKE Prime
MicroPython trên SPIKE Prime

Bạn có thể viết mã SPIKE Prime bằng cách sử dụng MicroPython, đây là một tập hợp con của python dành cho bộ vi xử lý nhỏ.

Bạn có thể sử dụng bất kỳ trình giả lập đầu cuối nào để mã hóa trung tâm SPIKE Prime.

Quân nhu

Trung tâm SPIKE Prime

Máy tính có cổng USB / bluetooth

Cáp USB để kết nối trung tâm với máy tính

Bước 1: Tải xuống Trình mô phỏng thiết bị đầu cuối

Tải xuống Trình mô phỏng thiết bị đầu cuối
Tải xuống Trình mô phỏng thiết bị đầu cuối
Tải xuống Trình mô phỏng thiết bị đầu cuối
Tải xuống Trình mô phỏng thiết bị đầu cuối

Có rất nhiều tùy chọn để lựa chọn.

CoolTerm hoạt động trên tất cả các nền tảng, bao gồm cả Pi

Putty hoạt động trên windows

lệnh màn hình trong Terminal trên hệ điều hành unix

Bước 2: Kết nối SPIKE Prime với cổng USB

Kết nối SPIKE Prime với cổng USB
Kết nối SPIKE Prime với cổng USB
Kết nối SPIKE Prime với cổng USB
Kết nối SPIKE Prime với cổng USB

Sử dụng cáp microUSB để kết nối SPIKE Prime với máy tính.

Bước 3: Tìm cổng

Tìm cảng
Tìm cảng
Tìm cảng
Tìm cảng

Chúng ta cần biết hub SPIKE Prime được kết nối với cổng nối tiếp nào.

Trên mac, gõ

ls /dev/tty.usbmodem*

Trên máy tính, hãy xem trình quản lý thiết bị của bạn dưới phần nối tiếp để xem bạn đã kết nối những cổng nối tiếp nào

Trên pi, nó sẽ giống như ttyAMC0 - hãy kiểm tra trong thư mục / dev / của bạn

Bước 4: Kết nối

Kết nối
Kết nối
Kết nối
Kết nối

Kết nối với cổng bên phải (từ bước trước) ở 115200 baud

Trong Terminal, nhập

người dùng máy tính $ screen / dev / 115200

Trong IDE khác, nhấn Mở / kết nối (sau khi thiết lập các cổng và tốc độ truyền)

Lưu ý: không có chẵn lẻ, 8 bit dữ liệu và 1 bit dừng

Bước 5: Bắt đầu REPL

Bắt đầu REPL
Bắt đầu REPL
Bắt đầu REPL
Bắt đầu REPL
Bắt đầu REPL
Bắt đầu REPL

Khi bạn kết nối với SPIKE Prime từ terminal / PUTTY, bạn sẽ thấy một dòng số và ký tự. Đó là dữ liệu từ các cảm biến bên trong của trung tâm SPIKE Prime. Để bắt đầu nhấn Control + c

Nó sẽ làm gián đoạn cổng nối tiếp và bạn sẽ thấy một cái gì đó như thế này.

MicroPython v1.9.4-1146-gca9944357 vào ngày 2019-09-25; LEGO Technic Large Hub với STM32F413xx Loại "trợ giúp ()" để biết thêm thông tin.

Bây giờ bạn đã sẵn sàng để viết mã.

Bước 6: Mã đầu tiên của bạn

Mã đầu tiên của bạn
Mã đầu tiên của bạn

trung tâm nhập khẩu

hub.display.show (‘Tufts’)

Lưu ý lệnh “nhập” - kéo trong một thư viện python cho phép bạn nói chuyện với SPIKE Prime. Bạn sẽ thấy Tufts được viết trên ma trận LED trên trung tâm.

Bước 7: Hiển thị tên của bạn

bây giờ hãy thử gõ

hub.display.show ('')

lưu ý rằng vì bạn đã nhập trung tâm ở trên, nó đã ở trong bộ nhớ. Nếu không, bạn sẽ gặp lỗi như:

Traceback (lần gọi gần đây nhất): Tệp "", dòng 1, inNameError: name 'hub' không được xác định

Bước 8: Sử dụng REPL

Một trong những thuộc tính mạnh mẽ hơn của Python là bạn có thể kiểm tra mọi thứ trước khi viết mã trong REPL (đọc vòng lặp in eval).

Nó sẽ thực thi bất kỳ lệnh python nào - hãy thử gõ 2 + 2 bên dưới và xem nó nói gì:

2+2

Bước 9: Khám phá MicroPython trên SPIKE Prime

Bây giờ là lúc để khám phá.

hub có rất nhiều chức năng - bạn có thể tìm hiểu bằng cách gõ "hub". (đừng quên khoảng thời gian sau hub) và sau đó nhấn phím TAB trong REPL. Điều đó sẽ cho bạn thấy tất cả các cách khác nhau để bạn có thể hoàn thành lệnh.

Thử thách: Xem bạn có đọc được phần tăng tốc không.

Bước 10: Đọc giá trị cảm biến… 1

Dữ liệu tăng tốc trở lại dưới dạng một mảng giá trị. vì vậy nếu bạn chỉ muốn giá trị X, bạn có thể thử

hub.motion.accelerometer () [0]

hoặc cách tốt hơn để viết mã này là sử dụng các biến như thế này:

trung tâm nhập khẩu

accel = hub.motion.accelerometer () xAccel = accel [0] hub.display.show (str (xAccel))

Bước 11: Đọc giá trị cảm biến… 2

Đọc giá trị cảm biến… 2
Đọc giá trị cảm biến… 2

Bạn cũng có thể hiển thị tất cả ba gia tốc bằng cách sử dụng một vòng lặp.

Chúng tôi cũng sẽ nhập utime thư viện để chúng tôi có thể tạm dừng và cho bạn thời gian để đọc số trên màn hình.

Hãy thử mã này:

import hub, utimeaccel = hub.motion.accelerometer () cho Acc trong accel: hub.display.show (str (Acc)) utime.sleep (0,8)

Tại thời điểm này, một số điều trở nên quan trọng:

dấu cách - Python là tất cả về thụt lề phải - tương tự như dấu ngoặc trong các ngôn ngữ khác, thụt lề cho bạn biết những gì bên trong vòng lặp for và những gì không.

khi sử dụng REPL, bạn sẽ nhận thấy rằng khi bạn thụt lề, nó không còn thực thi dòng mà thay vào đó đợi bạn hoàn thành các dòng cho vòng lặp for trước khi thực thi (và dấu >>> được thay thế bằng…). Để kết thúc vòng lặp for, chỉ cần nhấn return ba lần và vòng lặp sẽ được thực hiện.

Bước 12: Thử thách

Tiếp theo, hãy xem liệu bạn có thể tìm ra mã bên dưới làm gì không - và thử thực thi nó để xem bạn có đúng hay không.

trung tâm nhập khẩu, utime

while True: accel = hub.motion.accelerometer () cho Acc trong accel: hub.display.show (str (Acc)) utime.sleep (0.8) nếu hub.port. B.device.get (): break

Gợi ý - bạn cần một cảm biến trên cổng B.

Đề xuất: