- Reikalingos medžiagos:
- „Python“ diegimas kompiuteryje:
- Kaip gauti PySerial Python:
- Pirmoji „Arduino Python“ programa:
- LED valdymas naudojant „Python“ ir „Arduino“:
„Arduino “ visada buvo galinga ir lengvai naudojama mokymosi / tobulinimo platforma, kai kalbama apie atvirojo kodo aparatūros kūrimą. Šiuolaikiniame šiuolaikiniame pasaulyje kiekviena aparatinė įranga yra sukurta naudojant aukšto lygio bendrosios paskirties programavimo kalbą, kad ji taptų efektyvesnė ir patogesnė vartotojui. Viena iš tokių kalbų yra „ Python“. „Python“ yra interpretuota, į objektą orientuota, aukšto lygio programavimo kalba su dinamiška semantika ir aukšto lygio įmontuotomis duomenų struktūromis, kartu su dinamišku tipavimu ir dinamišku susiejimu daro ją labai patrauklią greitosios programos kūrimui.
Derinant Arduino ir Python galią atvers duris į daug galimybių, nes python turi padidėjusį produktyvumą su savo gebėjimo sąveikauti su kitų platformų, pavyzdžiui, OpenCV, Matlab ir kt.. Taigi šiame samouczku mes išmoksite , kaip mes galime įdiegti python mūsų kompiuteryje ir kaip jį naudoti su „Arduino“, norint perjungti „Arduino“ borto šviesos diodą.
Taigi, pradėkime….
Reikalingos medžiagos:
- „Arduino Uno“ (arba bet kurios „Arduino“ lentos)
- Kompiuteris su interneto ryšiu
„Python“ diegimas kompiuteryje:
Akivaizdu, kad pirmas šios pamokos žingsnis būtų „Python“ diegimas mūsų kompiuteryje. Žemiau paminėti veiksmai taikomi tik „Windows“ vartotojams, naudojantiems 32 arba 64 bitų OS. MAC ir Linux diegimo procedūra skiriasi.
- Spustelėkite 32 bitų „Python-2.7.9“ ir taip jūsų kompiuteryje bus įdiegtas 32 bitų „Python IDLE“. Negalite atsisiųsti 64 bitų ar atnaujintų versijų, nes jie nepalaiko mūsų „Arduino“ bibliotekų. Net jei jūsų kompiuteryje veikia 64 bitų, galite naudoti patį 32 bitų „Python“.
- Atidarykite atsisiųstą exe failą ir vykdykite instrukcijas. Nekeiskite katalogo, kuriame diegiamas pitonas. Pagal numatytuosius nustatymus tai bus C: \ Python27 ir paliks ją tokią.
- Kol diegiama, galite gauti įspėjimą iš antivirusinės programos (jei yra), tokiu atveju spustelėkite „Leisti“.
Tai viskas !, pitonas sėkmingai įdiegtas mūsų kompiuteryje. Tai galite patikrinti ieškodami „Python IDLE“ „Windows“ paieškos laukelyje ir atidarydami.
Atidarę turėtumėte gauti šį ekraną. Šis langas vadinamas „Python Shell“ ir nuo šiol jį vadinsime „ Python shell “.
Šis ekranas vadinamas „Python Shell“. Čia galite tiesiogiai koduoti ir gauti išvestį tame pačiame ekrane arba sukurti naują failą, parašyti ten programą ir patikrinti programą čia. Vėliau aptarsime python programos kūrimo detales, kol kas patikrinkime, ar python veikia.
Norėdami tai padaryti, tiesiog įveskite „ print (1 + 1) “ ir paspauskite enter. Turėtumėte pamatyti, kaip rezultatas atspausdintas, kaip parodyta žemiau.
Kaip gauti PySerial Python:
Kitas žingsnis - įdiegti „pyserial“. „PySerial“ yra „Python“ API modulis, naudojamas nuosekliems duomenims skaityti ir rašyti į „Arduino“ ar bet kurį kitą mikrovaldiklį.
Norėdami atsisiųsti „PySerial“, spustelėkite „Pyserial Windows“. Gautas atsisiuntimas bus exe failas, kurį galima tiesiogiai įdiegti. Diegdami nekeiskite jokių nuostatų. Palikite jį numatytame kataloge ir numatytuosiuose nustatymuose.
Dabar patikrinkime, ar „PySerial“ tinkamai įdiegta. Norėdami tai padaryti, dar kartą atidarykite „Python Shell“ ir įveskite
importuoti seriją . Jei biblioteka buvo sėkmingai įdiegta, neturėtumėte gauti jokių klaidų pranešimų, kaip parodyta paveikslėlyje žemiau. Jei pastebėsite kokių nors klaidų, paskelbkite jas komentarų skiltyje ir bandysime jas išspręsti.
Šioje pamokoje daroma prielaida, kad esate susipažinęs su „Arduino“ ir turite patirties įkeliant projektus į „Arduino“. Taigi pereikime tiesiai į savo „Python“ programą. Jei esate „Arduino“ pradedantysis, patikrinkite mūsų „Arduino“ projektus ir pradėkite nuo „LED Mirksėjimas su„ Arduino “.
Pirmoji „Arduino Python“ programa:
Kaip sakyta anksčiau, mes valdysime įmontuotą „Arduino“ lentos LED naudodami „Python“ scenarijų. Pradėkime nuo „Arduino“ kodo.
„Arduino“ programa:
Visa šios „ Arduino python“ mokymo programos programa pateikiama šio puslapio pabaigoje. Skaitykite toliau, kad sužinotumėte, kaip tai veikia.
Viduje sąrankos funkcijai mes inicijuoti nuosekliojo ryšio 9600 sparta ir pareiškiu, kad mes bus naudojant įmontuotą LED kaip produkcija ir pasukite jį mažos metu programos pradžios. Mes taip pat išsiuntėme sveikinimo pranešimą „python“ serijos spausdinimo būdu, kaip parodyta žemiau:
negaliojanti sąranka () {Serial.begin (9600); // inicijuoti serijinį COM esant 9600 baudų greičiui pinMode (LED_BUILTIN, OUTPUT); // padaryti LED kaištį (13) kaip išvestį digitalWrite (LED_BUILTIN, LOW); Serial.println („Labas !, Aš esu Arduino“); }
Funkcijos ciklo viduje mes skaitome bet kokius duomenis, kurie ateina nuosekliai, ir priskiriame reikšmę kintamajam „duomenys“. Dabar, remdamiesi šio kintamojo verte („duomenys“), mes perjungiame įmontuotą lemputę, kaip parodyta žemiau.
void loop () {while (Serial.available ()) {data = Serial.read (); } if (duomenys == '1') digitalWrite (LED_BUILTIN, HIGH); else if (duomenys == '0') digitalWrite (LED_BUILTIN, LOW); }
„Python“ programa:
Visa šios mokymo programos „python“ programa pateikiama šio puslapio pabaigoje. Skaitykite toliau, kad žinotumėte, kaip rašyti ir naudoti tą patį.
- Atidarykite „Python Shell“ („Python IDLE“) ir spustelėkite File-> New
- Tai atvers naują tekstinį failą, kuriame galėsite įvesti savo programą.
- Prieš įvesdami bet ką, „Ctrl + S“ leidžia išsaugoti failą. Įveskite bet kokį vardą ir spustelėkite išsaugoti. Tai automatiškai išsaugos jūsų failą „.py“ plėtinyje.
- Dabar įveskite programą arba įklijuokite šio puslapio pabaigoje pateiktą pitono kodą. To paties paaiškinimas pateiktas žemiau ir pagaliau paleiskite programą.
Mūsų programoje pirmiausia reikia importuoti nuosekliąją ir laiko biblioteką. Serijinė biblioteka, kaip minėta anksčiau, bus naudojama nuosekliems duomenims skaityti ir rašyti, o laiko biblioteka bus naudojama mūsų programai vėluoti. Šias dvi bibliotekas galima importuoti į mūsų programą naudojant šias dvi eilutes:
importuoti serijinį #Serial, importuotą nuosekliojo ryšio importavimo laikui #Reikia naudoti uždelsimo funkcijas
Kitas žingsnis būtų inicializuoti nuoseklų objektą naudojant mūsų serijinę biblioteką. Šioje programoje savo serijinį objektą pavadinome „ArduinoSerial“ . Šioje eilutėje turime paminėti COM prievado, prie kurio prijungtas mūsų „Arduino“, pavadinimą ir kokiu greičiu jis veikia, kaip parodyta žemiau.
„ArduinoSerial“ = serijos. „Serial“ („com18“, 9600)
Pastaba: Labai svarbu paminėti teisingą COM prievado pavadinimą. Tai galima rasti naudojant kompiuterio įrenginių tvarkytuvę.
Kai tik serijinis objektas bus inicijuotas, turėtume palaikyti programą dvi sekundes, kad būtų sukurtas nuoseklus ryšys. Tai galima padaryti naudojant žemiau esančią eilutę:
laikas. miegoti (2)
Dabar mes galime skaityti ar rašyti bet ką iš / į mūsų „Arduino“ lentą.
Šioje eilutėje bus skaitoma visa, kas gaunama iš „Arduino“, ir atspausdinta ant apvalkalo lango
spausdinti „ArduinoSerial.readline“ ()
Taip pat galite priskirti vertę kintamajam ir naudoti ją skaičiuojant.
Šioje eilutėje bus parašyta parametro reikšmė „Arduino Board“.
ArduinoSerial.write ('1')
Ši eilutė „Arduino“ parašys „1“. Naudodami tą pačią eilutę, galite siųsti bet ką, pradedant nuo kablelio iki eilučių.
Dabar, grįždami į savo programą „begalinis, o ciklas“, turime šias eilutes
var = raw_input () #get įvestis iš vartotojo spausdinimo „jūs įvedėte“, var # spausdinti įvestį patvirtinimui, jei (var == '1'): # jei reikšmė yra 1 ArduinoSerial.write ('1') #send 1 spausdinimo („LED įjungta“) laikas. miego laikas (1), jei (var == '0'): #jei reikšmė yra 0 ArduinoSerial.write ('0') #send 0 spausdinimo („LED išjungta“) laikas.miega (1)
Eilutė var = raw_input gaus bet kokią reikšmę, įvestą „Shell“ scenarijuje, ir priskirs šią reikšmę kintamajam var .
Vėliau, jei vertė yra 1, ji spausdins „1“ nuosekliai į „Arduino“, o jei „0“ - „0“ nuosekliai spausdins į „Arduino“. Mūsų „Arduino“ programos kodas (aptartas aukščiau) perjungsime šviesos diodą pagal gautą vertę.
Kai visa programa bus baigta, jūsų scenarijus turėtų atrodyti maždaug taip žemiau
Dabar spustelėkite Vykdyti -> Vykdyti modulį arba paspauskite F5, tai gali paprašyti išsaugoti programą ir tada ją paleisti.
LED valdymas naudojant „Python“ ir „Arduino“:
Šio projekto įgyvendinimas yra gana tiesus. Įkelkite programą į „Arduino“ ir patikrinkite, ar ji prijungta prie to paties COM prievado, kaip nurodyta „python“ programoje. Tada paleiskite „Python“ programą, kaip minėta aukščiau.
Tai paleis python apvalkalo scenarijų, kaip parodyta žemiau. Kairėje pusėje esantis langas yra apvalkalo langas, rodantis išvestį, o dešinėje - scenarijus, rodantis programą.
Kaip matote, į „Arduino“ programą įvestą eilutę „Sveiki !, Aš esu Arduino“ gauna „Python“ ir rodo jos apvalkalo lange.
Kai apvalkalo langas paprašys įvesti reikšmes, galime įvesti 0 arba 1. Jei išsiųsime 1, „Arduino“ lentos šviesos diodas įsijungs, o jei išsiųsime 0, mūsų „Arduino“ plokštės šviesos diodas išsijungs. Rodomas sėkmingas mūsų „Arduino“ programos ir „Python“ ryšys.
Yra dvi programos pateikiamas toliau, vienas turi būti įkeltas ir paleisti iš Arduino ir, antra, turi būti paleisti iš Python Shell "Windows".
Tikiuosi, kad supratote projektą ir sugebėjote jį įgyvendinti. Jei ne, paskelbkite savo problemą toliau pateiktame komentare ir mielai jums padėsiu. Mūsų kitame projekte sužinosime, ką dar galima nuveikti su „Python“ ir „Arduino“, gilinantis į kitus „python“ modulius, tokius kaip „Vpython“, „gamepython“ ir kt. Iki tol sekite naujienas….