- Preduvjeti:
- Instaliranje VPythona na računalo:
- Programiranje VPythona:
- Priprema vašeg Arduina:
- Radno:
U našem prethodnom vodiču naučili smo kako instalirati python na naš Windows stroj i kako povezati Arduino s pythonom pomoću jednostavnog LED projekta upravljanja. Ako ste novi, toplo bih vam preporučio da se vratite na prethodni vodič, jer je ovaj nastavak istog.
Možda ste se već počeli pitati zašto bi nam trebao python s Arduinom ako sve što on može jest samo komuniciranje preko serijskog porta. Ali, Python je vrlo jaka razvojna platforma u koju se može integrirati puno sjajnih aplikacija u koje se može integrirati strojno učenje, računalni vid i još mnogo toga. U ovom uputstvu naučit ćemo kako možemo stvoriti malo grafičko sučelje pomoću Pythona. Da bismo to učinili trebat će nam modul nazvan Vpython. Sljedeći vodič je primjenjiv samo za korisnike sustava Windows, jer je za korisnike Mac ili Linux postupak drugačiji.
Na kraju ovog tutorijala naučit ćemo kako možemo stvoriti jednostavan GUI koristeći Python. Napravit ćemo malu animaciju koja odgovara vrijednosti ultrazvučnog senzora koji je pričvršćen na Arduino. Ova aplikacija prati objekt pomoću ultrazvučnog senzora i prikazuje ga u grafičkom obliku na računalu pomoću VPythona. Dok premještamo objekt, ultrazvučni senzor prepoznaje udaljenost i šalje te podatke programu Python pomoću Arduina, a premjestit će i objekt u računalu. Zvuči zanimljivo, zar ne! Pa krenimo…
Preduvjeti:
- Arduino (bilo koja verzija)
- Ultrazvučni senzor HC-SR04
- Spajanje žica
- Računalo s Pythonom
- Znanje o prethodnom udžbeniku

Instaliranje VPythona na računalo:
U našem prethodnom vodiču već smo naučili kako instalirati python na vaš stroj i kako se kretati po njemu i stvoriti jednostavan program s Arduinom. Sad smo povrh toga instalirali Visual Python (VPython) kako bismo mogli stvoriti sjajnu grafiku koristeći Python za Arduino. Za jednostavne korake u nastavku za početak rada s VPythonom
Korak 1. Provjerite je li Python već instaliran prema prethodnim smjernicama.
Korak 2. Kliknite VPython da biste preuzeli exe datoteku za Visual Python. Ne odlučite se za instalaciju 64-bitne verzije čak i ako vaš stroj radi na 64-bitnoj. Samo slijedite navedeni link.
3. korak. Pokrenite exe datoteku i slijedite postavke. Nemojte mijenjati zadani put direktorija i provjerite jeste li odabrali "punu instalaciju".
4. korak. Jednom instalirani, trebali biste pronaći novu aplikaciju pod nazivom „VIDLE (VPython)“ na radnoj površini ili ploči aplikacija, kao što je prikazano dolje.

Korak 5. Pokrenite aplikaciju i trebali biste dobiti prozor kao što je prikazano u nastavku.

Korak 6. Ovo je prozor u koji ćemo tipkati program za VPython. Ali, zasad provjerimo radi li Vpython otvaranjem primjera programa. Da biste to učinili, odaberite File-> Open-> Bounce
Korak 7. Trebali biste otvoriti primjer programa. Pokušajte pokrenuti program koristeći Run -> Run Module . Ako sve funkcionira prema očekivanjima, trebali biste dobiti sljedeći zaslon.

Trebali biste vidjeti prozor Shell (lijevo) s dva >>> koja označavaju uspješnu kompilaciju i stvarni prozor (prednji) koji prikazuje odskakanje lopte.
Korak 8. Također možete isprobati druge primjere programa kako biste otkrili snagu VPythona, na primjer primjer programa nazvanog "elektromotor" zadivit će vas sljedećim zaslonom.

Korak 9. To znači da je vaš VPython spreman za upotrebu i možete se spustiti na temu " Programiranje vašeg Vpythona ".
Korak 10. Inače, ako ste poput jednog od mnogih koji dobiju "numpy pogrešku", nemojte gubiti nadu jer ćemo riješiti taj problem u daljnjim koracima
Korak 11. Otvorite Moje računalo -> C pogon -> Python 27 -> Skripte -> local.bat . Ovo će pokrenuti naredbeni redak kao što je prikazano u nastavku

