適用於Arduino的Anaconda(Python)

Anaconda徽標

Anaconda是Python編程語言的免費開放發行版 (和R)。 請記住,由於它是一種解釋語言,因此是當今最常用的語言之一,它可以讓您創建腳本。 因此,它依賴於Python解釋器,以便計算機可以理解和處理它。 相比之下,已編譯的語言被翻譯成二進製文件,機器無需中介即可直接理解。

那麼, 蟒蛇 它廣泛用於教育和機器學習領域。 還有什麼 您可以用來控制Arduino開發板。 是的,確切地說,您可以使用Python編程語言來創建程序來毫無問題地以簡單的方式控制Arduino。 在這裡,我們將逐步解釋如何做...

什麼是水蟒

那麼, 您已經知道什麼是Python發行版,因此與官方Python具有相同的特徵。 但是除了跨平台和開源之外,它還提供了一些優於Python的優勢,例如:

  • 允許你 安裝和管理軟件包,依賴項和環境 以一種簡單的方式處理數據科學。
  • 它允許使用各種編程環境或IDE,其中也包括 您可以將其與Arduino,Raspberry Pi等一起使用。
  • 帳戶 工具 例如numpy,Numba,Dask,Bokeh,Datashader,Holoviews,Matplotlib等,以分析和可視化數據。
  • 它允許 將python編譯成機器代碼 而不是為了更快的執行而被解釋。 也就是說,它將成為一種編譯語言。
  • 它允許 編寫更複雜,高性能甚至可移植的程序 平台之間,將項目帶到您想要的任何地方。

更多資訊 – 安裝 Anaconda

與Arduino一起使用的API

Arduino和Python徽標

要使用python控制Arduino,您將需要一個API。 在操作系統上安裝Anaconda之後,您可以 安裝API 以非常簡單的方式就像從命令行調用anaconda一樣簡單,這時您的shell提示符將更改為Anaconda提示符,在內部您可以使用以下命令,conda會處理所有事情:

conda install -c auto arduino-python

一旦安裝了arduino-python, 您可以開始在Arduino項目中使用它。 但是首先,您必須準備環境以為您的第一個Arduino項目創建一個新的虛擬環境。 為此,在Anaconda提示中,您可以使用以下命令指定名稱和要使用的Python語言版本。 例如:

conda create --name arduino python=3.7

現在,已經創建了虛擬環境“ arduino”以用於Python 3.7版。 它 接下來是激活它:

conda activate arduino

一旦激活,請保留此終端窗口,請勿關閉它,因為稍後將使用它。 你怎麼看 現在提示是(arduino)> 這樣您就可以開始使用。 現在安裝一些您需要的軟件包會很方便,例如用於與Arduino板通信的PySerial。 為此,只需在同一提示符下使用:

conda install pyserial

好啦 下載並安裝Arduino IDE 如果還沒有,那麼可以繼續執行下一步,即用Python編寫代碼來控制Arduino項目。 您可以編寫一個簡單程序或使用Arduino IDE隨附的示例進行測試。

通過 例子,轉到Arduino IDE>文件>示例>通信> PhysicalPixel並將其上傳到連接到PC的Arduino板上。 草圖工作完成後,您可以像在Raspberry Pi板上使用GPIO一樣使用Python來更改結果。 例如,在這種情況下,可以使用簡單的Python代碼隨意打開或關閉LED。

為此,您可以 回到終端窗口並進入Anaconda提示符 做下一個:

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

那將使 ser.write功能可以隨意關閉(L)或打開LED(H)。 然後ser.close()結束,而exit()退出。 因此,您可以使用Python控制Arduino項目。 顯然,這只是一個例子,但是您可以想像更多的情況...

您也可以 使用Python腳本創建.py文件 從而可以隨時執行它們,而不必直接從anaconda提示符下執行它們。 例如,其他:

# 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()

簡單的道理? 此外,如果 您已經知道Python語言, 所有這些對您來說都將更加容易。 在這種情況下,您只需要運行.py並與該程序的交互選項進行交互,即可輸入打開,關閉或退出程序的命令。


成為第一個發表評論

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。