- Paunang mga kinakailangan:
- Pag-install ng VPython sa iyong Computer:
- Programming VPython:
- Pagkuha ng iyong Arduino Ready:
- Nagtatrabaho:
Sa aming nakaraang tutorial natutunan namin kung paano mag-install ng sawa sa aming windows machine at kung paano i-interface ang Arduino sa python gamit ang isang simpleng proyekto ng kontrol sa LED. Kung bago ka, masidhi kong inirerekumenda na bumalik sa nakaraang tutorial dahil ang tutorial na ito ay isang pagpapatuloy ng pareho.
Maaaring nagsimula ka nang magtaka kung bakit kakailanganin namin ang sawa kasama ng Arduino kung ang magagawa lamang nito ay simpleng makipag-usap sa serial port. Ngunit, ang Python ay napakalakas na platform ng pag-unlad kung saan maraming mga cool na application kung saan ang pag-aaral ng makina, paningin sa computer at marami pang iba ay maaaring maisama. Sa tutorial na ito matututunan natin Kung paano tayo Lumilikha ng isang Maliit na Graphical Interface Gamit ang Python. Upang magawa ito kakailanganin natin ang isang module na tinatawag na Vpython. Nalalapat lamang ang sumusunod na tutorial para sa gumagamit ng windows dahil para sa gumagamit ng Mac o Linux, magkakaiba ang pamamaraan.
Sa pagtatapos ng tutorial na ito matututunan natin kung paano tayo makakalikha ng simpleng GUI gamit ang Python. Gumagawa kami ng isang maliit na animasyon na tumutugon sa halaga ng sensor ng Ultrasonic na nakakabit sa Arduino. Sinusubaybayan ng application na ito ang object gamit ang Ultrasonic sensor at ipinapakita ito sa graphic na form sa computer gamit ang VPython. Habang inililipat namin ang bagay, nararamdaman ng sensor ng Ultrasonic ang distansya at ipinapadala ang impormasyong ito sa programa ng Python gamit ang Arduino at ilipat din nito ang bagay sa computer. Tunog kagiliw-giliw na tama! Kaya't magsimula ka…
Paunang mga kinakailangan:
- Arduino (Anumang bersyon)
- Ultrasonic Sensor HC-SR04
- Mga Koneksyon sa Mga Wires
- Computer na may Python
- Kaalaman sa nakaraang tutorial
Pag-install ng VPython sa iyong Computer:
Sa aming nakaraang tutorial natutunan na namin kung paano mag-install ng sawa sa iyong machine at kung paano ito gagalawin at lumikha ng isang simpleng programa kasama ng Arduino. Ngayon ay naka- install kami ng Visual Python (VPython) sa itaas nito upang makalikha kami ng mga cool na Graphics gamit ang Python para sa Arduino. Para sa mga simpleng hakbang sa ibaba upang makapagsimula sa VPython
Hakbang 1. Tiyaking naka-install na ang Python ayon sa naunang mga alituntunin sa tutorial.
Hakbang 2. Mag - click sa VPython upang i-download ang exe file para sa Visual Python. Huwag mag-opt upang mag-install ng isang 64 – bit na bersyon kahit na ang iyong machine ay tumatakbo sa 64-bit. Sundin lamang ang ibinigay na link.
Hakbang 3. Ilunsad ang file ng exe at sundin ang pag-set up. Huwag baguhin ang default na path ng direktoryo at tiyaking napili mo ang "buong pag-install".
Hakbang 4. Kapag na-install na, dapat kang makahanap ng isang bagong application na pinangalanang "VIDLE (VPython)" sa iyong desktop o application panel tulad ng ipinakita sa ibaba.
Hakbang 5. Ilunsad ang application at dapat kang makakuha ng isang window tulad ng ipinakita sa ibaba.
Hakbang 6. Ito ang window kung saan magta-type kami sa programa para sa VPython. Ngunit, sa ngayon suriin natin kung gumagana ang Vpython sa pamamagitan ng pagbubukas ng isang halimbawa ng programa. Upang gawin ito piliin ang File-> Open-> Bounce
Hakbang 7. Dapat kang makakuha ng isang halimbawa ng programa na binuksan. Subukang ilunsad ang programa gamit ang Run -> Run Module . Kung gumagana ang lahat tulad ng inaasahan dapat mong makuha ang sumusunod na screen.
Dapat mong makita ang window ng Shell (kaliwa) na may dalwang >>> na nagpapahiwatig ng matagumpay na pagtitipon at ang aktwal na window (harap) na nagpapakita ng isang bouncing ng bola.
Hakbang 8. Maaari mo ring subukan ang iba pang mga halimbawa ng mga programa upang matuklasan ang lakas ng VPython, halimbawa ang halimbawang programa na tinatawag na "electric-motor" ay mapanganga ka ng sumusunod na screen.
Hakbang 9. Nangangahulugan ito na ang iyong VPython ay handa na para magamit at maaari kang mahulog sa paksang " Programming iyong Vpython ".
Hakbang 10. Iba pa kung ikaw ay tulad ng isa sa maraming nakakakuha ng isang "numpy Error" ay hindi mawawalan ng pag-asa para aayusin namin ang isyung iyon sa mga karagdagang hakbang.
Hakbang 11. Buksan ang Aking computer -> C drive -> Python 27 -> Mga Script -> local.bat . Ilulunsad nito ang isang prompt ng utos tulad ng ipinakita sa ibaba
Hakbang 12. I-type ngayon ang "pip install --upgrade numpy" at pindutin ang enter. Ang bagong bersyon ng Numpy ay dapat na mai-install sa iyong machine. Maaaring maghintay ka para sa ilang oras kung mabagal ang iyong koneksyon sa internet.
Hakbang 13. Kapag tapos ka na, maaari kang bumalik sa hakbang numero 4 at subukan ang isang halimbawa ng programa at dapat mo itong paganahin.
Programming VPython:
Susunod na nagsisimula kaming mag-program sa aming window ng VPython. Sa program na ito lilikha kami ng dalawang 3D na hugis-parihaba na mga bagay ang isa ay mailalagay sa gitna ng pagtukoy ng screen sa nakatigil na sensor na Ultrasonic at ang isa ay nasa isang pabago-bagong lokasyon batay sa distansya sa pagitan ng US sensor at ng object (papel).
Ang kumpletong Python code ay matatagpuan sa dulo ng pahinang ito. Dagdag dito, ipinaliwanag ko ang code ng sawa na ito sa pamamagitan ng paghahati sa kanila sa maliit na makahulugang mga junks.
Ang unang linya ay ang mag- import ng visual Library upang makalikha kami ng mga 3D na bagay. Ang linya sa ibaba ay gumagawa ng pareho.
mula sa visual import *
Dapat ay pamilyar ka sa susunod na apat na linya, dahil ginamit namin ang mga ito sa aming nakaraang tutorial. Ginagamit ang mga ito upang mag- import ng Serial at time library at magtatag din ng isang serial na koneksyon sa Arduino sa COM18 na may 9600 bilang baudrate
mag-import ng serial #Serial na na-import para sa Serial na oras ng pag-import ng komunikasyon #Kinakailangan upang magamit ang mga pagpapaandar na pagkaantala ArduinoSerial = serial.Serial ('com18', 9600) # Lumikha ng Serial port object na tinatawag na arduinoSerialData time.s Sleep (2) #hintayin ang 2 secounds para sa komunikasyon sa maging matatag
Ngayon, oras na upang lumikha ng mga bagay. Lumikha ako ng dalawang 3d na parihaba na pinangalanan bilang obj at dingding. Ang wallL ay isang nakatigil na pader na may kulay na cyan na inilagay sa gitna ng screen at ang obj ay ang bagay na maililipat sa puting kulay. Naglagay din ako ng teksto na "US sensor" malapit sa object ng dingding.
obj = kahon (pos = (- 5,0,0), laki = (0.1,4,4), kulay = kulay. puti) wallL = kahon (pos = (- 1,0,0), laki = (0.2, 12,12), kulay = color.cyan) teksto (text = 'US sensor', axis = (0,1,0), pos = (- 2, -6,0), lalim = -0.3, kulay = kulay.cyan)
Sigurado ako na ang nasa itaas na tatlong mga linya ay lilitaw bilang Greek at Latin para sa karamihan ng mga unang oras na mambabasa, ngunit sa oras na maunawaan mo ito. Lahat ng nabanggit sa loob ng mga braket ay (x, y, z) na co-ordinate. At ang mga co-ordinate na ito ay halos kapareho ng mga nakita namin sa aming klase sa geometry ng high school tulad ng ipinakita sa ibaba.
Ngayon, ang graphics at serial port ay handa na ang lahat na kailangan nating gawin ay basahin ang data at ilagay ang "obj" (puting rektanggulo) sa isang lugar alinsunod sa data na nagmumula sa Arduino. Maaari itong magawa ng mga sumusunod na linya, kung saan kinokontrol ng obj.pos.x ang X co-ordinate na posisyon ng bagay (White rektanggulo).
t = int (ArduinoSerial.readline ()) # basahin ang serial data at i-print ito bilang linya t = t * 0.05 obj.pos.x = t
Pagkuha ng iyong Arduino Ready:
Ang script ng Python ay handa na makinig para sa mga halaga mula sa COM port at buhayin ang mga graphic nang naaayon, ngunit ang aming Arduino ay hindi pa handa. Una kailangan naming ikonekta ang sensor ng Ultrasonic sa Arduino ayon sa sumusunod na Circuit Diagram. Kung ganap kang bago sa sensor ng US at Arduino, pagkatapos ay kailangan mong bumalik sa tutorial ng Pagsukat sa Distansya ng Pagsukat sa Distansya ng Arduino at Ultrasonic.
Pagkatapos i-upload ang Arduino Program na ibinigay sa pagtatapos ng pahinang ito. Ang programa ay sariling ipinaliwanag gamit ang mga linya ng komento. Alam namin na gumagana ang ultrasonic sensor sa pamamagitan ng pagkalkula ng oras na ginugol upang maabot ng pulso ang isang bagay at bumalik. Ang halagang ito ay kinakalkula sa pamamagitan ng paggamit ng pag- andar ng PulseIn sa Arduino. Mamaya ang oras na kinuha ay ginawang distansya gamit ang linya sa ibaba.
dist = (timetaken / 2) / 2.91;
Dito kinakalkula ang distansya sa mga tuntunin ng millimeter (mm).
Nagtatrabaho:
Ang pagtatrabaho ng proyekto ay simple. Ilunsad ang programa ng Python at maglagay ng isang bagay sa harap ng sensor ng US tulad ng ipinakita sa ibaba:
Ngayon ilunsad ang programa ng sawa at dapat mong mapansin ang puting rektanggulo na ilipat kasama ang iyong papel, ang distansya sa pagitan ng iyong papel at sensor ay ipapakita din sa window ng shell tulad ng ipinakita sa imahe sa ibaba.
Ito ay kung paano namin masusubaybayan ang paggalaw ng object gamit ang Ultrasonic sensor at Python na may Arduino.
Inaasahan kong naintindihan mo ang proyekto at nasiyahan sa pagbuo ng isa. Ito ay isa lamang banayad na hakbang patungo sa sawa ngunit maaari kang bumuo ng maraming mas malikhaing mga bagay gamit ito. Kung mayroon kang anumang ideya kung ano ang itatayo sa pag-post sa kanila sa seksyon ng komento at gamitin ang mga forum para sa tulong na panteknikal. Magkita tayo kasama ang isa pang kawili-wiling proyekto sa sawa.