Anaconda (Python) para seu Arduino

Logotipo da Anaconda

Anaconda é uma distribuição gratuita e aberta da linguagem de programação Python (e R). Lembre-se, uma das linguagens mais utilizadas hoje e que permite a criação de scripts, já que é uma linguagem interpretada. Portanto, depende do interpretador Python para que a máquina possa entendê-lo e processá-lo. Em contraste, as linguagens compiladas são traduzidas em um binário que pode ser entendido diretamente pela máquina sem um intermediário.

Pois bem, Jibóia É amplamente utilizado na área de educação e aprendizado de máquina. Mas também o que você pode usar para controlar a placa Arduino. Sim, exatamente, você poderia estar usando a linguagem de programação Python para criar seus programas para controlar o Arduino sem nenhum problema e de forma simples. Aqui vamos explicar como fazer isso passo a passo ...

O que é Anaconda

Bem, você já sabe o que é uma distribuição Pythone, portanto, compartilha características com o Python oficial. Mas oferece algumas vantagens em relação ao Python, além de ser multiplataforma e de código aberto, como:

  • Permite que você instalar e gerenciar pacotes, dependências e ambientes para ciência de dados de uma forma simples.
  • Permite a utilização de diversos ambientes de programação ou IDEs, entre eles também você pode usá-lo com Arduino, Raspberry Pi, etc.
  • Tem ferramentas como numpy, Numba, Dask, Bokeh, Datashader, Holoviews, Matplotlib, etc., para analisar e visualizar dados.
  • Permite compilar python em código de máquina em vez de ser interpretado para uma execução mais rápida. Ou seja, ela se tornaria uma linguagem compilada.
  • Permite escrever programas mais complexos, de alto desempenho e até mesmo portáteis entre plataformas para levar seus projetos aonde você quiser.

Mais informações – Instalar Anaconda

API para usar com Arduino

Logotipo do Arduino e Python

Pára para usar Python para controlar o Arduino, você precisará de uma API. Depois de instalar o Anaconda em seu sistema operacional, você pode instale a API de uma forma muito simples. É tão simples quanto invocar o anaconda da linha de comando, nesse momento seu prompt de shell mudará para o prompt do Anaconda, e dentro de você pode usar o seguinte comando e o conda cuidará de tudo:

conda install -c auto arduino-python

Uma vez que o arduino-python está instalado, já você pode começar a usá-lo com seus projetos Arduino. Mas, primeiro, você deve preparar o ambiente para criar um novo ambiente virtual para seu primeiro projeto Arduino. Para fazer isso, no prompt do Anaconda você pode usar o seguinte comando especificando um nome e a versão da linguagem Python que você irá usar. Por exemplo:

conda create --name arduino python=3.7

Agora o ambiente virtual "arduino" já foi criado para uso com o Python versão 3.7. Isto a seguir é ativá-lo:

conda activate arduino

Uma vez ativa, mantenha esta janela do terminal, não a feche, pois você a usará mais tarde. Como você pode ver isso o prompt agora é (arduino)> para que você possa começar. Seria conveniente que você instale agora alguns pacotes de que precisará, como o PySerial para comunicação com a placa Arduino. Para fazer isso, basta usar a partir do mesmo prompt:

conda install pyserial

Tudo bem agora baixe e instale o Arduino IDE Se você ainda não o tinha, se tinha, então você pode passar para a próxima etapa, que é escrever o código em Python para controlar seu projeto Arduino. Você pode escrever um programa simples ou usar os exemplos que vêm com o IDE do Arduino para testar.

Por exemplo, vá para Arduino IDE> Arquivo> Exemplos> Comunicação> PhysicalPixel e carregue-o na sua placa Arduino conectada ao seu PC. Quando o esboço estiver funcionando, você pode usar Python como faria na placa Raspberry Pi com os GPIOs para alterar o resultado. Por exemplo, neste caso, para ligar ou desligar o LED à vontade com um código Python simples.

Para fazer isso, você pode volte para a janela do seu terminal e entre no prompt do Anaconda Fazer a próxima:

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

Isso vai fazer a função ser.write pode desligar (L) ou ligar o LED (H) à vontade. Então ser.close () termina e exit () sai. Portanto, você pode controlar seus projetos Arduino com Python. Obviamente, este é apenas um exemplo, mas você pode imaginar muitos outros casos ...

Você também pode criar arquivos .py com scripts Python ser capaz de executá-los a qualquer momento sem ter que fazer isso diretamente do prompt do anaconda. Por exemplo, este outro:

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

Simples verdade? Além disso, se você já conhecia a linguagem Python, tudo isso será muito mais fácil para você. Você só terá que executar seu .py e interagir com as opções interativas deste programa para inserir comandos para ligar, desligar ou sair do programa neste caso.


Seja o primeiro a comentar

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.