Anaconda (Python) för din Arduino

Anaconda-logotyp

Anaconda är en gratis och öppen distribution av programmeringsspråket Python. (och R). Kom ihåg att ett av de mest använda språken idag och som låter dig skapa skript, eftersom det är ett tolkat språk. Därför beror det på Python-tolken så att maskinen kan förstå och bearbeta den. Däremot översätts kompilerade språk till en binär som kan förstås direkt av maskinen utan en mellanhand.

Tja, Anakonda Det används ofta inom utbildning och automatisk inlärning eller maskininlärning. men också du kan använda för att styra arduino-kort. Ja, precis, du kan använda programmeringsspråket Python för att skapa dina program för att styra Arduino utan problem och på ett enkelt sätt. Här kommer vi att förklara hur man gör det steg för steg...

Vad är Anaconda

Tja, du vet redan att det är en pythondistribution, och delar därför funktioner med den officiella Python. Men det erbjuder vissa fördelar jämfört med Python, förutom att vara plattformsoberoende och öppen källkod, som:

  • Det tillåter dig installera och hantera paket, beroenden och miljöer för datavetenskap på ett enkelt sätt.
  • Låter dig använda olika programmeringsmiljöer eller IDE, inklusive du kan använda den med Arduino, Raspberry Pi, etc.
  • Konto med verktyg såsom numpy, Numba, Dask, Bokeh, Datashader, Holoviews, Matplotlib, etc., för att analysera och visualisera data.
  • det gör kompilera python till maskinkod istället för att tolkas för snabbare utförande. Det vill säga att det skulle bli ett sammanställt språk.
  • det gör skriva mer komplexa, högpresterande och till och med bärbara program mellan plattformar för att ta dina projekt vart du vill.

Mer information – Installera Anaconda

API att använda med Arduino

Arduino och Python-logotyp

till för att använda python för att styra arduino behöver du ett api. När du har installerat Anaconda på ditt operativsystem kan du installera api på ett väldigt enkelt sätt. Det är så enkelt som att anropa anaconda från kommandoraden, då kommer din skalprompt att ändras till Anaconda, och inuti kan du använda följande kommando och conda tar hand om allt:

conda install -c auto arduino-python

När arduino-python är installerad, du kan börja använda den med dina Arduino-projekt. Men först måste du förbereda miljön för att skapa en ny virtuell miljö för ditt första Arduino-projekt. För att göra detta, inom Anaconda-prompten kan du använda följande kommando som anger ett namn och versionen av Python-språket som du ska använda. Till exempel:

conda create --name arduino python=3.7

Nu är den virtuella miljön "arduino" redan skapad för att använda Python version 3.7 med den. Det nästa är att aktivera den:

conda activate arduino

När det är aktivt, behåll det här terminalfönstret, stäng det inte, eftersom du kommer att använda det senare. hur kan du se det prompten är nu (arduino)> så du kan börja. Det skulle vara bekvämt för dig att nu installera några paket som du kommer att behöva, som PySerial för kommunikationen med Arduino-kortet. För att göra detta, använd helt enkelt från samma prompt:

conda install pyserial

Okej nu ladda ner och installera Arduino IDE om du inte redan hade det, om du hade det, så kan du gå vidare till nästa steg, som är att skriva koden i Python för att styra ditt Arduino-projekt. Du kan skriva ett enkelt program eller använda exemplen som följer med Arduino IDE för att testa.

Por ejemplo, gå till Arduino IDE > Arkiv > Exempel > Kommunikation > PhysicalPixel och ladda den på ditt Arduino-kort anslutet till din PC. När skissen körs kan du använda Python som du skulle göra på Raspberry Pi med GPIO:erna för att ändra resultatet. Till exempel, i det här fallet att slå på eller stänga av lysdioden efter behag med en enkel Python-kod.

För att göra detta kan du gå tillbaka till ditt terminalfönster och in i Anaconda-prompten Gör nästa:

> 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 kommer att göra ser.write-funktionen kan stängas av (L) eller tända lysdioden (H) när du vill. Sedan avslutas ser.close() och exit() avslutas. Så du kan styra dina Arduino-projekt med Python. Uppenbarligen är detta bara ett exempel, men du kan föreställa dig många fler fall...

Du kan också skapa .py-filer med python-skript för att kunna utföra dem när som helst utan att behöva göra det direkt från anaconda-prompten. Till exempel den här andra:

# 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 sanning? Dessutom, om Du kunde redan Python-språket, Allt detta kommer att bli mycket lättare för dig. Du behöver bara köra din .py och interagera med de interaktiva alternativen i detta program för att introducera kommandon för att slå på, stänga av eller avsluta programmet i detta fall.


Bli först att kommentera

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.