Kaip užprogramuoti ir valdyti „Arduino“ naudojant „Python“

Kaip užprogramuoti ir valdyti „Arduino“ naudojant „Python“

„Python“ užvaldė kodavimo pasaulį. Kartu su šios naujos kalbos atsiradimu suklestėjo ir „pasidaryk pats“ elektronikos scena. Plėtros plokštės ir vienos plokštės kompiuteriai iš tokių įmonių kaip Arduino ir „Raspberry Pi“ pakeitė būdą, kaip žmonės kuria namuose gaminamą elektroniką. Ar nebūtų nuostabu, jei galėtumėte programuoti „Arduino“ su „Python“?





nėra interneto apsaugotas pataisymas windows 10

Nėra geresnio jausmo, kaip derinti du šaunius dalykus. Deja, neįmanoma tiesiogiai užprogramuoti „Arduino“ naudojant „Python“, nes plokštės neturi galimybės interpretuoti kalbos. Tačiau tai įmanoma tiesiogiai valdyti USB naudojant „Python“ programą.





Šiame straipsnyje bus parodyta, kaip nustatyti „Arduino UNO“ (nors čia gali veikti bet kuri su „Arduino“ suderinama plokštė), kad jis būtų užprogramuotas ir valdomas iš komandinės eilutės naudojant „Python“ programas. Ši pamoka parašyta „Windows 10“, bet taip pat veikia „Mac“ ir „Linux“. Jūs netgi galėtumėte naudoti šią darbo eigą, norėdami valdyti „Arduino“ tiesiai iš „Raspberry Pi“, kad gautumėte geriausią „pasidaryk pats“ patirtį.





„Arduino“ nustatymas „Python“

Šiandienos projektui naudosime „Arduino Uno“ kartu su „Python“ „pyFirmata“ sąsaja. Tam galite naudoti beveik bet kurią su „Arduino“ suderinamą plokštę, nors rašymo metu „pyFfirmata“ sąsaja palaiko tik „Arduino Uno“, „Mega“, „Due“ ir „Nano“. Jei jau esate „Python“ guru, prie „pyFirmata“ galite pridėti savo lentos palaikymą - būtinai atnaujinkite jų „GitHub“!

Jei to dar nepadarėte, įdiekite „Arduino IDE“. Jei esate visiškai naujas mikrovaldiklių pasaulyje, mūsų pradedančiųjų „Arduino“ vadovas padės viską sutvarkyti į vietas.



Prijunkite „Arduino“ plokštę ir atidarykite IDE. Įsitikinkite, kad skiltyje pasirinkta tinkama plokštė ir prievadas Įrankiai Meniu. Įkraukite „StandardFirmata“ pavyzdinį eskizą ir įkelkite jį į lentą. Tai leis jums tiesiogiai valdyti „Arduino“, kol jis prijungtas prie kompiuterio per USB. Jei eskizas įkeliamas į jūsų lentą be klaidų, esate pasirengęs tęsti.

„Python“ ir komandų eilutės valdymas

„Arduino“ valdymui naudosime „Python 3.4“, nes jūsų įdiegtas modulis nurodo tai kaip naujausią suderinamą versiją. Bet kuri versija prieš tai turėtų veikti gerai, o vėlesnės versijos pranešė, kad veikia. „Python 3.4“, skirtą „Windows 10“, galite atsisiųsti iš „Python“ programinės įrangos fondas svetainėje. Jei norite paleisti kelias „Python“ versijas, jums padės mūsų „Python“ virtualios aplinkos vadovas.





Įdiegę „Python“, norime jį įtraukti į jūsų sistemos kintamąjį PATH. Tai leis mums paleisti „Python“ kodą tiesiai iš komandinės eilutės, nebūnant kataloge, kuriame jis buvo įdiegtas. Tai galite padaryti atidarę Kontrolės skydelis , Ieškoti Aplinka ir spustelėkite Redaguokite sistemos aplinkos kintamuosius . Lango apačioje pasirinkite aplinkos įvairovė . Tai atvers šį langą:

Jei jau matai PATH sąraše spustelėkite Redaguoti ir pridėkite savo Python ir „Python“/„Scripts“ katalogą. Jei neturite PATH kintamojo, spustelėkite naują ir pridėkite jį. Atminkite, kad „Python“ buvo įdiegtas tiesiai į C: čia. Jei įdiegėte jį kitur, turėsite jį pakeisti, kad tai atspindėtų. Langų grandinėje spustelėkite Gerai ir esate beveik pasiruošę valdyti „Arduino“ naudodami „Python“!





Magiškas tepalas

Jums reikės paskutinės dėlionės dalies, kad Python galėtų gražiai kalbėti su mūsų „Arduino“. Tai pateikiama kaip „Python“ sąsaja, vadinama pyFirmata . Ši sąsaja, sukurta Tino de Bruijn, yra galima atsisiųsti iš „github“, nors galite ją įdiegti tiesiai iš komandinės eilutės įvesdami:

pip install pyfirmata

Viskas gerai, jis turėtų būti įdiegtas ir atrodyti taip:

Jei nepavyksta, pridėkite „Python“ prie Aplinka kintama ir įsitikinkite, kad nurodėte teisingą kelią į savo „Python“ katalogą.

Kad tai įvyktų

Dabar viskas nustatyta ir galite sukurti „Python“ programą, kad „Arduino“ ją išbandytų. Atidarykite pasirinktą IDE. Mes naudosime Užtemimas šiandien, bet jūs taip pat lengvai galėtumėte naudoti bet kurį teksto rengyklę ar net IDE debesyje.

