Kā programmēt un kontrolēt Arduino, izmantojot Python

Kā programmēt un kontrolēt Arduino, izmantojot Python

Python ir pārņēmis kodēšanas pasauli vētrā. Līdz ar šīs jaunās valodas pieaugumu ir uzplaukusi arī DIY elektronikas aina. Attīstības dēļi un vienas plates datori no tādiem uzņēmumiem kā Arduino un Raspberry Pi ir mainījuši veidu, kā cilvēki rada mājās gatavotu elektroniku. Vai nebūtu lieliski, ja jūs varētu programmēt Arduino ar Python?





Windows 10 system_service_exception

Nav labāka sajūta kā apvienot divas foršas lietas. Diemžēl nav iespējams tieši programmēt Arduino ar Python, jo dēļiem nav iespējas valodas interpretācijai. Tomēr ir iespējams tieši kontrolēt USB, izmantojot Python programmu.





Šis raksts parādīs, kā iestatīt Arduino UNO (lai gan šeit var darboties jebkura ar Arduino saderīga tāfele), lai to ieprogrammētu un kontrolētu no komandrindas, izmantojot Python programmas. Šī apmācība ir rakstīta operētājsistēmai Windows 10, bet darbojas arī operētājsistēmās Mac un Linux. Jūs pat varētu izmantot šo darbplūsmu, lai kontrolētu Arduino tieši no Raspberry Pi, lai iegūtu dubultu DIY pieredzi.





Arduino iestatīšana Python

Šodienas projektam mēs izmantosim Arduino Uno kopā ar pyFirmata saskarni Python. Šim nolūkam varat izmantot gandrīz jebkuru ar Arduino saderīgu tāfelīti, lai gan rakstīšanas laikā pyFfirmata interfeiss atbalsta tikai Arduino Uno, Mega, Due un Nano. Ja jūs jau esat Python guru, pyFirmata varat pievienot savu tāfeles atbalstu - noteikti atjauniniet viņu GitHub!

Ja vēl neesat to izdarījis, instalējiet Arduino IDE. Ja esat pilnīgi jauns mikrokontrolleru pasaulē, mūsu iesācēju ceļvedis Arduino palīdzēs jums visu sakārtot savās vietās.



Pievienojiet savu Arduino dēli un atveriet IDE. Pārliecinieties, vai sadaļā ir atlasīta pareiza tāfele un ports Rīki izvēlne. Ielādējiet StandartaFirmata parauga skice un augšupielādējiet to uz tāfeles. Tas ļaus jums kontrolēt Arduino tieši, kamēr tas ir savienots ar datoru, izmantojot USB. Ja skice tiek augšupielādēta jūsu panelī bez kļūdām, jūs esat gatavs turpināt.

Python un komandrindas vadība

Mēs izmantosim Python 3.4, lai kontrolētu mūsu Arduino, jo instalējamais modulis norāda to kā jaunāko saderīgo versiju. Jebkurai versijai pirms tam vajadzētu darboties labi, un ir ziņots, ka jaunākās versijas darbojas. Jūs varat lejupielādēt Python 3.4 operētājsistēmai Windows 10 no Python programmatūras fonds vietne. Ja vēlaties palaist vairākas Python versijas, mūsu ceļvedis par Python virtuālo vidi varēs jums palīdzēt.





Kad esat instalējis Python, mēs vēlamies to pievienot jūsu sistēmas PATH mainīgajam. Tas ļaus mums palaist Python kodu tieši no komandrindas, neatrodoties tajā direktorijā, kurā tas tika instalēts. To var izdarīt, atverot Vadības panelis , meklē Vide un noklikšķiniet uz Rediģējiet sistēmas vides mainīgos . Loga apakšdaļā atlasiet Vides mainīgie . Tas parādīs šo logu:

Ja jau redzat PATH sarakstā noklikšķiniet uz rediģēt un pievienojiet savu Python un Python/Skripti direktoriju. Ja jums nav mainīgā PATH, noklikšķiniet uz jauna un pievienojiet to. Ņemiet vērā, ka Python tika instalēts tieši C: šeit. Ja esat to instalējis citur, jums tas būs jāpārveido, lai to atspoguļotu. Noklikšķiniet uz Labi, atkāpjoties logu ķēdē, un esat gandrīz gatavs kontrolēt savu Arduino ar Python!





Burvju tauki

Jums būs nepieciešams pēdējais puzles gabals, lai Python labi sarunātos ar mūsu Arduino. Tas izpaužas kā Python saskarne ar nosaukumu pyFirmata . Šī saskarne, ko izveidojis Tino de Bruijn, ir pieejams lejupielādei no github, lai gan jūs varat to instalēt tieši no komandrindas, ierakstot:

pip install pyfirmata

Ja viss ir kārtībā, tam vajadzētu instalēt un izskatīties šādi:

Ja tas neizdodas, pārejiet pie Python pievienošanas Vides mainīgais sadaļā un pārliecinieties, vai esat norādījis pareizo ceļu uz savu Python direktoriju.

Lai tas notiktu

Tagad viss ir iestatīts, un jūs varat izveidot Python programmu, lai jūsu Arduino to pārbaudītu. Atveriet IDE pēc savas izvēles. Mēs izmantosim Aptumsums šodien, bet jūs tikpat viegli varētu izmantot jebkuru teksta redaktoru vai pat IDE mākonī.