Korak 12. Sada upišite "pip install --upgrade numpy" i pritisnite enter. Nova verzija Numpyja trebala bi se instalirati na vaš stroj. Možda ćete morati pričekati neko vrijeme ako je vaša internetska veza spora.
Korak 13. Kad završite, vratite se na korak broj 4 i isprobajte primjer programa i trebali biste ga moći pokrenuti.
Programiranje VPythona:
Dalje započinjemo s programiranjem u našem VPython prozoru. U ovom ćemo programu stvoriti dva 3D pravokutna objekta, jedan će biti postavljen u središte zaslona referencom na nepokretni ultrazvučni senzor, a drugi će biti na dinamičnom mjestu na temelju udaljenosti između američkog senzora i objekta (papir).
Kompletan Python koda može se naći na kraju ove stranice. Dalje, objasnio sam ovaj python kôd dijeleći ih na male smislene smeće.
Prvi redak bio bi uvoz vizualne knjižnice kako bismo mogli stvarati 3D objekte. Redak u nastavku čini isto.
iz vizualnog uvoza *
Trebali biste biti upoznati sa sljedeća četiri retka, jer smo ih već koristili u našem prethodnom vodiču. Koriste se za uvoz serijske i vremenske biblioteke, a također uspostavljaju serijsku vezu s Arduinom na COM18 s 9600 kao brzinom prijenosa
import serial #Serial uvezena za vrijeme uvoza serijske komunikacije #Treba koristiti funkcije odgode ArduinoSerial = serial.Serial ('com18', 9600) #Create Serial port object called arduinoSerialData time.sleep (2) # pričekajte 2 sekunde za komunikaciju s uspostaviti se
Sada je vrijeme za stvaranje predmeta. Ja sam stvorio dvije 3d pravokutnika imenovan kao obj i zida. WallL je stacionarni zid cijan boje postavljen na sredini ekranu i obj je pomičan u objekt bijele boje. Također sam stavio tekst "američki senzor" blizu zida.
obj = kutija (pos = (- 5,0,0), veličina = (0,1,4,4), boja = boja.bijela) zid L = kutija (pos = (- 1,0,0), veličina = (0,2, 12,12), color = color.cyan) tekst (text = 'američki senzor', os = (0,1,0), pos = (- 2, -6,0), dubina = -0,3, color = boja.cyan)
Siguran sam da bi se gornja tri retka većini čitatelja prvi put činila grčkim i latinskim, ali s vremenom biste to mogli razumjeti. Sve što se spominje u zagradama su (x, y, z) koordinate. A ove su koordinate vrlo slične onima koje nalazimo u našem srednjoškolskom razredu geometrije, kao što je prikazano u nastavku.

Sada je grafički i serijski priključak spreman. Sve što moramo učiniti je pročitati podatke i postaviti "obj" (bijeli pravokutnik) na mjesto prema podacima koji dolaze iz Arduina. To se može učiniti pomoću sljedećih redaka, gdje obj.pos.x kontrolira X koordinatni položaj objekta (bijeli pravokutnik).
t = int (ArduinoSerial.readline ()) # pročitajte serijske podatke i ispišite ih kao redak t = t * 0,05 obj.pos.x = t
Priprema vašeg Arduina:
Python skripta je spremna za preslušavanje vrijednosti s COM porta i animiranje grafike u skladu s tim, ali naš Arduino još nije spreman. Prvo moramo spojiti ultrazvučni senzor na Arduino u skladu sa sljedećim krugovnim dijagramom. Ako ste potpuno novi u američkim senzorima i Arduinu, tada se morate vratiti na tutorial Arduino i ultrazvučni senzor za mjerenje udaljenosti.

Zatim prenesite program Arduino naveden na kraju ove stranice. Program se sam objašnjava pomoću redaka komentara. Znamo da ultrazvučni senzor djeluje tako što izračunava vrijeme potrebno za puls da pogodi objekt i vrati se natrag. Ova se vrijednost izračunava pomoću funkcije PulseIn u Arduinu . Kasnije se potrebno vrijeme pretvara u udaljenost pomoću crte u nastavku.
dist = (zauzeto vrijeme / 2) / 2,91;
Ovdje se udaljenost izračunava u milimetrima (mm).
Radno:
Rad na projektu je jednostavan. Pokrenite program Python i postavite objekt pred američki senzor kao što je prikazano dolje:

Sada pokrenite program python i trebali biste primijetiti kako se bijeli pravokutnik pomiče zajedno s vašim papirom, udaljenost između vašeg papira i senzora također će biti prikazana u prozoru ljuske kao što je prikazano na donjoj slici.

Na ovaj način možemo pratiti kretanje objekta pomoću ultrazvučnog senzora i Pythona s Arduinom.
Nadam se da ste razumjeli projekt i uživali u njegovoj izradi. Ovo je samo jedan suptilan korak prema pythonu, ali pomoću toga možete izgraditi puno više kreativnih stvari. Ako imate bilo kakvu ideju o tome što graditi pomoću ovog posta, objavite ih u odjeljku za komentare i koristite forume za tehničku pomoć. Vidimo se s još jednim zanimljivim python projektom.
