Anaconda (Python) cho Arduino của bạn

Logo Anaconda

Anaconda là một bản phân phối miễn phí và mở của ngôn ngữ lập trình Python (và R). Hãy nhớ rằng, một trong những ngôn ngữ được sử dụng nhiều nhất hiện nay và cho phép bạn tạo các tập lệnh, vì nó là một ngôn ngữ thông dịch. Do đó, nó phụ thuộc vào trình thông dịch Python để máy có thể hiểu và xử lý nó. Ngược lại, các ngôn ngữ biên dịch được dịch sang dạng nhị phân mà máy có thể hiểu trực tiếp mà không cần trung gian.

À Loại rắn lớn ở mỹ Nó được sử dụng rộng rãi trong lĩnh vực giáo dục và học máy. Nhưng cũng có những gì bạn có thể sử dụng để điều khiển bảng Arduino. Vâng, chính xác, bạn có thể sử dụng ngôn ngữ lập trình Python để tạo các chương trình của mình để điều khiển Arduino mà không gặp bất kỳ vấn đề gì và theo một cách đơn giản. Ở đây chúng tôi sẽ giải thích cách thực hiện từng bước ...

Anaconda là gì

Vâng, bạn đã biết phân phối Python là gì, và do đó chia sẻ các đặc điểm với Python chính thức. Nhưng nó cung cấp một số lợi thế so với Python, ngoài tính năng đa nền tảng và mã nguồn mở, chẳng hạn như:

  • Cho phép bạn cài đặt và quản lý các gói, phần phụ thuộc và môi trường cho khoa học dữ liệu một cách đơn giản.
  • Nó cho phép sử dụng một số môi trường lập trình hoặc IDE, bao gồm cả bạn có thể sử dụng nó với Arduino, Raspberry Pi, v.v.
  • công cụ chẳng hạn như numpy, Numba, Dask, Bokeh, Datashader, Holoviews, Matplotlib, v.v., để phân tích và trực quan hóa dữ liệu.
  • Cho phép biên dịch python thành mã máy thay vì được thông dịch để thực thi nhanh hơn. Đó là, nó sẽ trở thành một ngôn ngữ biên dịch.
  • Cho phép viết các chương trình phức tạp hơn, hiệu suất cao và thậm chí di động giữa các nền tảng để đưa các dự án của bạn đến bất cứ nơi nào bạn muốn.

Thêm thông tin – Cài đặt Anaconda

API để sử dụng với Arduino

Biểu trưng Arduino và Python

đến sử dụng Python để điều khiển Arduino, bạn sẽ cần một API. Khi bạn đã cài đặt Anaconda trên hệ điều hành của mình, bạn có thể cài đặt API một cách rất đơn giản. Nó đơn giản như gọi anaconda từ dòng lệnh, tại thời điểm đó dấu nhắc shell của bạn sẽ thay đổi thành dấu nhắc Anaconda và bên trong bạn có thể sử dụng lệnh sau và conda sẽ xử lý mọi thứ:

conda install -c auto arduino-python

Sau khi cài đặt arduino-python, bạn có thể bắt đầu sử dụng nó với các dự án Arduino của mình. Nhưng trước tiên, bạn phải chuẩn bị môi trường để tạo môi trường ảo mới cho dự án Arduino đầu tiên của mình. Để thực hiện việc này, trong lời nhắc Anaconda, bạn có thể sử dụng lệnh sau chỉ định tên và phiên bản ngôn ngữ Python mà bạn sẽ sử dụng. Ví dụ:

conda create --name arduino python=3.7

Giờ đây, môi trường ảo "arduino" đã được tạo để sử dụng với phiên bản Python 3.7. Nó tiếp theo là kích hoạt nó:

conda activate arduino

Sau khi hoạt động, hãy giữ cửa sổ đầu cuối này, không đóng nó, vì bạn sẽ sử dụng nó sau này. Làm thế nào bạn có thể thấy điều đó lời nhắc bây giờ là (arduino)> vì vậy bạn có thể bắt đầu. Sẽ rất thuận tiện nếu bạn cài đặt ngay bây giờ một số gói mà bạn sẽ cần, chẳng hạn như PySerial để giao tiếp với bảng Arduino. Để làm điều này, chỉ cần sử dụng từ cùng một lời nhắc:

conda install pyserial

Ổn rồi tải xuống và cài đặt Arduino IDE Nếu bạn chưa có, nếu bạn đã có, thì bạn có thể chuyển sang bước tiếp theo, đó là viết mã Python để điều khiển dự án Arduino của bạn. Bạn có thể viết một chương trình đơn giản hoặc sử dụng các ví dụ đi kèm với Arduino IDE để kiểm tra.

qua ejemplo, đi tới Arduino IDE> Tệp> Ví dụ> Giao tiếp> Vật lýPixel và tải nó lên bảng Arduino được kết nối với PC của bạn. Khi bản phác thảo đang hoạt động, bạn có thể sử dụng Python như trên bảng Raspberry Pi với các GPIO để thay đổi kết quả. Ví dụ, trong trường hợp này để bật hoặc tắt đèn LED theo ý muốn bằng một mã Python đơn giản.

Để làm điều này, bạn có thể quay lại cửa sổ dòng lệnh của bạn và vào lời nhắc Anaconda Làm tiếp theo:

> conda activate arduino
(arduino) > python

Python 3.7.1 (default, Dec 10 2018, 22:54:23) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.

>>> import serial
>>> ser = serial.Serial('COM4', 9800, timeout=1)
>>> ser.write(b'H')
>>> ser.write(b'L')
>>> ser.close()
>>> exit()
(arduino) >

Điều đó sẽ làm cho chức năng ser.write có thể tắt (L) hoặc bật LED (H) tùy ý. Sau đó, ser.close () kết thúc và thoát khỏi exit (). Vì vậy, bạn có thể kiểm soát các dự án Arduino của mình bằng Python. Rõ ràng đây chỉ là một ví dụ, nhưng bạn có thể hình dung ra nhiều trường hợp nữa ...

Bạn cũng có thể tạo tệp .py bằng tập lệnh Python để có thể thực thi chúng bất cứ lúc nào mà không cần phải thực hiện trực tiếp từ dấu nhắc anaconda. Ví dụ cái này cái khác:

# Ejemplo titileo_LED.py

import serial
import time

# Define el puerto serie
# Debes comprobar desde el gestor de dispositivos de tu sistma operativo a qué puerto se corresponde el USB de la placa Arduino, en Windows sería COM4 en nuestro caso
ser = serial.Serial('COM4', 9600)

def led_on_off():
    user_input = input("\n Elige comando: encendido / apagado / quitar : ")
    if user_input =="encendido":
        print("LED está encendido...")
        time.sleep(0.1) 
        ser.write(b'H') 
        led_on_off()
    elif user_input =="apagado":
        print("LED está apagado...")
        time.sleep(0.1)
        ser.write(b'L')
        led_on_off()
    elif user_input =="quitar" or user_input == "q":
        print("Salir del programa")
        time.sleep(0.1)
        ser.write(b'L')
        ser.close()
    else:
        print("Comando no válido")
        led_on_off()

time.sleep(2) # Espera a que el puerto serie inicialice 

led_on_off()

Sự thật đơn giản? Hơn nữa, nếu bạn đã biết ngôn ngữ Python, tất cả điều này sẽ dễ dàng hơn nhiều cho bạn. Bạn sẽ chỉ phải chạy .py của mình và tương tác với các tùy chọn tương tác của chương trình này để nhập lệnh bật, tắt hoặc thoát khỏi chương trình trong trường hợp này.


Hãy là người đầu tiên nhận xét

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.