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 в машинний код замість інтерпретації для більш швидкого виконання. Тобто це стало б компільованою мовою.
  • Дозволяє писати більш складні, високопродуктивні та навіть портативні програми між платформами, щоб везти ваші проекти куди завгодно.

Більше інформації - Встановіть Anaconda

API для використання з Arduino

Логотип Arduino та Python

в для використання Python для управління Arduino вам знадобиться API. Після того, як ви встановите Anaconda у свою операційну систему, ви зможете встановіть API дуже простим способом. Це так просто, як виклик анаконди з командного рядка, на той момент ваш рядок оболонки зміниться на рядок анаконди, і всередині ви можете використовувати наступну команду, і 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. Ви можете написати просту програму або скористатися прикладами, що додаються до IDE Arduino, для тестування.

За приклад, перейдіть до IDE Arduino> Файл> Приклади> Зв'язок> 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 мати можливість виконувати їх у будь-який час без необхідності робити це безпосередньо з підказки анаконди. Наприклад, це інше:

# 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. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.