Hướng dẫn can arduino run python? - arduino có thể chạy python không?

Hướng dẫn can arduino run python? - arduino có thể chạy python không?

Tìm hiểu về khả năng tương thích giữa việc triển khai Micropython phổ biến và bảng Arduino, cách thiết lập môi trường của bạn và khám phá các hướng dẫn chuyên sâu và các liên kết hữu ích.

Để tải xuống phần sụn cần thiết để chạy micropython trên bảng Arduino của bạn, hãy truy cập trang tải xuống Arduino Micropython.

Micropython là một triển khai ngôn ngữ lập trình Python đi kèm với một tập hợp con của Thư viện tiêu chuẩn Python và được thiết kế để chạy trên các bộ vi điều khiển.to run on microcontrollers.

Một lợi thế lớn của việc sử dụng micropython là nó rất dễ học và có tài liệu tuyệt vời cho một số bảng. Hiện tại, có bốn bảng có thể được sử dụng cùng với micropython, bạn có thể đọc thêm về chúng trong phần bảng tương thích.

Arduino cũng hỗ trợ nhánh Micropython của OpenMV và thông qua OpenMV IDE, bạn có thể cài đặt Micropython, kết nối/ngắt kết nối bảng của mình và tải lên các tập lệnh của bạn.

Hướng dẫn can arduino run python? - arduino có thể chạy python không?
Hội đồng Arduino chính thức hỗ trợ Micropython.

Có khá nhiều sự khác biệt giữa cách chúng tôi lập trình một bảng Arduino với Arduino IDE, sử dụng ngôn ngữ lập trình Arduino (dựa trên C ++) và cách chúng tôi lập trình bằng Micropython. Khi tải lên những gì chúng tôi gọi là một bản phác thảo lên một bảng, trước tiên chúng tôi biên dịch bản phác thảo chúng tôi viết, sau đó tải nó lên bảng, thay thế bản phác thảo cũ bằng một bản mới.

Để sử dụng Micropython, trước tiên chúng ta cần cài đặt nó trên bảng. Sau đó, chúng ta có thể tải một

script.py

, giống như ví dụ chớp mắt sau:

1import time

2from machine import Pin

3

4led = Pin(6, Pin.OUT)

5

6while True:

7 led.on()

8 time.sleep_ms(250)

9 led.off()

10 time.sleep_ms(250)

Vì Micropython đã chạy trên bảng, chúng tôi không cần biên dịch và tải lên mã, chúng tôi chỉ cần cung cấp các hướng dẫn (được thực hiện thông qua giao tiếp nối tiếp).

Khi cài đặt micropython trên bảng, nó chỉ có thể chạy các tập lệnh micropython, cho đến khi chúng tôi "gỡ cài đặt" nó. Để đặt bảng trở lại ở "Chế độ bình thường", chúng tôi cần đặt lại bộ tải khởi động, đây là một quy trình duy nhất cho mỗi bảng. Các hướng dẫn này có sẵn trong phần Bảng tương thích trong bài viết này. Về cơ bản, bạn phải đặt bảng ở chế độ Bootloader và tải lên bất kỳ bản phác thảo nào .ino.

Phòng thí nghiệm Arduino cho micropython

Hướng dẫn can arduino run python? - arduino có thể chạy python không?
Phòng thí nghiệm Arduino cho Biên tập viên Micropython

Phòng thí nghiệm Arduino cho Micropython là một trình soạn thảo nhẹ được thiết kế để tương tác đơn giản giữa máy tính và bảng của bạn. Với nó, bạn có thể chọn cổng, tải tập lệnh và sử dụng shell repress và hơn thế nữa.

  • Tải xuống phòng thí nghiệm Arduino cho Trình chỉnh sửa Micropython.
  • Trang tải xuống phần mềm Micropython.

Biên tập viên OpenMV

OpenMV là một nền tảng hỗ trợ các bảng Arduino lập trình bằng cách sử dụng một ngã ba Micropython. Thông qua Trình chỉnh sửa OpenMV, chúng tôi có thể cài đặt ngã ba này và tải các tập lệnh trực tiếp lên bảng. Ngoài ra còn có một số ví dụ có sẵn trực tiếp trong trình soạn thảo.

OpenMV là một nền tảng tuyệt vời cho các dự án máy tính và học máy.

Hướng dẫn can arduino run python? - arduino có thể chạy python không?
Trình chỉnh sửa OpenMV.

Ví dụ OpenMV

