Anaconda (Python) para sa iyong Arduino

Logo ng Anaconda

Ang Anaconda ay isang libre at bukas na pamamahagi ng wika ng programa ng Python (at R). Tandaan, ang isa sa mga pinakalawak na ginagamit na wika ngayon at pinapayagan kang lumikha ng mga script, dahil ito ay isang interpretadong wika. Samakatuwid, nakasalalay ito sa interpreter ng Python upang maunawaan at maiproseso ito ng makina. Sa kaibahan, ang mga pinagsamang wika ay isinalin sa isang binary na maaaring direktang maunawaan ng makina nang walang tagapamagitan.

Well, Anaconda Malawakang ginagamit ito sa larangan ng edukasyon at pag-aaral ng makina. Ngunit ano din maaari mong gamitin upang makontrol ang Arduino board. Oo, eksakto, maaari mong gamitin ang wika ng programa ng Python upang likhain ang iyong mga programa upang makontrol ang Arduino nang walang anumang problema at sa isang simpleng paraan. Ipapaliwanag namin dito kung paano ito gagawin hakbang-hakbang ...

Ano ang Anaconda

Well, alam mo na kung ano ang pamamahagi ng Python, at samakatuwid ay nagbabahagi ng mga katangian sa opisyal na Python. Ngunit nag-aalok ito ng ilang mga kalamangan kaysa sa Python, bukod sa pagiging cross-platform at bukas na mapagkukunan, tulad ng:

  • Pinapayagan ka i-install at pamahalaan ang mga pakete, dependency at kapaligiran para sa data science sa isang simpleng paraan.
  • Pinapayagan itong gumamit ng maraming mga kapaligiran sa pag-program o mga IDE, kabilang ang kasama ng mga ito maaari mo itong gamitin sa Arduino, Raspberry Pi, atbp.
  • Account na may mga kasangkapan tulad ng numpy, Numba, Dask, Bokeh, Datashader, Holoviews, Matplotlib, atbp., upang suriin at mailarawan ang data.
  • Pinapayagan ipunin ang python sa machine code sa halip na bigyan ng kahulugan para sa mas mabilis na pagpapatupad. Iyon ay, magiging isang pinagsamang wika.
  • Pinapayagan sumulat ng mas kumplikado, mataas na pagganap, at kahit na portable na mga programa sa pagitan ng mga platform upang kunin ang iyong mga proyekto saan mo man gusto.

Higit pang impormasyon – I-install ang Anaconda

API na gagamitin kasama ng Arduino

Logo ng Arduino at Python

Sa upang magamit ang sawa upang makontrol ang Arduino kakailanganin mo ng isang API. Kapag na-install mo na ang Anaconda sa iyong operating system, maaari mo i-install ang API sa isang napaka-simpleng paraan. Ito ay kasing simple ng pagtawag sa anaconda mula sa linya ng utos, sa oras na iyon ang iyong shell prompt ay magbabago sa prompt ng Anaconda, at sa loob maaari mong gamitin ang sumusunod na utos at ang conda ay mag-aalaga ng lahat:

conda install -c auto arduino-python

Kapag na-install na ang arduino-python, mayroon na maaari mong simulang gamitin ito sa iyong mga proyekto sa Arduino. Ngunit una, kailangan mong ihanda ang kapaligiran upang lumikha ng isang bagong virtual na kapaligiran para sa iyong unang proyekto ng Arduino. Upang magawa ito, sa loob ng prompt ng Anaconda maaari mong gamitin ang sumusunod na utos na tumutukoy sa isang pangalan at ang bersyon ng wikang Python na iyong gagamitin. Halimbawa:

conda create --name arduino python=3.7

Ngayon ang virtual na kapaligiran na "arduino" ay nalikha na para magamit sa bersyon ng Python 3.7. Ito susunod ay upang buhayin ito:

conda activate arduino

Kapag aktibo, panatilihin ang window ng terminal na ito, huwag isara ito, dahil gagamitin mo ito sa paglaon. Paano mo ito makikita ang prompt ay ngayon (arduino)> para makapagsimula ka na. Maginhawa na mag-install ka ngayon ng ilang mga pakete na kakailanganin mo, tulad ng PySerial para sa komunikasyon sa Arduino board. Upang magawa ito, gamitin lamang mula sa parehong prompt:

conda install pyserial

O sige ngayon i-download at i-install ang Arduino IDE Kung wala ka pa nito, kung mayroon ka, pagkatapos ay maaari kang magpatuloy sa susunod na hakbang, na kung saan ay isulat ang code sa Python upang makontrol ang iyong proyekto sa Arduino. Maaari kang sumulat ng isang simpleng programa o gamitin ang mga halimbawa na kasama ng Arduino IDE upang subukan.

Por ejemplo, pumunta sa Arduino IDE> File> Mga halimbawa> Komunikasyon> PhysicalPixel at i-upload ito sa iyong Arduino board na konektado sa iyong PC. Kapag gumagana ang sketch, maaari mong gamitin ang Python tulad ng gagawin mo sa board na Raspberry Pi kasama ang mga GPIO upang baguhin ang resulta. Halimbawa, sa kasong ito upang i-on o i-off ang LED sa kalooban na may isang simpleng Python code.

Upang magawa ito, maaari mo bumalik sa iyong window ng terminal at sa prompt ng Anaconda Gawin ang susunod:

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

Gagawa yan ang pagpapaandar ng ser.write ay maaaring patayin (L) o i-on ang LED (H) sa kalooban. Pagkatapos ang ser.close () ay nagtatapos at lumabas () na mga exit. Kaya maaari mong makontrol ang iyong mga proyekto sa Arduino sa Python. Malinaw na ito ay isang halimbawa lamang, ngunit maaari mong isipin ang marami pang mga kaso ...

Maaari mo ring i lumikha ng .py file na may mga script ng Python upang maipatupad ang mga ito anumang oras nang hindi kinakailangang gawin ito nang direkta mula sa anaconda prompt. Halimbawa ang iba pa:

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

Simpleng katotohanan? Bukod dito, kung alam mo na ang wikang Python, lahat ng ito ay magiging mas madali para sa iyo. Kailangan mo lamang patakbuhin ang iyong .py at makipag-ugnay sa mga interactive na pagpipilian ng program na ito upang maglagay ng mga utos upang i-on, patayin o lumabas sa programa sa kasong ito.


Maging una sa komento

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.