- Nepieciešamie materiāli:
- Python instalēšana datorā:
- PySerial iegūšana Python:
- Mūsu pirmā Arduino Python programma:
- LED vadība ar Python un Arduino:
Arduino vienmēr ir bijusi spēcīga un viegli lietojama mācību / attīstības platforma, kad runa ir par atvērtā koda aparatūras attīstību. Mūsdienu mūsdienu pasaulē katra aparatūra tiek darbināta ar augsta līmeņa vispārējas nozīmes programmēšanas valodu, lai padarītu to efektīvāku un lietotājam draudzīgāku. Viena no šādām valodām ir Python. Python ir interpretēta, objektorientēta, augsta līmeņa programmēšanas valoda ar dinamisku semantiku ar augsta līmeņa iebūvētām datu struktūrām, apvienojumā ar dinamisku rakstīšanu un dinamisku saistīšanu, padara to ļoti pievilcīgu ātrai lietojumprogrammu izstrādei.
Apvienojot Arduino un Python spēku, tiks atvērtas iespējas daudzām iespējām, jo pitonam ir palielināta produktivitāte un tā spēja mijiedarboties ar citām platformām, piemēram, openCV, Matlab utt. Tātad šajā apmācībā mēs uzzināsim, kā mēs varam instalēt python savā datorā. un kā to izmantot ar Arduino, lai pārslēgtu Arduino borta LED.
Tātad, sāksim darbu….
Nepieciešamie materiāli:
- Arduino Uno (vai jebkura Arduino dēlis)
- Dators ar interneta pieslēgumu
Python instalēšana datorā:
Acīmredzot pirmais solis šajā apmācībā būtu Python instalēšana mūsu datorā. Tālāk minētās darbības ir piemērojamas tikai Windows lietotājiem, kuri izmanto 32 vai 64 bitu OS. MAC un Linux instalēšanas procedūra ir atšķirīga.
- Noklikšķiniet uz 32 bitu Python-2.7.9, un tas instalēs jūsu datorā 32 bitu Python IDLE. Nelejupielādējiet 64 bitu versiju vai atjauninātas versijas, jo tās nenodrošina atbalstu mūsu Arduino bibliotēkām. Pat ja jūsu dators darbojas ar 64 bitu versiju, varat izmantot pašu 32 bitu Python.
- Atveriet lejupielādēto exe failu un izpildiet norādījumus. Nemainiet direktoriju, kurā tiek uzstādīts pitons. Pēc noklusējuma tas būs C: \ Python27 un atstājiet to kā tādu.
- Kamēr notiek instalēšana, jūs varat saņemt brīdinājumu no sava antivīrusu (ja tāds ir), tādā gadījumā noklikšķiniet uz atļaut.
Tas ir viss !, pitons ir veiksmīgi instalēts mūsu datorā. To var pārbaudīt , Windows meklēšanas lodziņā meklējot “Python IDLE” un atverot to.
Pēc atvēršanas jums jāiegūst šāds ekrāns. Šis logs tiek saukts par Python Shell, un mēs to turpmāk dēvēsim par “ Python shell ”.
Šo ekrānu sauc par Python Shell. Šeit jūs varat tieši ievadīt kodu un iegūt izvadi tajā pašā ekrānā vai izveidot jaunu failu, ierakstīt programmu un šeit pārbaudīt programmu. Vēlāk mēs iedziļināsimies python programmas izveidē, tagad pārbaudīsim, vai python darbojas.
Lai to izdarītu, vienkārši ierakstiet “ print (1 + 1) ” un nospiediet enter. Jums vajadzētu redzēt, kā rezultāts tiek izdrukāts, kā parādīts zemāk.
PySerial iegūšana Python:
Nākamais solis ir pyserial instalēšana. PySerial ir Python API modulis, ko izmanto, lai lasītu un rakstītu sērijas datus uz Arduino vai jebkuru citu mikrokontrolleru.
Noklikšķiniet uz Pyserial Windows, lai lejupielādētu PySerial. Rezultātā lejupielāde būs exe fails, kuru var tieši instalēt. Instalēšanas laikā nemainiet nevienu iestatījumu. Atstājiet to noklusējuma direktorijā un noklusējuma iestatījumos.
Tagad pārbaudiet, vai PySerial ir pareizi instalēts. Lai to izdarītu, vēlreiz atveriet Python Shell un ierakstiet
importa sērija . Ja bibliotēka ir veiksmīgi instalēta, jums nevajadzētu saņemt kļūdu ziņojumus, kā parādīts zemāk esošajā attēlā. Ja jums rodas kādas kļūdas, ievietojiet tās komentāru sadaļā, un mēs centīsimies to novērst.
Šajā apmācībā tiek pieņemts, ka esat pazīstams ar Arduino un jums ir pieredze projektu augšupielādēšanā Arduino. Tāpēc ļaujiet mums tieši pāriet uz mūsu Python programmu. Ja esat iesācējs ar Arduino, pārbaudiet mūsu Arduino projektus un sāciet no LED mirgo ar Arduino.
Mūsu pirmā Arduino Python programma:
Kā jau minēts iepriekš, mēs kontrolēsim iebūvēto Arduino dēļa LED, izmantojot Python skriptu. Sāksim ar Arduino kodu.
Programma Arduino:
Pilnīga šīs Arduino python apmācības programma ir dota šīs lapas beigās. Lasiet tālāk, lai uzzinātu, kā tas darbojas.
Inside iestatīšanas funkcijas mēs sāktu sērijas sakarus ar 9600 datu pārraides ātrumu un paziņoju, ka mēs, izmantojot iebūvēto LED kā izejas un programmu palaišanas laikā pagrieziet to zems. Mēs arī esam nosūtījuši sveiciena ziņojumu python, izmantojot sērijas druku, kā parādīts zemāk:
void setup () {Sērijas.sākt (9600); // inicializēt sērijveida COM ar 9600 baudrate pinMode (LED_BUILTIN, OUTPUT); // izveidojiet LED tapu (13) kā izvadi digitalWrite (LED_BUILTIN, LOW); Serial.println ("Sveiki, es esmu Arduino"); }
Inside cilpas funkciju, mēs lasām neatkarīgi dati, kas nāk sērijveidā un piešķirot vērtību uz mainīgo "datiem". Tagad, pamatojoties uz šī mainīgā vērtību ("dati"), mēs pārslēdzam iebūvēto LED, kā parādīts zemāk.
void loop () {while (Serial.available ()) {data = Serial.read (); } if (dati == '1') digitalWrite (LED_BUILTIN, HIGH); else if (dati == '0') digitalWrite (LED_BUILTIN, LOW); }
Programma Python:
Pilnīga šīs apmācības pitona programma ir dota šīs lapas beigās. Lasiet tālāk, lai uzzinātu, kā rakstīt un izmantot to pašu.
- Atveriet savu Python apvalku (Python IDLE) un noklikšķiniet uz File-> New
- Tas atvērs jaunu teksta failu, kurā varēsit ierakstīt programmā.
- Pirms kaut ko rakstām, ļauj saglabāt failu ar Ctrl + S. Ierakstiet jebkuru vārdu un noklikšķiniet uz Saglabāt. Tas automātiski saglabās jūsu failu paplašinājumā “.py”.
- Tagad ierakstiet programmu vai ielīmējiet šīs lapas beigās norādīto pitona kodu. Tālāk ir sniegts skaidrojums tam pašam un beidzot palaidiet programmu.
Mūsu programmā pirmais solis būtu sērijveida un laika bibliotēkas importēšana. Seriālā bibliotēka, kā minēts iepriekš, tiks izmantota sērijveida datu lasīšanai un rakstīšanai, un laika bibliotēka tiks izmantota, lai radītu mūsu programmas aizkavēšanos. Šīs divas bibliotēkas var importēt mūsu programmā, izmantojot šādas divas rindas:
importēt sērijas #Sērijas sēriju, kas importēta sērijveida sakaru importēšanas laikam # Nepieciešams izmantot aizkaves funkcijas
Nākamais solis būtu sērijveida objekta inicializēšana, izmantojot mūsu sērijveida bibliotēku. Šajā programmā mēs esam nosaukuši savu sērijas objektu kā “ArduinoSerial” . Šajā rindā mums ir jāpiemin COM porta nosaukums, pie kura ir pievienots mūsu Arduino, un ar kādu pārraides ātrumu tas darbojas, kā parādīts zemāk.
ArduinoSerial = sērija. Serial ('com18', 9600)
Piezīme. Ir ļoti svarīgi pieminēt pareizo COM porta nosaukumu. To var atrast, izmantojot datora ierīču pārvaldnieku.
Tiklīdz sērijveida objekts ir inicializēts, mums vajadzētu turēt programmu divas sekundes, lai izveidotu sērijveida sakarus. To var izdarīt, izmantojot šādu līniju:
laiks. gulēt (2)
Tagad mēs varam lasīt vai rakstīt kaut ko no / uz mūsu Arduino padomi.
Nākamajā rindiņā tiks lasīts viss, kas nāk no Arduino, un tiks izdrukāts uz čaulas loga
drukāt ArduinoSerial.readline ()
Varat arī piešķirt vērtību mainīgajam un izmantot to aprēķiniem.
Nākamajā rindiņā parametra vērtība tiks ierakstīta Arduino Board.
ArduinoSerial.write ('1')
Šajā rindā Arduino tiks ierakstīts “1”. Izmantojot to pašu rindu, jūs varat nosūtīt visu, sākot no decimāldaļām līdz virknēm.
Tagad, atgriežoties pie mūsu programmas bezgalīgā, kamēr ciklā, mums ir šādas rindas
var = raw_input () #get ievade no lietotāja drukas "jūs ievadījāt", var # izdrukāt ievadi apstiprināšanai, ja (var == '1'): # ja vērtība ir 1 ArduinoSerial.write ('1') #send 1 drukas ("LED ieslēdzas") laiks. gulēt (1), ja (var == '0'): # ja vērtība ir 0 ArduinoSerial.write ('0') # nosūtīt 0 drukas laiku ("LED izslēgts").miegs (1)
Līnija var = raw_input iegūs jebkuru vērtību, kas ierakstīta Shell skriptā, un piešķirs šo vērtību mainīgajam var .
Vēlāk, ja vērtība ir 1, tā sērijā Arduino drukās “1” un, ja 0, sērijā Arduino drukās “0”. Kods mūsu Arduino programmā (kas tika apspriests iepriekš) mēs pārslēgsim LED, pamatojoties uz saņemto vērtību.
Kad visa programma ir pabeigta, jūsu skriptam vajadzētu izskatīties apmēram šādi
Tagad noklikšķiniet uz Izpildīt -> Palaist moduli vai nospiediet F5, tas var lūgt saglabāt programmu un pēc tam to palaist.
LED vadība ar Python un Arduino:
Šī projekta darbība ir diezgan vienkārša. Augšupielādējiet programmu savā Arduino un pārbaudiet, vai tā ir savienota ar to pašu COM portu, kas minēts python programmā. Pēc tam palaidiet programmu Python, kā minēts iepriekš.
Tas palaidīs python apvalka skriptu, kā parādīts zemāk. Kreisajā pusē esošais logs ir čaulas logs, kurā parādīta izeja, un labajā pusē esošais logs ir skripts, kas parāda programmu.
Kā redzat, Arduino programmā ievadītā virkne “Hi !, I am Arduino” tiek saņemta Python un parādīta tās čaulas logā.
Kad čaulas logā tiek prasīts ievadīt vērtības, mēs varam ievadīt vai nu 0, vai 1. Ja mēs nosūtīsim 1, Arduino dēļa gaismas diode ieslēgsies un, ja mēs sūtīsim 0, mūsu Arduino dēļa LED izslēgsies. Parādot veiksmīgu savienojumu starp mūsu Arduino programmu un Python.
Tālāk ir norādītas divas programmas, viena ir augšupielādējama un palaižama no Arduino, bet otra - no Python Shell sistēmā Windows.
Ceru, ka sapratāt projektu un varējāt to darboties. Ja nē, ievietojiet savu problēmu zemāk esošajā komentārā, un es ar prieku jums palīdzēsim. Nākamajā projektā mēs uzzināsim, ko vēl var paveikt forši ar Python un Arduino, izpētot dziļi citus python moduļus, piemēram, Vpython, gamepython utt. Līdz tam sekojiet līdzi…