Talaan ng mga Nilalaman:

Build Machine Watcher: 9 Mga Hakbang
Build Machine Watcher: 9 Mga Hakbang

Video: Build Machine Watcher: 9 Mga Hakbang

Video: Build Machine Watcher: 9 Mga Hakbang
Video: VERIFY the Vote | Answering your questions about poll watchers 2024, Nobyembre
Anonim
Bumuo ng Machine Watcher
Bumuo ng Machine Watcher
Bumuo ng Machine Watcher
Bumuo ng Machine Watcher

Ang panimulang punto para sa proyektong ito ay upang gumana sa isang kongkretong proyekto upang malaman ang ilang mga bagay tungkol sa mga board ng micro-controller.

Ang paunang ideya ay upang lumikha ng isang pisikal na bagay na maaaring subaybayan ang isang Patuloy na Sistema ng Pagsasama (VSTS | Azure DevOps) at iulat ang mga pagkabigo sa pagbuo ng software. Dahil sa mga alalahanin sa seguridad mula sa departamento ng IT, tinanggihan akong ikonekta ang isang "hindi pamantayan" na aparato nang direkta sa network ng negosyo.

Natapos ako sa arkitekturang ipinakita sa larawan sa itaas. Ang workflow ng pagpapatupad ay maaaring buod bilang:

Sinusuri ng isang application ng Windows desktop (hilahin) ang Mga Kahulugan ng Bumuo ng VSTS. Sinusuri nito ang mga resulta ng pagbuo, at pagkatapos ay nagpapadala ng isang utos sa pisikal na aparato na nagpapatupad ng isang maliit na animated na pagkakasunud-sunod bago ipakita ang pula o ang berdeng bandila.

Hakbang 1: Mga Kinakailangan na Bahagi

