Anaconda (Python) voor je Arduino

Anaconda-logo

Anaconda is een gratis en open distributie van de programmeertaal Python (en R). Onthoud dat dit een van de meest gebruikte talen van vandaag is en waarmee u scripts kunt maken, aangezien het een geïnterpreteerde taal is. Daarom is het afhankelijk van de Python-interpreter, zodat de machine het kan begrijpen en verwerken. Daarentegen worden gecompileerde talen vertaald in een binair bestand dat direct door de machine kan worden begrepen zonder tussenpersoon.

Nou, Anaconda Het wordt veel gebruikt op het gebied van onderwijs en machine learning. Maar ook wat je kunt gebruiken om het Arduino-bord te besturen. Ja, precies, je zou de programmeertaal Python kunnen gebruiken om je programma's te maken om Arduino probleemloos en op een eenvoudige manier te besturen. Hier gaan we uitleggen hoe je het stap voor stap moet doen ...

Wat is Anaconda

Nou, je weet al wat een python-distributie is, en deelt daarom kenmerken met de officiële Python. Maar het biedt enkele voordelen ten opzichte van Python, behalve dat het platformonafhankelijk en open source is, zoals:

  • Het staat je toe installeer en beheer pakketten, afhankelijkheden en omgevingen voor data science op een eenvoudige manier.
  • Het maakt het gebruik van verschillende programmeeromgevingen of IDE's mogelijk, waaronder ook je kunt het gebruiken met Arduino, Raspberry Pi, etc.
  • Account bij gereedschap zoals numpy, Numba, Dask, Bokeh, Datashader, Holoviews, Matplotlib, etc., om gegevens te analyseren en visualiseren.
  • Het maakt het mogelijk compileer python in machinecode in plaats van geïnterpreteerd te worden voor snellere uitvoering. Dat wil zeggen, het zou een gecompileerde taal worden.
  • Het maakt het mogelijk schrijf meer complexe, krachtige en zelfs draagbare programma's tussen platforms om uw projecten overal mee naartoe te nemen.

Meer informatie - Installeer Anaconda

API om te gebruiken met Arduino

Arduino en Python-logo

naar om Python te gebruiken om Arduino te besturen, heb je een API nodig. Als je Anaconda eenmaal op je besturingssysteem hebt geïnstalleerd, kan dat installeer de API op een heel eenvoudige manier. Het is zo simpel als het aanroepen van anaconda vanaf de commandoregel, op dat moment zal je shell prompt veranderen in de Anaconda prompt, en binnen kun je het volgende commando gebruiken en conda zal voor alles zorgen:

conda install -c auto arduino-python

Zodra arduino-python is geïnstalleerd, al je kunt het gaan gebruiken met je Arduino-projecten. Maar eerst moet u de omgeving voorbereiden om een ​​nieuwe virtuele omgeving te creëren voor uw eerste Arduino-project. Om dit te doen, kun je binnen de Anaconda-prompt de volgende opdracht gebruiken om een ​​naam en de versie van de Python-taal die je gaat gebruiken, op te geven. Bijvoorbeeld:

conda create --name arduino python=3.7

Nu is de virtuele omgeving "arduino" al gemaakt voor gebruik met Python versie 3.7. Het de volgende is om het te activeren:

conda activate arduino

Eenmaal actief, bewaar dit terminalvenster, sluit het niet, want u zult het later gebruiken. Hoe kun je dat zien? de prompt is nu (arduino)> zodat u aan de slag kunt. Het zou handig zijn dat u nu enkele pakketten installeert die u nodig heeft, zoals PySerial voor communicatie met het Arduino-bord. Om dit te doen, gebruikt u gewoon vanaf diezelfde prompt:

conda install pyserial

Oké nu download en installeer Arduino IDE Als je het nog niet had, als je het nog niet had, dan kun je doorgaan naar de volgende stap, namelijk het schrijven van de code in Python om je Arduino-project te besturen. U kunt een eenvoudig programma schrijven of de voorbeelden gebruiken die bij de Arduino IDE worden geleverd om te testen.

door voorbeeld bekijken, ga naar Arduino IDE> Bestand> Voorbeelden> Communicatie> PhysicalPixel en upload het naar je Arduino-bord dat op je pc is aangesloten. Zodra de sketch werkt, kun je Python gebruiken zoals je zou doen op het Raspberry Pi-bord met de GPIO's om het resultaat te wijzigen. In dit geval bijvoorbeeld om de LED naar believen aan of uit te zetten met een simpele Python-code.

Om dit te doen, kunt u ga terug naar je terminalvenster en naar de Anaconda-prompt Doe het volgende:

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

Dat zal maken de ser.write-functie kan naar believen de LED (H) uitschakelen (L) of inschakelen. Dan eindigt ser.close () en wordt exit () afgesloten. U kunt dus uw Arduino-projecten besturen met Python. Dit is uiteraard slechts een voorbeeld, maar u kunt zich nog veel meer gevallen voorstellen ...

U kunt ook maak .py-bestanden met Python-scripts om ze op elk moment uit te kunnen voeren zonder het direct vanaf de anaconda-prompt te hoeven doen. Bijvoorbeeld deze andere:

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

Simpele waarheid? Bovendien, als je kende de Python-taal al, dit alles zal veel gemakkelijker voor je zijn. U hoeft alleen uw .py uit te voeren en te communiceren met de interactieve opties van dit programma om in dit geval opdrachten in te voeren om het programma in te schakelen, uit te schakelen of af te sluiten.


Wees de eerste om te reageren

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.