Anaconda (Python) для вашего Arduino

Логотип Anaconda

Anaconda - это бесплатный и открытый дистрибутив языка программирования Python. (и R). Помните, что сегодня это один из наиболее широко используемых языков, который позволяет создавать сценарии, поскольку это интерпретируемый язык. Следовательно, это зависит от интерпретатора Python, чтобы машина могла его понять и обработать. Напротив, скомпилированные языки переводятся в двоичный файл, который может быть понят машиной напрямую без посредника.

Ну, Анаконда Он широко используется в сфере образования и машинного обучения. Но и что вы можете использовать для управления платой Arduino. Да, именно так, вы могли бы использовать язык программирования Python для создания своих программ для управления Arduino без каких-либо проблем и простым способом. Здесь мы объясним, как это сделать, шаг за шагом ...

Что такое анаконда

Ну, вы уже знаете, что такое дистрибутив Python, и поэтому имеет общие характеристики с официальным Python. Но он предлагает некоторые преимущества перед Python, помимо кроссплатформенности и открытого исходного кода, такие как:

  • Это позволяет вам устанавливать и управлять пакетами, зависимостями и средами для науки о данных простым способом.
  • Это позволяет использовать различные среды программирования или IDE, в том числе вы можете использовать его с Arduino, Raspberry Pi и т. д.
  • Учетная запись инструменты такие как numpy, Numba, Dask, Bokeh, Datashader, Holoviews, Matplotlib и т. д., для анализа и визуализации данных.
  • Это позволяет скомпилировать Python в машинный код вместо интерпретации для более быстрого выполнения. То есть он стал бы компилируемым языком.
  • Это позволяет писать более сложные, высокопроизводительные и даже переносимые программы между платформами, чтобы переносить ваши проекты куда угодно.

Дополнительная информация – Установите Анаконду

API для использования с Arduino

Логотип Arduino и Python

к чтобы использовать Python для управления Arduino, вам понадобится API. После установки Anaconda в вашей операционной системе вы можете установить API очень просто. Это так же просто, как вызвать anaconda из командной строки, в этот момент приглашение оболочки изменится на приглашение 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)> так что вы можете начать. Было бы удобно, если бы вы сейчас установили некоторые пакеты, которые вам понадобятся, например PySerial для связи с платой Arduino. Для этого просто используйте из того же приглашения:

conda install pyserial

Хорошо сейчас загрузите и установите Arduino IDE Если у вас его еще не было, то вы можете перейти к следующему шагу, а именно к написанию кода на Python для управления вашим проектом Arduino. Вы можете написать простую программу или использовать для тестирования примеры, поставляемые с Arduino IDE.

По пример, перейдите в Arduino IDE> Файл> Примеры> Связь> PhysicalPixel и загрузите его на свою плату Arduino, подключенную к вашему ПК. Когда эскиз заработает, вы можете использовать Python так же, как на плате Raspberry Pi с GPIO, чтобы изменить результат. Например, в этом случае включить или выключить светодиод по желанию с помощью простого кода Python.

Для этого вы можете вернитесь в окно терминала и в командную строку 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) или включить светодиод (H) по желанию. Затем ser.close () завершается, а exit () завершается. Таким образом, вы можете управлять своими проектами Arduino с помощью Python. Очевидно, это всего лишь пример, но вы можете представить себе гораздо больше случаев ...

Вы также можете создавать файлы .py с помощью скриптов Python чтобы иметь возможность выполнять их в любое время без необходимости делать это непосредственно из командной строки 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. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.