Xa hơn nữa, bạn có thể tìm thấy rất nhiều ví dụ mã hữu ích sẽ giúp bạn bắt đầu.

Bạn cũng có thể kiểm tra danh sách đầy đủ các ví dụ trong kho Github của OpenMV.

Bảng tương thích

Hiện tại có bốn ban Arduino chính thức hỗ trợ Micropython. Chúng được liệt kê dưới đây:four Arduino boards that officially supports MicroPython. They are listed below:

  • Nano 33 BLE
  • Nano 33 Ble Sense
  • Kết nối Nano RP2040
  • Portenta H7

Tất cả ở trên cũng tương thích với OpenMV IDE.OpenMV IDE.

Nano 33 BLE

Hướng dẫn can arduino run python? - arduino có thể chạy python không?
Nano 33 Ble Sense

Kết nối Nano RP2040Nano 33 BLE board, you can check out the tutorials below:

  • Portenta H7
  • Tất cả ở trên cũng tương thích với OpenMV IDE.
  • Nano 33 thổi

Nếu bạn cần trợ giúp bắt đầu với Micropython trên bảng Nano 33 BLE, bạn có thể xem các hướng dẫn dưới đây:

Nano 33 Ble Sense

Hướng dẫn can arduino run python? - arduino có thể chạy python không?
Kết nối Nano RP2040

Portenta H7Nano 33 BLE Sense board, you can check out the tutorials below:

  • Tất cả ở trên cũng tương thích với OpenMV IDE.
  • Nano 33 thổi
  • Nếu bạn cần trợ giúp bắt đầu với Micropython trên bảng Nano 33 BLE, bạn có thể xem các hướng dẫn dưới đây:

Cài đặt Micropython trên Nano BLE của bạn.

Kết nối Nano RP2040

Hướng dẫn can arduino run python? - arduino có thể chạy python không?
Portenta H7

Tất cả ở trên cũng tương thích với OpenMV IDE.Nano RP2040 Connect board, you can check out the tutorials below:

  • Nano 33 thổi
  • Nếu bạn cần trợ giúp bắt đầu với Micropython trên bảng Nano 33 BLE, bạn có thể xem các hướng dẫn dưới đây:
  • Cài đặt Micropython trên Nano BLE của bạn.

Bắt đầu với OpenMV và Nano 33 BLE

Portenta H7

Hướng dẫn can arduino run python? - arduino có thể chạy python không?
Portenta H7

Nếu bạn cần trợ giúp bắt đầu với Micropython trên bảng Portenta H7, bạn có thể xem hướng dẫn dưới đây:Portenta H7 board, you can check out the tutorial below:

  • Cài đặt Micropython trên Portenta H7.
  • Bắt đầu với OpenMV và Micropython trên Portenta H7

Học Python

Vì Micropython là một triển khai ngôn ngữ Python, bạn cũng có thể chạy rất nhiều tập lệnh Python trực tiếp trên bảng. Ví dụ: chạy tập lệnh Python này trên máy tính của bạn cũng hoạt động khi chạy nó trên bảng của bạn.

1value1 = 2

2value2 = 5

3

4print(value1 + value2)

Điều này có nghĩa là đã đến lúc học ngôn ngữ Python, có rất nhiều tài nguyên. Chúng tôi khuyên bạn nên xem các tài nguyên sau để hiểu rõ hơn về ngôn ngữ Python:Python language, which there is a lot of resources for. We recommend taking a look at the following resources to better understand the Python language:

  • python.org
  • learnpython.org
  • Hướng dẫn của W3Schools về Python

Tài liệu Micropython

Ghé thăm tài liệu Micropython để hiểu về cách Python chạy trên vi điều khiển.

Lưu ý rằng nhiều ví dụ trong tài liệu Micropython sẽ không hoạt động trực tiếp với các bảng Arduino, nhưng sẽ cung cấp sự hiểu biết về cách Python có thể chạy trên bảng của bạn.

API

Dưới đây bạn sẽ tìm thấy một số ví dụ hữu ích có thể được sử dụng bởi bất kỳ bảng Arduino nào. Đối với các tính năng cụ thể hơn, chẳng hạn như cảm biến trên bo mạch, kết nối và giao tiếp, vui lòng tham khảo các hướng dẫn riêng lẻ:

  • Nano RP2040 Kết nối API Python
  • Hướng dẫn API Nano BLE
  • Hướng dẫn API Nano Ble Sense

In

Một kịch bản đơn giản sẽ in

"Hello world!"

Mỗi giây.

1import time