Ang sumusunod na listahan ay nagbubuod ng lahat ng kinakailangang mga item:

  • 1 Arduino UNO R3 (https://store.arduino.cc/usa/arduino-uno-rev3).
  • 1 Expension Shield (https://www.dfrobot.com/wiki/index.php/IO_Expansion_Shield_for_Arduino_V7_SKU:DFR0265).
  • 2 mga module ng XBee S1 (https://www.adafruit.com/product/128).
  • 1 XBee explorer dongle (https://www.sparkfun.com/products/11697).
  • 2 tuloy-tuloy na servo motors 5VDC na may pag-aayos ng mga accessories (https://www.parallax.com/site/default/files/downloads/900-00008-Continuous-Rotation-Servo-Documentation-v2.2.pdf).
  • 1 9VDC power supply.
  • 3 LEDs.
  • 3 resistors 220 Ohm.
  • thermo maaaring iurong manggas.
  • 1 pindutan ng push
  • 10KΩ pull resistor para sa pull up.
  • 100nF capacitor.
  • kable ng kuryente.
  • strip-board (para sa pag-mount ng pindutan)
  • 5mm na kahoy (50x50cm).
  • kahoy na parisukat na seksyon ng 5x5 mm (1m).
  • karton
  • 10 X tornilyo 2mm diameter.
  • 4 na tornilyo na 5mm diameter.
  • malakas na magnet.
  • nagiging module. Gumamit ulit ako ng panloob na gumagalaw na bahagi ng isang kumikislap na ilaw. maaari mong ilagay ang anumang nais mo. Mag-iingat ka lamang na ang 2 mga mobile na bahagi ay maaaring malayang gumalaw nang hindi magkakasabay.

Hakbang 2: Pagbuo ng Kahon

Pagbuo ng Kahon
Pagbuo ng Kahon

Sa totoo lang maaari kang magkaroon ng isang kahon ng anumang hugis na nais mo. Ang mga pangunahing bagay na dapat isipin bago magsimula ay kung saan ang mga gumagalaw na bahagi at upang matiyak na maaari silang malayang gumalaw nang hindi magkakasama. Ang isa pang punto ay kung saan mo ilalagay ang aparato? Natapos ako sa isang pang-akit (malakas na isa) upang idikit ito sa anumang suporta sa metal. kung nais mong buuin ang parehong kahon, maaari mong sundin ang mga tagubilin sa file box_drawings.pdf.

Sa kasong iyon kailangan mo lamang i-cut ang lahat ng iba't ibang mga piraso, gawin ang mga butas para sa mga servomotor, mga LED, ang pindutan at mga tornilyo at sa wakas ay idikit ang lahat ng mga bahagi. Kapag ito ay tuyo, isang maliit na sanding at ilang kulay.

Ang dalawang watawat ay ginawa gamit ang ilang pula at berdeng karton. Upang ayusin ang flag mast sa mga servomotor maaari mong gamitin ang mga mounting bahagi na ibinigay kapag binili mo ang mga ito.

Hakbang 3: Pag-setup ng Arduino

Pag-setup ng Arduino
Pag-setup ng Arduino

Ang mga item na konektado sa Arduino extension board ay:

  • D2 PIN: ang pindutan ng push.
  • D4 PIN: ang LED upang sabihin na ang system ay ON.
  • D5 PIN: ang LED upang sabihin na nagpapatupad kami ng isang cycle.
  • D6 PIN: ang LED upang sabihin na ang aparato ay nakatanggap ng isang bagong mensahe.
  • D9 PIN: ang PWM pulse signal para sa servomotor na humahawak sa gyro.
  • D10 PIN: ang PWM pulse signal para sa servomotor na humahawak sa bandila.
  • XBee Socket: isang Module ng ZigBee.

Ipinapakita ng eskematiko sa itaas kung paano nakakonekta sa board ang lahat ng mga item.

Para sa mga LED, ang risistor at ang mga wire ay direktang hinang dito (alagaan ang polarity). Pagkatapos ay naka-pack ang lahat sa loob ng ilang nababawi na manggas.

Para sa pindutan ng itulak, ang lahat ng mga bahagi (pindutan, risistor at kapasitor) ay direktang hinang sa isang maliit na satellite strip-board. Ang strip-board ay direktang naayos na may dalawang mga turnilyo (2mm)

Ang mga servomotor ay nagpapatakbo ng 5V na lakas na maaari nilang maiugnay nang direkta sa Arduino. Kung gagamit ka ng mga may mas mataas na boltahe (12V) kakailanganin mong magdagdag ng isa pang layer para sa power supply.

Para sa mga module ng XBee, sa sandaling na-configure ang mga ito upang makipag-usap nang magkasama (tingnan ang susunod na seksyon), maaari silang mai-plug sa mga socket nang direkta.

Mga Tala: Ang mga LED at ang pindutan ng push ay maaaring direktang konektado sa mga pin ng Arduino dahil maaari itong ipatupad sa loob ng mga kinakailangang seguridad. Ginawa ko lang ang dating paraan dahil ang aspetong ito ay hindi masyadong malinaw para sa akin.

Hakbang 4: Software - XCTU

Software - XCTU
Software - XCTU

Tulad ng nabanggit sa itaas ang dalawang mga aparato ng XBee ay dapat na-configure upang makipag-usap nang magkasama. Upang gawin iyon kailangan mong gamitin ang nakatuon na X-CTU software mula sa DIGI. Kailangan mong gawin ang hakbang na ito sa pagsasaayos nang isang beses lamang. mangyaring sundin ang pamamaraang inilarawan sa xbee_configuration.pdf file.

Kapag tapos na ang pagsasaayos maaari mong ikonekta ang bawat module sa kanilang socket. Isa sa USB / Serial converter at isa sa Arduino extension board.

Ang USB / Serial converter ay dapat na awtomatikong kilalanin ng windows 10. Kung hindi ito maaaring kailanganin mong i-install nang manu-mano ang driver

Tandaan:

Ang paggamit ng mga module ng XBee upang makagawa ng isang pangunahing komunikasyon sa serial ay medyo labis na labis na labis. Sa oras na sinimulan ko ang proyekto ay hindi ako nagtagumpay na makahanap ng mga simpleng serial device na komunikasyon na madaling magagamit sa windows 10 (mga isyu sa pagmamaneho). Ito rin ay isang pagkakataon upang malaman ang ilang mga bagay tungkol sa

Hakbang 5: Software - Arduino Sketch

Software - Arduino Sketch
Software - Arduino Sketch

Upang ma-program ang Arduino ginagamit namin ang IDE na naa-access mula sa opisyal na web site.

Ang lohika ng programa ay sa halip simple nakikinig lamang ito sa default na serial port ng board para sa mga solong titik ('a', 'b',…). Kung ang natanggap na character ay tumutugma sa isang kilalang utos, pagkatapos ay ang isang sub-function na nagpe-play ng kaukulang pagkakasunud-sunod.

Ang 2 pangunahing kapaki-pakinabang na mga utos ay ang tagumpay na animasyon ('a') at error na animasyon ('b').

Upang makapaglaro (o i-debug) nang kaunti pa sa kahon mayroong ilang mga karagdagang utos na maaaring maipatupad. Sila ay:

  • ‘O’: pilitin ang ON LED na ON
  • 'P': pilitin ang ON LED na OFF
  • ‘Q’: pilitin ang Bagong Mensahe ng LED na MAG-ON
  • ‘R’: pilitin ang OFF ng Bagong Mensahe upang MA-OFF
  • ‘S’: pilitin ang Cycle LED na ON
  • 'T': pilitin na mai-OFF ang LED Cycle
  • ‘U’: buhayin ang servomotor ng gyro
  • ‘V’: buhayin ang servomotor ng bandila.

Bilang karagdagan sa serial command mayroong isang sub-routine (handlePush Button) na naisasaaktibo kapag ang push button ay pinindot sa aparato. Sa kasong iyon ang error o tagumpay na animasyon ay awtomatikong nilalaro. Pinapayagan ng tampok na ito na suriin na ang pisikal na aparato ay na-mount nang tama.

Ang code ng Arduino sketch ay nasa iisang file na bsldevice.ino. Maaari mong i-upload ito nang direkta gamit ang IDE.

Hakbang 6: Software - Application sa Desktop

Software - Application sa Desktop
Software - Application sa Desktop

Ang layunin ng application ng desktop ay upang subaybayan ang web site ng Microsoft Azure DevOps (dating VSTS) at upang matukoy kung ang isang Build Definition ay matagumpay o nagkamali. Sa tuwing natapos ang isang build, tinutukoy ng application ng desktop ang katayuan ng pagbuo at ipadala ang kaukulang utos ('a' o 'b') sa serial port (COMx).

Matapos ilunsad ang application ang unang aksyon ay upang piliin ang tamang com port kung saan nakakonekta ang module ng ZigBee. Upang matukoy ang port maaari mong gamitin ang Windows Device Manager (sa ilalim ng Mga Port (seksyon ng COM & LPT)). Ang koneksyon sa Azure DevOps ay awtomatikong ginagawa sa pagsisimula gamit ang mga kredensyal ng kasalukuyang gumagamit. Maaari ka ring magpadala ng anumang paunang natukoy na utos nang manu-mano gamit ang combo box sa kanan.

Ang lahat ng mga mapagkukunan ay nabuo sa Visual Studio 2017 propesyonal na edisyon. Nangangailangan ito ng. NET Framework 4.6.1. Ang bersyon ng Framework na ito ay lalong kanais-nais upang mapadali ang koneksyon / pagpapatotoo sa web site ng VSTS.

gamitin:

  • i-download ang archive bslwatcher_source.zip.
  • I-extract ito sa iyong disk.
  • Basahin ang how_to_ build.txt file para sa mga detalye sa pagbuo.

Hakbang 7: Unang Pagsisimula

Mayroong dalawang pangunahing bagay na dapat isipin kapag sinisimulan ang kahon:

1- Walang paraan upang malaman ng system ng sarili nitong nasaan ang mga watawat. Ipinapalagay ng system na sa pagsisimula ang berdeng watawat ay nasa itaas.

2- Kapag pinapagana ang Arduino board ay walang dapat ilipat. Tulad ng paggamit namin ng tuloy-tuloy na servos, ang posisyon na zero ay nakatakda sa 90 bilang default sa sketch file. Kung ang isang servomotor ay nagsimulang lumiko o gumawa ng isang ingay. maaaring kailangan mong tukuyin muli ang zero na posisyon nito. Upang gawin iyon mayroon ka lamang tune ng potensyomiter sa loob ng maliit na butas sa gilid ng servomotor.

www.arduino.cc/en/Referensi/ServoWrite

cmra.rec.ri.cmu.edu/content/electronics/boe…

Hakbang 8: Konklusyon

Ang maliit na aparatong ito ay pisikal na iulat ang katayuan ng iyong Patuloy na Pagsasama-sama ng System.

Tulad ng "intelligence" ay nasa desktop application maaari mong gamitin ang kahon upang subaybayan ang anumang iba pang software o proseso (mail, isang sensor ng temperatura …). Kailangan mo lamang na magkaroon ng pag-access sa isa pang API at magpasya kung ano ang "mabuti" o kung ano ang "masama". Kung hindi ka gagamit ng pula at berde na mga kulay ng kombensiyon maaari mo ring baguhin ang kahulugan ng "mensahe".

Ang mga pagpapabuti ay maaari ding dalhin sa kahon mismo:

  • Gumamit ng baterya.
  • Gumamit ng isa pang protocol ng komunikasyon.
  • Magdagdag ng mga sensor upang malaman kung aling watawat ang nasa itaas.

Inaasahan kong nahanap mo ang kawili-wiling proyekto na ito.

Salamat na mabasa hanggang dito.

Hakbang 9: Annex

Ang ilan sa mga link na ginamit upang likhain ang proyektong ito:

Web site ng Arduino:

Web site ng DIGI:

XCTU software:

Ang ilang impormasyon na ginamit mula sa iba:

arduino.stackexchange.com/questions/1321/se…

stackoverflow.com/questions/10399400/best-w…

www.mon-club-elec.fr/pmwiki_referensi_ardui… (sa Pranses)

jeromeabel.net/

Ang web site ng MSDN sa pangkalahatan:

docs.microsoft.com/en-us/dotnet/framework/…

Inirerekumendang: