适用于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. 权利:您可以随时限制,恢复和删除您的信息。