Arduino用のAnaconda(Python)

アナコンダのロゴ

Anacondaは、Pythonプログラミング言語の無料でオープンなディストリビューションです。 (およびR)。 今日最も広く使用されている言語のXNUMXつであり、通訳言語であるため、スクリプトを作成できることを忘れないでください。 したがって、マシンがそれを理解して処理できるように、Pythonインタープリターに依存します。 対照的に、コンパイルされた言語は、仲介なしでマシンが直接理解できるバイナリに翻訳されます。

まあ、 アナコンダ 教育や機械学習の分野で広く使用されています。 しかしまた何 Arduinoボードの制御に使用できます。 はい、正確に言えば、Pythonプログラミング言語を使用して、Arduinoを問題なく簡単に制御するプログラムを作成できます。 ここでは、それを行う方法を段階的に説明します...

アナコンダとは

まあ、 あなたはすでにPythonディストリビューションが何であるかを知っています、したがって、公式のPythonと特性を共有します。 ただし、クロスプラットフォームでオープンソースであることに加えて、Pythonに比べていくつかの利点があります。

  • それはあなたを可能にします パッケージ、依存関係、環境をインストールして管理する 簡単な方法でデータサイエンスのために。
  • さまざまなプログラミング環境やIDEを使用できます。 Arduino、RaspberryPiなどで使用できます。
  • アカウントを持つ ツール numpy、Numba、Dask、Bokeh、Datashader、Holoviews、Matplotlibなど、データを分析および視覚化するために使用します。
  • 許可する Pythonをマシンコードにコンパイルする より高速な実行のために解釈される代わりに。 つまり、コンパイル言語になります。
  • 許可する より複雑で高性能な、さらにはポータブルなプログラムを作成する プラットフォーム間でプロジェクトを好きな場所に移動できます。

詳細 – Anaconda のインストール

Arduinoで使用するAPI

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)>になりました だからあなたは始めることができます。 Arduinoボードと通信するためのPySerialなど、必要なパッケージを今すぐインストールすると便利です。 これを行うには、同じプロンプトから使用します。

conda install pyserial

さてさて ArduinoIDEをダウンロードしてインストールします まだ持っていない場合は、持っている場合は、次のステップに進むことができます。それは、Pythonでコードを記述してArduinoプロジェクトを制御することです。 簡単なプログラムを作成するか、ArduinoIDEに付属の例を使用してテストできます。

POR ejemplo、ArduinoIDE>ファイル>例>通信> PhysicalPixelに移動し、PCに接続されているArduinoボードにアップロードします。 スケッチが機能したら、GPIOを備えたRaspberry Piボードで使用するのと同じように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機能は、自由にLEDをオフ(L)またはオン(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. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。