Anaconda (Python) pentru Arduino

Sigla Anaconda

Anaconda este o distribuție gratuită și deschisă a limbajului de programare Python (și R). Amintiți-vă, una dintre cele mai utilizate limbi astăzi și care vă permite să creați scripturi, deoarece este un limbaj interpretat. Prin urmare, depinde de interpretul Python, astfel încât mașina să îl poată înțelege și procesa. În schimb, limbile compilate sunt traduse într-un binar care poate fi înțeles direct de mașină fără intermediar.

Ei bine, anaconda Este utilizat pe scară largă în domeniul educației și al învățării automate. Dar și ce puteți utiliza pentru a controla placa Arduino. Da, exact, ați putea folosi limbajul de programare Python pentru a vă crea programele pentru a controla Arduino fără nicio problemă și într-un mod simplu. Aici vom explica cum să o facem pas cu pas ...

Ce este Anaconda

Ei bine, știți deja ce este o distribuție Python, și, prin urmare, împărtășește caracteristici cu Python oficial. Dar oferă câteva avantaje față de Python, în afară de faptul că este multiplataformă și open source, cum ar fi:

  • Vă permite instalați și gestionați pachete, dependențe și medii pentru știința datelor într-un mod simplu.
  • Permite utilizarea diferitelor medii de programare sau IDE, printre care și ele îl puteți folosi cu Arduino, Raspberry Pi etc.
  • caracteristici Unelte cum ar fi numpy, Numba, Dask, Bokeh, Datashader, Holoviews, Matplotlib etc., pentru a analiza și vizualiza date.
  • Acesta permite compilați python în codul mașinii în loc să fie interpretat pentru o execuție mai rapidă. Adică ar deveni un limbaj compilat.
  • Acesta permite scrieți programe mai complexe, performante și chiar portabile între platforme pentru a vă duce proiectele oriunde doriți.

Mai multe informatii - Instalați Anaconda

API de utilizat cu Arduino

Sigla Arduino și Python

la pentru a utiliza Python pentru a controla Arduino veți avea nevoie de un API. După ce ați instalat Anaconda pe sistemul de operare, puteți instalați API-ul într-un mod foarte simplu. Este la fel de simplu ca invocarea anaconda din linia de comandă, în acel moment promptul shell-ului dvs. va trece la promptul Anaconda, iar în interior puteți utiliza următoarea comandă, iar conda se va ocupa de toate:

conda install -c auto arduino-python

Odată ce arduino-python este instalat, deja puteți începe să îl utilizați cu proiectele dvs. Arduino. Dar mai întâi, trebuie să pregătiți mediul pentru a crea un nou mediu virtual pentru primul dvs. proiect Arduino. Pentru a face acest lucru, în promptul Anaconda puteți utiliza următoarea comandă specificând un nume și versiunea limbii Python pe care urmează să o utilizați. De exemplu:

conda create --name arduino python=3.7

Acum mediul virtual „arduino” este deja creat pentru a fi utilizat cu versiunea 3.7 de Python. Aceasta următorul este să-l activați:

conda activate arduino

Odată activ, păstrați această fereastră a terminalului, nu o închideți, deoarece o veți folosi mai târziu. Cum poți vedea asta promptul este acum (arduino)> astfel încât să puteți începe. Ar fi convenabil să instalați acum câteva pachete de care veți avea nevoie, cum ar fi PySerial pentru comunicarea cu placa Arduino. Pentru a face acest lucru, pur și simplu utilizați din același prompt:

conda install pyserial

Bine acum descărcați și instalați Arduino IDE Dacă nu ați avut-o deja, dacă ați avut-o, atunci puteți trece la pasul următor, care este să scrieți codul în Python pentru a vă controla proiectul Arduino. Puteți scrie un program simplu sau puteți folosi exemplele care vin împreună cu Arduino IDE pentru a testa.

De exemplu, accesați Arduino IDE> Fișier> Exemple> Comunicare> PhysicalPixel și încărcați-l pe placa Arduino conectată la computer. Odată ce schița funcționează, puteți utiliza Python așa cum ați face pe placa Raspberry Pi cu GPIO-urile pentru a modifica rezultatul. De exemplu, în acest caz pentru a porni sau opri LED-ul după bunul plac cu un cod simplu Python.

Pentru a face acest lucru, puteți du-te înapoi la fereastra terminalului tău și în promptul Anaconda Faceți următoarea:

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

Asta va face funcția ser.write se poate opri (L) sau porni LED-ul (H) după bunul plac. Apoi ser.close () se termină și exit () iese. Deci, vă puteți controla proiectele Arduino cu Python. Evident, acesta este doar un exemplu, dar vă puteți imagina multe alte cazuri ...

De asemenea, puteți creați fișiere .py cu scripturi Python pentru a le putea executa în orice moment fără a fi nevoie să o faceți direct din promptul anaconda. De exemplu, celălalt:

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

Adevăr simplu? Mai mult, dacă știai deja limba Python, toate acestea îți vor fi mult mai ușoare. Va trebui să rulați .py și să interacționați cu opțiunile interactive ale acestui program pentru a introduce comenzi pentru a porni, opri sau ieși din program în acest caz.


Fii primul care comenteaza

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.