Anaconda (Python) ee loogu talagalay barnaamijkaaga Arduino

Astaanta Anaconda

Anaconda waa qaybinta bilaashka ah oo furan luqadda barnaamijka Python (iyo R). Xusuusnow, mid ka mid ah luqadaha ugu ballaaran ee maanta la isticmaalo taasna waxay kuu oggolaaneysaa inaad abuurto qoraallo, maxaa yeelay waa luqad la fasiray. Sidaa darteed, waxay kuxirantahay turjubaanka Python si mashiinku u fahmo ugana shaqeeyo. Taa bedelkeeda, luuqadaha la soo ururiyey waxaa loo turjumay binary oo si toos ah mashiinku u fahmi karo iyada oo aan la helin dhexdhexaadiye.

Hagaag, anaconda Waxaa si weyn loogu adeegsadaa dhinaca waxbarashada iyo barashada mashiinka. Laakiin sidoo kale waa maxay waad isticmaali kartaa si aad u xakameyso guddiga Arduino. Haa, dhab ahaan, waxaad u isticmaali laheyd luqadda barnaamijka Python si aad u abuurto barnaamijyadaada si aad u xakameyso Arduino dhib la'aan iyo qaab fudud. Halkan waxaan ku sharaxeynaa sida loo sameeyo talaabo talaabo ...

Waa maxay Anaconda

Waa hagaag, horeyba waad u ogtahay waxa loo yaqaan 'Python Qaybinta', oo sidaas darteed sifooyinka la wadaaga Python-ka rasmiga ah. Laakiin waxay ku siisaa xoogaa faa iido ah Python, marka laga reebo inay yihiin iskutallaab iyo ilo furan, sida:

  • Kuu oggolaanayaa rakibi oo maamul baakadaha, ku-tiirsanaanta iyo bay'adaha sayniska xogta hab fudud.
  • Waxay u oggolaaneysaa in la isticmaalo dhowr deegaan barnaamij ama IDE, oo ay ka mid yihiin waad ku isticmaali kartaa Arduino, Raspberry Pi, iwm.
  • Kala xisaabtan qalab sida numpy, Numba, Dask, Bokeh, Datashader, Holoviews, Matplotlib, iwm, si loo lafaguro loona sawiro xogta.
  • Kuu ogolaanayaa ku soo ururi lambarka mashiinka halkii loo fasiri lahaa fulin dhaqso ah. Taasi waa, waxay noqoneysaa luuqad la soo uruuriyay.
  • Kuu ogolaanayaa qor barnaamijyo aad u kakan, waxqabad sare, iyo xitaa barnaamijyo la qaadan karo inta udhaxeysa barnaamijyada si aad u qaadatid mashaariicdaada meel kasta oo aad rabto.

Macluumaad dheeraad ah - Ku rakib Anaconda

API si loogu isticmaalo Arduino

Astaanta Arduino iyo Python

para si loogu isticmaalo Python si loo xakameeyo Arduino waxaad u baahan doontaa API. Markaad ku rakibto Anaconda nidaamkaaga qalliinka, waad awoodi kartaa ku rakib API qaab aad u fudud. Waxay u fududdahay sida looga codsado anaconda xariiqda taliska, xilligaas dardaarankaaga qolofku wuxuu u beddeli doonaa isla markiiba Anaconda, gudahana waxaad ku isticmaali kartaa amarka soo socda oo conda ayaa daryeeli doonta wax walba:

conda install -c auto arduino-python

Marka arduino-python la rakibo, horeyba waxaad ku bilaabi kartaa adeegsiga mashaariicdaada Arduino. Laakiin marka hore, waa inaad diyaarisaa jawiga si aad ugu abuurto jawi cusub oo muuqaal ah mashruucaagii ugu horreeyay ee Arduino. Si tan loo sameeyo, gudaha Anaconda degdeg waxaad isticmaali kartaa amarka soo socda oo qeexaya magac iyo nooca luqadda Python ee aad isticmaali doontid. Tusaale ahaan:

conda create --name arduino python=3.7

Hadda jawiga dalwaddii ah "arduino" ayaa haddaba loo abuuray si loogu isticmaalo nooca Python 3.7. Waa marka xigta waa in la kiciyo:

conda activate arduino

Marka aad firfircoon tahay, hayso daaqadan terminal-ka, ha xidhin, maadaama aad hadhow adeegsan doonto. Sidee ku arki kartaa taas jawaabta hadda waa (arduino)> si aad u bilaabi karto. Way fiicnaan laheyd inaad hadda rakibtid xirmooyin aad u baahan doonto, sida PySerial oo lagula xiriiro guddiga Arduino. Si tan loo sameeyo, si fudud u isticmaal isla isla:

conda install pyserial

Hagaag hada soo dejiso oo rakib Arduino IDE Haddii aadan horey u haysan, haddii aad lahayd, markaa waxaad u gudbi kartaa tallaabada xigta, taas oo ah in lagu qoro lambarka Python si loo xakameeyo mashruucaaga Arduino. Waxaad qori kartaa barnaamij fudud ama waxaad isticmaali kartaa tusaalooyinka la socda Arduino IDE si aad u tijaabiso.

by ejemplo, tag Arduino IDE> Faylka> Tusaalooyinka> Isgaarsiinta> PhysicalPixel oo u soo rar boodhkaaga Arduino ee ku xiran kombuyuutarkaaga. Marka sawirku shaqeynayo, waxaad u adeegsan kartaa Python sidaad ugu adeegsan lahayd loox Raspberry Pi ah oo leh GPIOs si aad natiijada u beddesho. Tusaale ahaan, kiiskan si aad u jeediso ama u darto LED-ka marka aad rabto adigoo wata lambar fudud oo Python ah.

Si tan loo sameeyo, waad awoodaa dib ugu noqo daaqadaada terminal-ka isla markaana gal Anaconda Samee tan xigta:

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

Taasi way sameyn doontaa shaqada ser.write wuu damin karaa (L) ama wuxuu shidi karaa LED-ka (H) markuu doono. Kadibna ser.close () wuu dhamaadaa wuuna baxa () bixida. Marka waad ku xakameyn kartaa mashaariicdaada Arduino Python. Sida iska cad tani waa tusaale uun, laakiin waad qiyaasi kartaa kiisas badan oo dheeri ah ...

Waxaad sidoo kale sameyn kartaa ku abuuri faylal .py ah qoraallada Python inaad awood u leedahay inaad fuliso wakhti kasta adigoon si toos ah uga sameynin anaconda degdeg. Tusaale ahaan tan kale:

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

Runta fudud? Intaas waxaa sii dheer, haddii waxaad horey u taqaanay luqada Python, waxaas oo dhami way kuu fududaan doonaan. Kaliya waxaad u baahan doontaa inaad socodsiiso .pygaaga oo aad la falgalto xulashooyinka is-dhexgalka ee barnaamijkan si aad u geliso amarrada aad ku shidato, u demiso ama uga baxdo barnaamijka kiiskan.


Noqo kuwa ugu horreeya ee faallo bixiya

Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Masuul ka ah xogta: Miguel Ángel Gatón
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.