Anaconda (Python) til din Arduino

anaconda-logo

Anaconda er en gratis og åben distribution af Python-programmeringssproget (og R). Husk, et af de mest anvendte sprog i dag, og det giver dig mulighed for at oprette scripts, da det er et tolket sprog. Derfor afhænger det af Python-tolken, så maskinen kan forstå og behandle den. I modsætning hertil oversættes kompilerede sprog til en binær, der kan forstås direkte af maskinen uden en mellemmand.

Nå, Anaconda Det er meget brugt inden for uddannelse og maskinindlæring. Men også hvad du kan bruge til at styre Arduino-kortet. Ja, nøjagtigt, du kunne bruge Python-programmeringssprog til at oprette dine programmer til at styre Arduino uden problemer og på en enkel måde. Her skal vi forklare, hvordan man gør det trin for trin ...

Hvad er Anaconda

Nå, du ved allerede, hvad en pythondistribution erog deler derfor egenskaber med den officielle Python. Men det giver nogle fordele i forhold til Python, bortset fra at være på tværs af platforme og open source, såsom:

  • Tillader dig installere og administrere pakker, afhængigheder og miljøer til datavidenskab på en enkel måde.
  • Det tillader brug af forskellige programmeringsmiljøer eller IDE'er, blandt dem også du kan bruge den med Arduino, Raspberry Pi osv.
  • Konto med værktøjer såsom bedøvet, Numba, Dask, Bokeh, Datashader, Holoviews, Matplotlib osv. til at analysere og visualisere data.
  • Det gør det muligt kompiler python til maskinkode i stedet for at blive fortolket til hurtigere udførelse. Det vil sige, det ville blive et kompileret sprog.
  • Det gør det muligt skriv mere komplekse, højtydende og endda bærbare programmer mellem platforme for at tage dine projekter, hvor du vil.

Flere oplysninger – Installer Anaconda

API til brug med Arduino

Arduino og Python logo

til for at bruge Python til at styre Arduino skal du have en API. Når du har installeret Anaconda på dit operativsystem, kan du installer API på en meget enkel måde. Det er så simpelt som at påkalde anaconda fra kommandolinjen, i det øjeblik vil din shell-prompt ændre sig til Anaconda-prompten, og indeni kan du bruge følgende kommando og conda tager sig af alt:

conda install -c auto arduino-python

Når arduino-python allerede er installeret du kan begynde at bruge det med dine Arduino-projekter. Men først skal du forberede miljøet til at skabe et nyt virtuelt miljø til dit første Arduino-projekt. For at gøre dette kan du inden for Anaconda-prompten bruge følgende kommando til at angive et navn og den version af det Python-sprog, du vil bruge. For eksempel:

conda create --name arduino python=3.7

Nu er det virtuelle miljø "arduino" allerede oprettet til brug sammen med Python version 3.7. Det næste er at aktivere det:

conda activate arduino

Når det er aktivt, skal du holde dette terminalvindue, ikke lukke det, da du vil bruge det senere. Hvordan kan du se det prompt er nu (arduino)> så du kan komme i gang. Det ville være praktisk, at du nu installerer nogle pakker, som du har brug for, såsom PySerial til kommunikation med Arduino-kortet. For at gøre dette skal du blot bruge fra den samme prompt:

conda install pyserial

Okay nu download og installer Arduino IDE Hvis du ikke allerede havde det, hvis du havde det, kan du gå videre til næste trin, hvilket er at skrive koden i Python for at kontrollere dit Arduino-projekt. Du kan skrive et simpelt program eller bruge eksemplerne, der følger med Arduino IDE til at teste.

Ved ejemplo, gå til Arduino IDE> Fil> Eksempler> Kommunikation> PhysicalPixel og upload det til dit Arduino-kort, der er tilsluttet din pc. Når skitsen fungerer, kan du bruge Python som på Raspberry Pi-kortet med GPIO'erne for at ændre resultatet. For eksempel i dette tilfælde at tænde eller slukke for LED'en efter eget valg med en simpel Python-kode.

For at gøre dette kan du gå tilbage til dit terminalvindue og ind i Anaconda-prompten Gør det næste:

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

Det vil gøre ser.write-funktionen kan slukke (L) eller tænde LED (H) efter ønske. Derefter slutter ser.close () og exit () exit. Så du kan styre dine Arduino-projekter med Python. Dette er åbenbart bare et eksempel, men du kan forestille dig mange flere sager ...

Du kan også Opret .py-filer med Python-scripts at kunne udføre dem når som helst uden at skulle gøre det direkte fra anaconda-prompten. For eksempel denne anden:

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

Enkel sandhed? Desuden, hvis du kendte allerede Python-sproget, alt dette vil være meget lettere for dig. Du bliver kun nødt til at køre din .py og interagere med de interaktive indstillinger i dette program for at indtaste kommandoer for at tænde, slukke eller afslutte programmet i dette tilfælde.


Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.