Izveidojiet jaunu skriptu un saglabājiet to kā mirkšķināt.py . Pārkāpjot tradīcijas ar standarta mirgojošo LED programmu, jūs izveidosit programmu, kas pirms lietotāja norādīs, cik reizes viņi vēlas, lai gaismas diode mirgo. Tā ir īsa programma, kuru varat lejupielādēt šeit ja vēlaties tieši nokļūt, bet sadalīsim.

Pirmkārt, jūs vēlaties importēt to, kas jums nepieciešams no pyFirmata modulis kopā ar standarta Python Laiks modulis.

kā novērst mac aizmigšanu
from pyfirmata import Arduino, util
import time

Tagad jūs vēlaties iestatīt Arduino dēli. Šajā rakstā tiek pieņemts, ka izmantojat Arduino uno dēlis, lai gan tiek atbalstīti vairāki citi Arduino dēļi. Plašāku informāciju par atbalstu uz kuģa skatiet pyFirmata github.

Pārbaudiet, kuru COM portu izmantojat Arduino IDE, un ievadiet to savā kodā kā mainīgo dēlis .

board = Arduino('COM3')

Tagad jūs iestatīsit lietotāja uzvedni. Tie, kas pazīst Python, šeit visu atpazīs. Jūs drukājat jautājumu uz ekrāna, izmantojot ievadi funkciju un saglabājiet atbildi kā mainīgo. Kad lietotājs ir norādījis numuru, programma ziņo, cik reizes gaismas diode mirgos.

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

Lai gaismas diode mirgo atbilstošo reižu skaitu, izmantojiet a cilpai . Ja Jums ir jauns Python , uzmanieties ar atkāpi, jo atšķirībā no citām valodām atstarpes ir sintakses daļa. Ņemiet vērā, ka 13. tapa ir Arduino Uno iebūvētais gaismas diode, jums tas būs jāmaina, ja tāfele ir atšķirīga.

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 apraidīsit loopTimes mainīgais līdz veselam skaitlim, jo ​​lietotāja ievade tiks automātiski saglabāta kā virkne. Šajā vienkāršajā demonstrācijā mēs pieņemam, ka lietotājs ievadīs skaitlisku vērtību. Jebkurš cits ieraksts, piemēram, “astoņi”, radīs kļūdu.

Saglabājiet savu skriptu un atveriet Komandu uzvedne .

Mirgojošas gaismas un citas atklāsmes

Viss ir gatavs darbam, viss, kas jums jādara, ir doties uz skripta vietu un to palaist. Dariet to, ierakstot cd [ceļš uz skripta direktoriju] un pēc tam rakstīt pitons mirkšķina.py .

Kad viss ir kārtībā, jūsu programma sāksies ar nelielu kavēšanos, jo Arduino tiek inicializēts, prasīs ievadīt numuru un pēc tam vairākas reizes mirgos, izmantojot iebūvēto LED.

Programmas iznākumam vajadzētu izskatīties šādi:

Tiklīdz pēc izvēlētā mirkšķinājumu skaita nospiežat ievadīšanas taustiņu, Arduino ir jāizpilda jūsu pasūtījumi.

Mazie sākumi

Šis projekts ir bijis kails, kas sāk sazināties starp Python un Arduino dēli. Šī pieeja ļoti atšķiras no parastās skriptu augšupielādes darbplūsmas pašā Arduino, taču tā paver pilnīgi jaunu veidu, kā strādāt ar platformu, it īpaši, ja jums patīk programmēšanas valoda Python.

Ja izmantojat a Linux serveris mājās šī saziņas metode ar Arduino dēļiem varētu paplašināt šo serveri līdz pilnvērtīgai DIY mājas automatizācijas sistēmai. Apvienojot Python skriptus, kas kontrolē mikrokontrolleru, ar DIY automatizācijas shēmu, jūsu NAS atmiņas kaste varētu uzņemties pilnīgi jaunu noderīgu funkciju kopumu.

kā lejupielādēt instagram fotoattēlus

Lai padarītu to par galīgo DIY pieredzi, kāpēc ne izveidojiet savu NAS kastīti un to izmantot, lai kontrolētu arī savas ierīces? Iedomājieties, cik forši būtu nospiest atskaņošanu savā Plex serverī un automātiski izslēgt gaismas!

Vai jūs jau kontrolējat Arduino, izmantojot Python? Vai ir pārsteidzoši risinājumi, par kuriem mēs vēl nezinām? Informējiet mūs komentāru sadaļā zemāk!

Kopīgot Kopīgot Čivināt E -pasts 5 padomi, kā uzlādēt VirtualBox Linux iekārtas

Vai esat noguris no virtuālo mašīnu piedāvātās sliktās veiktspējas? Lūk, kas jums jādara, lai uzlabotu VirtualBox veiktspēju.

Lasīt Tālāk
Saistītās tēmas
  • DIY
  • Programmēšana
  • Arduino
  • Mājas automatizācija
  • Python
Par autoru Īans Baklijs(Publicēti 216 raksti)

Īans Baklijs ir ārštata žurnālists, mūziķis, izpildītājs un video producents, kas dzīvo Berlīnē, Vācijā. Kad viņš neraksta vai nav uz skatuves, viņš ķeras pie DIY elektronikas vai koda, cerot kļūt par traku zinātnieku.

Vairāk no Īana Baklija

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu