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并与该程序的交互选项进行交互,即可输入打开,关闭或退出程序的命令。