2

3content = "Hello world!"

4

5while True:

6 print(content)

7 time.sleep(1)

Chức năng

Kịch bản này in

"Hello world!"

Mỗi giây. Thêm vao Đoa,

counter_function()

cũng

1import time

2

3content = "Hello world!"

4count = 0

5

6def counter_function():

7 global count

8 count = count + 1

9

10while True:

11 counter_function()

12 print(content, count)

13 time.sleep(1)

Cho vòng lặp

Sử dụng đơn giản cho một vòng lặp và các chức năng. Kịch bản này được tính đến 10, và sau đó trở lại 0.

1import time

2

3content = "Hello world!"

4count = 0

5

6def function_increase():

7 global count

8 count = count +1

9 print(count)

10

11def function_decrease():

12 global count

13 count = count -1

14 print(count)

15

16while True:

17 for x in range(10):

18 function_increase()

19 time.sleep(1)

20

21 for x in range(10):

22 function_decrease()

23 time.sleep(1)

Viết kỹ thuật số

Viết giá trị cao và thấp vào một pin kỹ thuật số cứ sau một giây. Cũng in trạng thái trong thiết bị đầu cuối.

1from machine import Pin

2import utime

3

4p2 = Pin(25, Pin.OUT)

5

6while True:

7 p2.value(0)

8 print("off")

9 utime.sleep(1)

10 p2.value(1)

11 print("on")

12 utime.sleep(1)

Đọc kỹ thuật số (kéo lên)

Đọc các chân kỹ thuật số với một

1import time

2from machine import Pin

3

4led = Pin(6, Pin.OUT)

5

6while True:

7 led.on()

8 time.sleep_ms(250)

9 led.off()

10 time.sleep_ms(250)

0

cấu hình.

1import time

2from machine import Pin

3

4led = Pin(6, Pin.OUT)

5

6while True:

7 led.on()

8 time.sleep_ms(250)

9 led.off()

10 time.sleep_ms(250)

1

Đọc kỹ thuật số (kéo xuống)

Đọc các chân kỹ thuật số với một

1import time

2from machine import Pin

3

4led = Pin(6, Pin.OUT)

5

6while True:

7 led.on()

8 time.sleep_ms(250)

9 led.off()

10 time.sleep_ms(250)

2

cấu hình.

1import time

2from machine import Pin

3

4led = Pin(6, Pin.OUT)

5

6while True:

7 led.on()

8 time.sleep_ms(250)

9 led.off()

10 time.sleep_ms(250)

3

Đọc kỹ thuật số (kéo xuống)

Đọc tương tự

1import time

2from machine import Pin

3

4led = Pin(6, Pin.OUT)

5

6while True:

7 led.on()

8 time.sleep_ms(250)

9 led.off()

10 time.sleep_ms(250)

4

Đọc một chốt tương tự và in nó vào thiết bị đầu cuối với độ trễ 0,5 giây.

PWM

1import time

2from machine import Pin

3

4led = Pin(6, Pin.OUT)

5

6while True:

7 led.on()

8 time.sleep_ms(250)

9 led.off()

10 time.sleep_ms(250)

5

Viết một nhiệm vụ cụ thể cho một pin cụ thể.

Sự chậm trễ

1import time

2from machine import Pin

3

4led = Pin(6, Pin.OUT)

5

6while True:

7 led.on()

8 time.sleep_ms(250)

9 led.off()

10 time.sleep_ms(250)

6

Để sử dụng một độ trễ đơn giản, chúng ta có thể sử dụngseconds, we can use

1import time

2from machine import Pin

3

4led = Pin(6, Pin.OUT)

5

6while True:

7 led.on()

8 time.sleep_ms(250)

9 led.off()

10 time.sleep_ms(250)

7

Mô -đun. Nếu chúng ta muốn viết trong vài giây, chúng ta có thể sử dụng

1import time

2from machine import Pin

3

4led = Pin(6, Pin.OUT)

5

6while True:

7 led.on()

8 time.sleep_ms(250)

9 led.off()

10 time.sleep_ms(250)

8

và trong mili giây

1import time

2from machine import Pin

3

4led = Pin(6, Pin.OUT)

5

6while True:

7 led.on()

8 time.sleep_ms(250)

9 led.off()

10 time.sleep_ms(250)

9

.

Ngắt

Dưới đây là một ví dụ về một ngắt đơn giản sử dụng nút kéo lên và đèn LED.

1value1 = 2

2value2 = 5

3

4print(value1 + value2)

0