- Išankstinės sąlygos:
- „VPython“ diegimas kompiuteryje:
- „VPython“ programavimas:
- Pasiruošimas „Arduino“:
- Darbas:
Ankstesnėje mūsų pamokoje mes sužinojome, kaip įdiegti „python“ į „Windows“ mašiną ir kaip susieti „Arduino“ su „python“ naudojant paprastą LED valdymo projektą. Jei esate naujas, primygtinai rekomenduočiau grįžti prie ankstesnės mokymo programos, nes ši pamoka yra tos pačios tęsinys.
Galbūt jau pradėjote susimąstyti, kodėl mums reikia „Python“ su „Arduino“, jei viskas, ką ji galėtų padaryti, yra tiesiog bendrauti per nuoseklųjį prievadą. Tačiau „Python“ yra labai stipri kūrimo platforma, kurioje galima integruoti daug šaunių programų, kuriose galima integruoti mašininį mokymąsi, kompiuterio matymą ir daug daugiau. Šioje pamokoje sužinosime, kaip mes galime sukurti mažą grafinę sąsają naudodami „Python“. Norėdami tai padaryti, mums reikės modulio, vadinamo Vpython. Ši pamoka taikoma tik „Windows“ vartotojams, nes „Mac“ ar „Linux“ vartotojams procedūra yra kitokia.
Šios pamokos pabaigoje mes sužinosime, kaip mes galime sukurti paprastą GUI naudodami „Python“. Sukursime nedidelę animaciją, kuri atlieps ultragarso jutiklio, pritvirtinto prie „Arduino“, vertę. Ši programa stebi objektą naudodama ultragarso jutiklį ir rodo jį grafine forma kompiuteryje naudodama „VPython“. Kai mes judame objektą, ultragarso jutiklis nustato atstumą ir siunčia šią informaciją „Python“ programai naudodamas „Arduino“ ir jis taip pat perkels objektą kompiuteryje. Skamba įdomiai teisingai! Taigi leiskite pradėti…
Išankstinės sąlygos:
- „Arduino“ (bet kokia versija)
- Ultragarsinis jutiklis HC-SR04
- Laidų sujungimas
- Kompiuteris su „Python“
- Žinios apie ankstesnę pamoką
„VPython“ diegimas kompiuteryje:
Ankstesnėje mūsų pamokoje mes jau sužinojome, kaip įdiegti „python“ į savo kompiuterį ir kaip judėti aplink jį bei sukurti paprastą programą naudojant „Arduino“. Dabar mes turime įdiegti „Visual Python“ („VPython“), kad galėtume sukurti puikią grafiką naudodami „Python for Arduino“. Norėdami pradėti toliau pateiktus paprastus veiksmus, pradėkite naudoti „VPython“
1 žingsnis. Įsitikinkite, kad „Python“ jau įdiegtas, kaip nurodyta ankstesnėse mokymo instrukcijose.
2 žingsnis. Spustelėkite „VPython“, kad atsisiųstumėte „Visual Python“ exe failą. Nepasirinkite įdiegti 64 bitų versijos, net jei jūsų įrenginys veikia su 64 bitų versija. Tiesiog sekite pateiktą nuorodą.
3 žingsnis. Paleiskite exe failą ir vykdykite sąranką. Nekeiskite numatytojo katalogo kelio ir įsitikinkite, kad pasirinkote „visas diegimas“.
4 žingsnis. Įdiegę turėtumėte rasti naują programą pavadinimu „VIDLE (VPython)“ darbalaukyje arba programų skydelyje, kaip parodyta žemiau.
5 žingsnis. Paleiskite programą ir turėtumėte gauti langą, kaip parodyta žemiau.
6 žingsnis. Tai yra langas, kuriame mes įvesime programą „VPython“. Bet dabar patikrinkime, ar „Vpython“ veikia, atidarydami programos pavyzdį. Norėdami tai padaryti, pasirinkite Failas-> Atidaryti-> Atšokti
7 žingsnis. Turėtumėte atidaryti pavyzdinę programą. Pabandykite paleisti programą naudodami Vykdyti -> Vykdyti modulį . Jei viskas veikia taip, kaip tikėtasi, turėtumėte gauti šį ekraną.
Turėtumėte pamatyti „Shell“ langą (kairėje) su dviem >>>, rodančiais sėkmingą kompiliavimą, ir faktinį langą (priekyje), kuriame rodomas kamuolio atšokimas.
8 žingsnis. Taip pat galite išbandyti kitas programų pavyzdžius, kad sužinotumėte „VPython“ galią, pvz., Programa, vadinama „elektros varikliu“ , jus nustebins tokiu ekranu.
9 žingsnis. Tai reiškia, kad jūsų „VPython“ yra paruoštas naudoti ir galite pereiti prie temos „ Vpython programavimas “.
10 žingsnis. Kitu atveju, jei esate kaip vienas iš daugelio, kurie gauna „numpy klaidą“ , nepraraskite vilties, nes mes išspręsime šią problemą atlikdami tolesnius veiksmus
11 žingsnis. Atidarykite Mano kompiuteris -> C diskas -> Python 27 -> Scenarijai -> local.bat . Tai paleis komandų eilutę, kaip parodyta žemiau
12 žingsnis. Dabar įveskite „pip install --upgrade numpy“ ir paspauskite „Enter“. Naujoji „Numpy“ versija turėtų būti įdiegta jūsų kompiuteryje. Gali tekti šiek tiek palaukti, jei jūsų interneto ryšys yra lėtas.
13 žingsnis. Baigę galite grįžti prie 4 žingsnio ir išbandyti programos pavyzdį, ir jūs turėtumėte sugebėti ją veikti.
„VPython“ programavimas:
Tada mes pradedame programuoti į mūsų „VPython“ langą. Šioje programoje sukursime du 3D stačiakampius objektus, vienas bus dedamas ekrano centre į stacionarų ultragarsinį jutiklį, o kitas bus dinaminėje vietoje, atsižvelgiant į atstumą tarp JAV jutiklio ir objekto (popieriaus).
Visiškai Python kodas galima rasti šio puslapio pabaigoje. Toliau aš paaiškinau šį pitono kodą, padalindamas juos į mažus prasmingus jauniklius.
Pirmoji eilutė būtų vaizdinės bibliotekos importavimas, kad galėtume sukurti 3D objektus. Žemiau esanti eilutė daro tą patį.
iš vizualinio importavimo *
Turėtumėte būti susipažinę su kitomis keturiomis eilutėmis, nes jas naudojome jau ankstesnėje pamokoje. Jie naudojami importuoti nuosekliąją ir laiko biblioteką, taip pat užmegzti nuoseklų ryšį su „Arduino“ COM18 su 9600 kaip perdavimo sparta
importuoti nuoseklųjį # seriją, importuotą nuosekliojo ryšio importavimo laikui # Reikalauti naudoti uždelsimo funkcijas ArduinoSerial = nuoseklioji. Serija ('com18', 9600) # Sukurti nuoseklaus prievado objektą, vadinamą arduinoSerialData time.sleep (2) # laukite 2 sek. įsitvirtinti
Dabar atėjo laikas kurti objektus. Aš sukūrė du 3d stačiakampių taip pavadintas OBJ ir sienos. „ WallL“ yra nejudanti žydros spalvos siena, padėta ekrano centre, o objektas yra kilnojamas baltos spalvos daiktas. Taip pat šalia sienos objekto įdėjau tekstą „JAV jutiklis“.
obj = langelis (pos = (- 5,0,0), dydis = (0,1,4,4), spalva = spalva. balta) siena L = langelis (pos = (- 1,0,0), dydis = (0,2), 12,12), spalva = spalva. Žalsvai mėlyna) tekstas (tekstas = „JAV jutiklis“, ašis = (0,1,0), pos = (- 2, -6,0), gylis = -0,3, spalva = spalva. žalsvai mėlyna)
Esu įsitikinęs, kad pirmiau minėtos trys eilutės daugumai pirmą kartą skaitytojų būtų pasirodžiusios graikų ir lotynų kalbomis, tačiau su laiku galėtumėte tai suprasti. Viskas, kas minima skliausteliuose, yra (x, y, z) koordinatės. Šios koordinatės yra labai panašios į tas, kurias randame vidurinės mokyklos geometrijos klasėje, kaip parodyta žemiau.
Dabar grafikos ir nuoseklusis prievadas yra paruoštas, ką turime padaryti, tai tik perskaityti duomenis ir įdėti „obj“ (baltą stačiakampį) į vietą pagal „Arduino“ gaunamus duomenis. Tai galima padaryti šiomis eilutėmis, kur obj.pos.x valdo objekto X koordinatės padėtį (baltas stačiakampis).
t = int (ArduinoSerial.readline ()) #skaityti serijos duomenis ir atspausdinti juos kaip eilutę t = t * 0,05 obj.pos.x = t
Pasiruošimas „Arduino“:
„Python“ scenarijus yra pasirengęs klausytis reikšmių iš COM prievado ir atitinkamai animuoti grafiką, tačiau mūsų „Arduino“ dar nėra pasirengęs. Pirmiausia turime prijungti ultragarso jutiklį prie „Arduino“ pagal šią grandinės schemą. Jei esate visiškai naujas JAV jutiklis ir „Arduino“, turite grįžti prie „Arduino“ ir „Ultragarsinis jutiklis“ atstumo matavimo pamokų.
Tada įkelkite „ Arduino“ programą, pateiktą šio puslapio pabaigoje. Programa yra savarankiškai paaiškinta naudojant komentarų eilutes. Mes žinome, kad ultragarso jutiklis veikia apskaičiuodamas laiką, per kurį impulsas pataikė į daiktą ir grįžo atgal. Ši vertė apskaičiuojama naudojant „ PulseIn“ funkciją „Arduino“. Vėliau užimtas laikas konvertuojamas į atstumą naudojant žemiau esančią liniją.
dist = (laikas / 2) / 2,91;
Čia atstumas apskaičiuojamas milimetrais (mm).
Darbas:
Projekto darbas paprastas. Paleiskite „Python“ programą ir įdėkite objektą prieš JAV jutiklį, kaip parodyta žemiau:
Dabar paleiskite „python“ programą ir turėtumėte pastebėti, kad baltas stačiakampis juda kartu su popieriumi, atstumas tarp popieriaus ir jutiklio taip pat bus rodomas apvalkalo lange, kaip parodyta žemiau esančiame paveikslėlyje.
Taip galime stebėti objekto judėjimą naudodami ultragarso jutiklį ir „Python“ su „Arduino“.
Tikiuosi, kad supratote projektą ir patiko jį kurti. Tai tik vienas subtilus žingsnis link pitono, tačiau naudodami tai galite sukurti daug daugiau kūrybinių dalykų. Jei turite idėjų, ką sukurti naudodami šį įrašą, įdėkite juos į komentarų skyrių ir naudokitės forumais techninei pagalbai. Iki pasimatymo su kitu įdomiu pitono projektu.