Anaconda (Python) za vaš Arduino

Anaconda logotip

Anaconda je besplatna i otvorena distribucija programskog jezika Python (i R). Zapamtite, jedan od najčešće korištenih jezika danas i koji vam omogućuje stvaranje skripti, jer je to protumačeni jezik. Prema tome, to ovisi o tumaču Python kako bi ga stroj mogao razumjeti i obraditi. Suprotno tome, kompilirani jezici prevode se u binarni sustav koji stroj može izravno razumjeti bez posrednika.

Pa, anakonda Široko se koristi u području obrazovanja i strojnog učenja. Ali i što možete koristiti za upravljanje Arduino pločom. Da, točno, mogli biste koristiti programski jezik Python za stvaranje svojih programa za kontrolu Arduina bez ikakvih problema i na jednostavan način. Ovdje ćemo objasniti kako to učiniti korak po korak ...

Što je Anaconda

Pa, već znate što je distribucija pythona, i stoga dijeli karakteristike sa službenim Pythonom. Ali nudi neke prednosti u odnosu na Python, osim što je višeplatforma i otvoreni izvor, kao što su:

  • Omogućuje vam instalirati i upravljati paketima, ovisnostima i okruženjima za znanost podataka na jednostavan način.
  • Omogućuje upotrebu različitih programskih okruženja ili IDE-a, među njima također možete ga koristiti s Arduinom, Raspberry Pi itd.
  • značajke alat kao što su numpy, Numba, Dask, Bokeh, Datashader, Holoviews, Matplotlib itd., za analizu i vizualizaciju podataka.
  • to omogućuje kompajlirati python u strojni kod umjesto da se tumači za brže izvršenje. Odnosno, postao bi kompilirani jezik.
  • to omogućuje pisati složenije, visoko performanse, pa čak i prijenosne programe između platformi za odvođenje projekata kamo god želite.

Više informacija – Instalirajte Anacondu

API za upotrebu s Arduinom

Arduino i Python logotip

u za korištenje Pythona za kontrolu Arduina trebat će vam API. Nakon što instalirate Anacondu na svoj operativni sustav, možete instalirajte API na vrlo jednostavan način. Jednostavno je kao i pozivanje anaconde iz naredbenog retka, u tom će se trenutku vaš shell shell promijeniti u prompt Anaconda, a iznutra možete koristiti sljedeću naredbu i conda će se pobrinuti za sve:

conda install -c auto arduino-python

Jednom kada je instaliran arduino-python, već možete ga početi koristiti sa svojim Arduino projektima. Ali prvo, morate pripremiti okruženje za stvaranje novog virtualnog okruženja za svoj prvi Arduino projekt. Da biste to učinili, u retku Anaconda možete upotrijebiti sljedeću naredbu koja određuje ime i verziju jezika Python koju ćete koristiti. Na primjer:

conda create --name arduino python=3.7

Sada je virtualno okruženje "arduino" već stvoreno za upotrebu s Python verzijom 3.7. To sljedeće je da ga aktivirate:

conda activate arduino

Jednom aktivan, zadržite ovaj prozor terminala, nemojte ga zatvarati, jer ćete ga koristiti kasnije. Kako to možeš vidjeti upit je sada (arduino)> kako biste mogli započeti. Bilo bi prikladno da sada instalirate neke pakete koji će vam trebati, kao što je PySerial za komunikaciju s Arduino pločom. Da biste to učinili, jednostavno upotrijebite iz istog upita:

conda install pyserial

Odmah preuzmite i instalirajte Arduino IDE Ako ga već niste imali, ako jeste, možete prijeći na sljedeći korak, a to je pisanje koda na Pythonu za kontrolu vašeg Arduino projekta. Možete napisati jednostavan program ili koristiti primjere koji dolaze s Arduino IDE-om za testiranje.

Po ejemplo, idite na Arduino IDE> Datoteka> Primjeri> Komunikacija> PhysicalPixel i prenesite ga na svoju Arduino ploču povezanu s računalom. Nakon što skica radi, možete koristiti Python kao što biste to učinili na ploči Raspberry Pi s GPIO-ima da biste promijenili rezultat. Na primjer, u ovom slučaju uključite ili isključite LED po volji jednostavnim Python kodom.

Da biste to učinili, možete vratite se na prozor terminala i u upit Anaconda Učinite sljedeće:

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

To će učiniti funkcija ser.write može po želji isključiti (L) ili uključiti LED (H). Zatim ser.close () završava i izlaz () izlazi. Tako možete kontrolirati svoje Arduino projekte pomoću Pythona. Očito je ovo samo primjer, ali možete zamisliti još puno slučajeva ...

Također možete stvoriti .py datoteke s Python skriptama kako bi ih mogli izvršiti u bilo kojem trenutku, a da to ne moraju učiniti izravno iz upita anaconda. Na primjer ovo drugo:

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

Jednostavna istina? Nadalje, ako već ste znali jezik Python, sve će vam to biti puno lakše. Morat ćete pokrenuti svoj .py i komunicirati s interaktivnim opcijama ovog programa da biste unijeli naredbe za uključivanje, isključivanje ili izlazak iz programa u ovom slučaju.


Budite prvi koji će komentirati

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.