Sukurkite naują scenarijų ir išsaugokite jį kaip mirksėti.py . Laužydami tradicines mirksinčių šviesos diodų programų tradicijas, ketinate sukurti programą, kuri paragins vartotoją, kiek kartų jis nori, kad LED mirksėtų prieš jį įgyvendindamas. Tai trumpa programa, kurią galite atsisiųsti čia jei norite prieiti tiesiai, bet suskaidykime.

Pirma, norėsite importuoti tai, ko jums reikia iš pyFirmata modulį kartu su standartiniu „Python“ Laikas modulis.

kaip pasakyti, ar esu 32 ar 64 bitų
from pyfirmata import Arduino, util
import time

Dabar norėsite nustatyti „Arduino“ lentą. Šiame straipsnyje daroma prielaida, kad naudojate Arduino uno lenta, nors palaikomos kelios kitos „Arduino“ plokštės. Išsamesnės informacijos apie lentos palaikymą ieškokite „pyFirmata github“.

Patikrinkite, kurį COM prievadą naudojate „Arduino IDE“, ir įveskite jį į savo kodą kaip kintamąjį lenta .

board = Arduino('COM3')

Dabar nustatysite vartotojo eilutę. Tie, kurie yra susipažinę su „Python“, čia viską atpažins. Jūs spausdinate klausimą į ekraną naudodami įvesties funkciją ir išsaugokite atsakymą kaip kintamąjį. Vartotojui pateikus numerį, programa praneša, kiek kartų mirksi šviesos diodas.

loopTimes = input('How many times would you like the LED to blink: ')
print('Blinking ' + loopTimes + ' times.')

Norėdami, kad šviesos diodas mirksėtų reikiamą skaičių kartų, naudokite a už kilpą . Jei esate naujiena „Python“ , saugokitės įtraukos, nes skirtingai nuo kitų kalbų, tarpai yra sintaksės dalis. Atminkite, kad 13 kaištis yra „Arduino Uno“ įmontuotas šviesos diodas, turėsite tai pakeisti, jei jūsų plokštė yra kitokia.

for x in range(int(loopTimes)):
board.digital[13].write(1)
time.sleep(0.2)
board.digital[13].write(0)
time.sleep(0.2)

Jūs išmesite loopTimes kintamasis į sveiką skaičių, nes vartotojo įvestis bus automatiškai saugoma kaip eilutė. Šioje paprastoje demonstracijoje darome prielaidą, kad vartotojas įves skaitmeninę vertę. Bet koks kitas įrašas, pvz., „Aštuoni“, sukels klaidą.

Išsaugokite scenarijų ir atidarykite Komandinė eilutė .

Mirksinčios šviesos ir kiti apreiškimai

Viskas paruošta, tereikia pereiti prie scenarijaus ir jį paleisti. Padarykite tai įvesdami cd [kelias į scenarijaus katalogą] ir tada rašyti python mirksi.py .

Viskas gerai, jūsų programa prasidės šiek tiek vėluojant, kai „Arduino“ inicijuos, paragins įvesti numerį, o po to daug kartų mirksės naudojant įmontuotą šviesos diodą.

Programos išvestis turėtų atrodyti taip:

Kai tik paspausite „Enter“ po pasirinkto mirksėjimų skaičiaus, „Arduino“ turėtų įvykdyti jūsų užsakymus.

Mažos pradžios

Šis projektas buvo „barebones“ pradžia bendrauti tarp „Python“ ir „Arduino“ plokštės. Šis požiūris labai skiriasi nuo įprastos scenarijų įkėlimo į pačią „Arduino“ darbo eigos, tačiau jis atveria visiškai naują darbo su platforma būdą, ypač jei jums patinka „Python“ programavimo kalba.

Jei naudojate a Linux serveris namuose šis bendravimo su „Arduino“ plokštėmis būdas galėtų išplėsti tą serverį į visavertę „pasidaryk pats“ namų automatikos sistemą. Sujungus „Python“ scenarijus, valdančius mikrovaldiklį, su „pasidaryk pats“ automatikos grandine, jūsų NAS atminties dėžutė galėtų įgyti visiškai naują naudingų funkcijų rinkinį.

kaip atsijungti nuo „Facebook“ „Instagram“

Kad tai būtų didžiausia „pasidaryk pats“ patirtis, kodėl gi ne sukurkite savo NAS dėžutę ir naudoti jį taip pat savo prietaisams valdyti? Įsivaizduokite, kaip šaunu būtų paspausti „Play“ savo „Plex“ serveryje ir automatiškai užgesinti lemputes!

Ar jau valdote „Arduino“ naudodami „Python“? Ar yra nuostabių problemų, apie kurias mes dar nežinome? Praneškite mums žemiau esančiame komentarų skyriuje!

Dalintis Dalintis „Tweet“ Paštu 5 patarimai, kaip perkrauti „VirtualBox Linux“ mašinas

Pavargote nuo prastų virtualių mašinų našumo? Štai ką turėtumėte padaryti, kad padidintumėte „VirtualBox“ našumą.

Skaityti toliau
Susijusios temos
  • Pasidaryk pats
  • Programavimas
  • Arduino
  • Namų automatika
  • Python
Apie autorių Ianas Buckley(Paskelbti 216 straipsniai)

Ianas Buckley yra laisvai samdomas žurnalistas, muzikantas, atlikėjas ir vaizdo įrašų prodiuseris, gyvenantis Berlyne, Vokietijoje. Kai jis nerašo ar scenoje, jis tikisi pasidaryk pats elektronika ar kodu, tikėdamasis tapti pamišusiu mokslininku.

Daugiau iš Ian Buckley

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia