Anaconda (Python) for din Arduino

Anaconda-logo

Anaconda er en gratis og åpen distribusjon av Python-programmeringsspråket (og R). Husk, et av de mest brukte språkene i dag, og som lar deg lage skript, siden det er et tolket språk. Derfor avhenger det av Python-tolken slik at maskinen kan forstå og behandle den. I motsetning til dette oversettes kompilerte språk til en binær som kan forstås direkte av maskinen uten en mellommann.

vel, Anaconda Det er mye brukt innen utdanning og maskinlæring. Men også hva du kan bruke til å kontrollere Arduino-kortet. Ja, akkurat, du kan bruke Python-programmeringsspråket til å lage programmene dine for å kontrollere Arduino uten problemer og på en enkel måte. Her skal vi forklare hvordan du gjør det trinn for trinn ...

Hva er Anaconda

Vel, du vet allerede hva en pythonfordeling er, og deler derfor egenskaper med den offisielle Python. Men det gir noen fordeler i forhold til Python, bortsett fra å være plattform og åpen kildekode, for eksempel:

  • Lar deg installere og administrere pakker, avhengigheter og miljøer for datavitenskap på en enkel måte.
  • Det tillater bruk av forskjellige programmeringsmiljøer eller IDEer, blant dem også du kan bruke den med Arduino, Raspberry Pi, etc.
  • Konto med verktøy for eksempel nummen, Numba, Dask, Bokeh, Datashader, Holoviews, Matplotlib, etc., for å analysere og visualisere data.
  • den lar kompiler python til maskinkode i stedet for å bli tolket for raskere utførelse. Det vil si at det ville bli et kompilert språk.
  • den lar skriv mer komplekse, høyytelsesprogrammer og til og med bærbare programmer mellom plattformer for å ta prosjektene dit du vil.

Mer informasjon – Installer Anaconda

API for bruk med Arduino

Arduino og Python-logo

Til for å bruke Python til å kontrollere Arduino trenger du en API. Når du har installert Anaconda på operativsystemet, kan du installer API på en veldig enkel måte. Det er så enkelt som å påkalle anaconda fra kommandolinjen, i det øyeblikket vil shell-ledeteksten din endres til Anaconda-ledeteksten, og inne kan du bruke følgende kommando og conda vil ta seg av alt:

conda install -c auto arduino-python

Når arduino-python er installert, allerede du kan begynne å bruke den med Arduino-prosjektene dine. Men først må du forberede miljøet for å skape et nytt virtuelt miljø for ditt første Arduino-prosjekt. For å gjøre dette, i Anaconda-ledeteksten, kan du bruke følgende kommando for å spesifisere et navn og versjonen av Python-språket du skal bruke. For eksempel:

conda create --name arduino python=3.7

Nå er det virtuelle miljøet "arduino" allerede opprettet for bruk med Python versjon 3.7. Den neste er å aktivere den:

conda activate arduino

Når du er aktiv, beholder du dette terminalvinduet, ikke lukk det, da du vil bruke det senere. Hvordan kan du se det ledeteksten er nå (arduino)> slik at du kan komme i gang. Det ville være praktisk at du nå installerer noen pakker du trenger, for eksempel PySerial for kommunikasjon med Arduino-kortet. For å gjøre dette, bruk bare fra den samme ledeteksten:

conda install pyserial

Greit nå last ned og installer Arduino IDE Hvis du ikke allerede hadde det, hvis du hadde det, kan du gå videre til neste trinn, som er å skrive koden i Python for å kontrollere Arduino-prosjektet. Du kan skrive et enkelt program eller bruke eksemplene som følger med Arduino IDE for å teste.

av ejemplo, gå til Arduino IDE> Fil> Eksempler> Kommunikasjon> PhysicalPixel og last den opp til Arduino-kortet som er koblet til PCen. Når skissen fungerer, kan du bruke Python som du ville gjort på Raspberry Pi-kortet med GPIO-ene for å endre resultatet. For eksempel, i dette tilfellet for å slå lysdioden på eller av etter eget ønske med en enkel Python-kode.

For å gjøre dette kan du gå tilbake til terminalvinduet og inn i Anaconda-ledeteksten Gjør det neste:

> 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 gjøre ser.write-funksjonen kan slå av (L) eller slå på LED (H) etter ønske. Deretter slutter ser.close () og avslutter () exit. Så du kan kontrollere Arduino-prosjektene dine med Python. Dette er åpenbart bare et eksempel, men du kan forestille deg mange flere tilfeller ...

Du kan også lage .py-filer med Python-skript å kunne henrette dem når som helst uten å måtte gjøre det direkte fra anaconda-ledeteksten. For eksempel denne andre:

# 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 sannhet? Videre, hvis du kjente allerede Python-språket, alt dette vil være mye lettere for deg. Du trenger bare å kjøre .py og samhandle med de interaktive alternativene i dette programmet for å legge inn kommandoer for å slå på, slå av eller avslutte programmet i dette tilfellet.


Bli den første til å kommentere

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.