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
至 要使用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並與該程序的交互選項進行交互,即可輸入打開,關閉或退出程序的命令。