Përmbajtje:

Ndërtoni vëzhgues të makinerisë: 9 hapa
Ndërtoni vëzhgues të makinerisë: 9 hapa

Video: Ndërtoni vëzhgues të makinerisë: 9 hapa

Video: Ndërtoni vëzhgues të makinerisë: 9 hapa
Video: “Kam udhëtuar në 201 vende të botës”, Ilir Morina tregon kryeqytetin e vetëm që nuk ka vizituar 2024, Nëntor
Anonim
Ndërtoni vëzhgues të makinerisë
Ndërtoni vëzhgues të makinerisë
Ndërtoni vëzhgues të makinerisë
Ndërtoni vëzhgues të makinerisë

Pika fillestare për këtë projekt ishte puna në një projekt konkret për të mësuar disa gjëra rreth bordeve të mikrokontrolluesve.

Ideja fillestare ishte krijimi i një objekti fizik që mund të monitoronte një Sistem të Integrimit të Vazhdueshëm (VSTS | Azure DevOps) dhe të raportonte dështimet e krijimit të softuerit. Për shkak të shqetësimeve të sigurisë nga departamenti i IT, më është refuzuar të lidh një pajisje "jo standarde" drejtpërdrejt në rrjetin e ndërmarrjes.

Përfundova me arkitekturën e treguar në foton e mësipërme. Rrjedha e punës së ekzekutimit mund të përmblidhet si më poshtë:

Një aplikacion desktop i Windows skanon (tërheq) VSTS Build Definitions. Ai analizon rezultatet e ndërtimit dhe më pas i dërgon një komandë pajisjes fizike që ekzekuton një sekuencë të animuar para se të shfaqë flamurin e kuq ose të gjelbër.

Hapi 1: Pjesët e nevojshme

Lista e mëposhtme përmbledh të gjitha artikujt e nevojshëm:

  • 1 Arduino UNO R3 (https://store.arduino.cc/usa/arduino-uno-rev3).
  • 1 Expansion Shield (https://www.dfrobot.com/wiki/index.php/IO_Expansion_Shield_for_Arduino_V7_SKU:DFR0265).
  • 2 module XBee S1 (https://www.adafruit.com/product/128).
  • 1 dongle explorer XBee (https://www.sparkfun.com/products/11697).
  • 2 servo motorë të vazhdueshëm 5VDC me pajisje fiksuese (https://www.parallax.com/sites/default/files/downloads/900-00008-Continuous-Rotation-Servo-Documentation-v2.2.pdf).
  • 1 furnizim me energji 9VDC.
  • 3 LED.
  • 3 rezistente 220 Ohm.
  • mëngë termo -tërheqëse.
  • 1 buton shtypës.
  • Rezistencë tërheqëse 10KΩ për tërheqjen lart.
  • Kondensator 100nF.
  • telat elektrikë.
  • bordi i shiritit (për montimin e butonit)
  • Dru 5mm (50x50cm).
  • shkop druri seksion katror 5x5 mm (1m).
  • kartoni.
  • 10 vida X me diametër 2 mm.
  • 4 vida me diametër 5 mm.
  • magnet i fortë.
  • moduli i kthesës. Kam ripërdorur pjesën e brendshme lëvizëse të një dritë ndezëse. mund te vendosni cfare te doni. Thjesht duhet të kujdeseni që 2 pjesët e lëvizshme të lëvizin lirshëm pa i prekur së bashku.

Hapi 2: Ndërtimi i Kutisë

Ndërtimi i Kutisë
Ndërtimi i Kutisë

Në fakt ju mund të keni një kuti të çfarëdo forme që dëshironi. Gjërat kryesore për të cilat duhet menduar para fillimit është se ku do të jenë pjesët lëvizëse dhe për të siguruar që ato të mund të lëvizin lirshëm pa i prekur së bashku. Një pikë tjetër është se ku do ta vendosni pajisjen? Përfundova me një magnet (të fortë) në mënyrë që ta ngjisja në çdo mbështetëse metalike. nëse doni të ndërtoni të njëjtën kuti, mund të ndiqni udhëzimet në skedarin box_drawings.pdf.

Në atë rast ju vetëm duhet të prerë të gjitha pjesët e ndryshme, të bëni vrima për servomotorët, LED -të, butonin dhe vidhat dhe në fund të ngjitni të gjitha pjesët së bashku. Pasi të jetë tharë, pak lëmues dhe pak ngjyrë.

Të dy flamujt janë bërë duke përdorur karton të kuq dhe jeshil. Për të rregulluar direkun e flamurit në servomotorët mund të përdorni pjesët e montimit të dhëna kur i blini ato.

Hapi 3: Konfigurimi i Arduino

Arduino Setup
Arduino Setup

Artikujt e lidhur me bordin e zgjerimit Arduino janë:

  • Kodi P2 D2: butoni i shtypjes.
  • D4 PIN: LED për të thënë se sistemi është aktiv.
  • P5 PIN: LED për të thënë që ne ekzekutojmë një cikël.
  • P6 P6: LED për të thënë se pajisja ka marrë një mesazh të ri.
  • D9 PIN: sinjali i impulsit PWM për servomotorin që merret me xhiro.
  • D10 PIN: sinjali i impulsit PWM për servomotorin që trajton flamurin.
  • Foleja XBee: një modul ZigBee.

Skema e mësipërme tregon se si të gjithë artikujt janë të lidhur me tabelën.

Për LED, rezistenca dhe telat janë ngjitur drejtpërdrejt në të (kujdesuni për polaritetin). Çdo gjë është e paketuar më pas brenda një mëngë termo -tërheqëse.

Për butonin shtypës, të gjitha pjesët (butoni, rezistenca dhe kondensatori) janë ngjitur drejtpërdrejt në një pllakë të vogël satelitore. Bordi i shiritit fiksohet drejtpërdrejt me dy vida (2mm)

Servomotorët operojnë me fuqi 5V, kështu që mund të lidhen drejtpërdrejt me Arduino. Nëse përdorni ato me tension më të lartë (12V) do të duhet të shtoni një shtresë tjetër për furnizimin me energji elektrike.

Për modulet XBee, pasi të jenë konfiguruar për të folur së bashku (shiko pjesën tjetër), ato mund të lidhen drejtpërdrejt me prizat.

Shënime: LED -të dhe butoni i shtypjes mund të jenë lidhur direkt me kunjat Arduino pasi mund të zbatojnë brenda letrave me vlerë të nevojshme. Unë thjesht bëra mënyrën e vjetër pasi ky aspekt nuk ishte shumë i qartë për mua.

Hapi 4: Softuer - XCTU

Softuer - XCTU
Softuer - XCTU

Siç u përmend më lart, dy pajisjet XBee duhet të konfigurohen për të folur së bashku. Për ta bërë këtë ju duhet të përdorni softuerin e dedikuar X-CTU nga DIGI. Këtë hap konfigurimi duhet ta bëni vetëm një herë. ju lutemi ndiqni procedurën e përshkruar në skedarin xbee_configuration.pdf.

Pasi të bëhet konfigurimi, mund të lidhni secilin modul në prizën e tyre. Një në konvertuesin USB/Serial dhe një në tabelën e zgjerimit Arduino.

Konvertuesi USB/Serial duhet të njihet automatikisht nga Windows 10. Nëse nuk është kështu, mund t'ju duhet të instaloni manualisht drejtuesin

Shënim:

Përdorimi i moduleve XBee për të bërë një komunikim serik bazë është pak i tepërt. Në kohën kur fillova projektin nuk arrita të gjej pajisje të thjeshta serike të komunikimit lehtësisht të përdorshme në Windows 10 (çështje shoferi). Ishte gjithashtu një mundësi për të mësuar disa gjëra rreth

Hapi 5: Softuer - Skicë Arduino

Softuer - Arduino Sketch
Softuer - Arduino Sketch

Për të programuar Arduino ne përdorim IDE të arritshme nga faqja zyrtare e internetit.

Logjika e programit është mjaft e thjeshtë, thjesht dëgjon në portën seriale të paracaktuar të tabelës për shkronja të vetme (‘a’, ‘b’,…). Nëse karakteri i marrë përputhet me një komandë të njohur, atëherë një nën-funksion luan sekuencën përkatëse.

Dy komandat kryesore të dobishme janë animacioni i suksesit ('a') dhe animacioni i gabimit ('b').

Për të qenë në gjendje të luani (ose të korrigjoni) pak më shumë me kutinë, ka disa komanda shtesë që mund të ekzekutohen. Ata janë:

  • ‘O’: detyroni LED -in ON të jetë ON
  • ‘P’: detyroni LED -in ON të jetë OFF
  • 'Q': detyroni LED -in e Mesazhit të Ri të jetë ON
  • ‘R’: detyroni LED -in e Mesazhit të Ri të jetë FIKUR
  • 'S': detyroni LED të Ciklit të jetë I ndezur
  • 'T': detyroni LED të Ciklit të jetë FIKUR
  • ‘U’: aktivizoni servomotorin e xhiros
  • ‘V’: aktivizoni servomotorin e flamurit.

Përveç komandës serike ekziston një nën-rutinë (handlePushButton) që aktivizohet kur shtypet butoni në pajisje. Në atë rast animacioni i gabimit ose suksesit luhet automatikisht. Ky funksion ju lejon të kontrolloni nëse pajisja fizike është montuar si duhet.

Kodi i skicës Arduino është në skedarin e vetëm bsldevice.ino. Mund ta ngarkoni direkt duke përdorur IDE.

Hapi 6: Softuer - Aplikim për desktop

Softuer - Aplikim për desktop
Softuer - Aplikim për desktop

Qëllimi i aplikacionit në desktop është të monitorojë uebfaqen e Microsoft Azure DevOps (më parë VSTS) dhe të zbulojë nëse një Definition Build është i suksesshëm ose gabim. Sa herë që ndërtimi përfundon, aplikacioni i desktopit përcakton statusin e ndërtimit dhe dërgon komandën përkatëse (‘a’ ose ‘b’) në portën seriale (COMx).

Pas fillimit të aplikacionit, veprimi i parë është të zgjidhni portën e duhur të kom në të cilën është lidhur moduli ZigBee. Për të përcaktuar portin mund të përdorni Menaxherin e Pajisjes Windows (nën Portat (seksioni COM & LPT)). Lidhja me Azure DevOps bëhet automatikisht gjatë fillimit duke përdorur kredencialet e përdoruesit aktual. Ju gjithashtu mund të dërgoni çdo komandë të paracaktuar me dorë duke përdorur kutinë e kombinuar në të djathtë.

Të gjitha burimet janë krijuar me edicionin profesional të Visual Studio 2017. Kërkon. NET Framework 4.6.1. Ky version i Kornizës është i preferuar për të lehtësuar lidhjen/vërtetimin me uebfaqen VSTS.

per te perdorur:

  • shkarkoni arkivin bslwatcher_sources.zip.
  • Nxirrni atë në diskun tuaj.
  • Lexoni skedarin how_to_build.txt për detajet e ndërtimit.

Hapi 7: Fillimi i parë

Ka dy gjëra kryesore që duhet të keni parasysh kur filloni kutinë:

1- Nuk ka asnjë mënyrë që sistemi të dijë vetë se ku janë flamujt. Sistemi supozon se në fillimin flamuri jeshil është ngritur.

2- Kur ndizni bordin Arduino asgjë nuk duhet të lëvizë. Ndërsa përdorëm servos të vazhdueshëm, pozicioni zero është vendosur në 90 si parazgjedhje në skedarin skicë. Nëse një servomotor fillon të kthehet ose të bëjë pak zhurmë. mund t'ju duhet të ri-përcaktoni pozicionin e tij zero. Për ta bërë këtë, thjesht vendosni potenciometrin brenda vrimës së vogël në anën e servomotorit.

www.arduino.cc/en/Reference/ServoWrite

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

Hapi 8: Përfundimi

Kjo pajisje e vogël do të raportojë fizikisht statusin e Sistemit tuaj të Integrimit të Vazhdueshëm.

Meqenëse "inteligjenca" është në aplikacionin e desktopit, mund të përdorni kutinë për të monitoruar çdo softuer ose proces tjetër (postë, një sensor i temperaturës …). Thjesht duhet të keni qasje në një API tjetër dhe të vendosni se çfarë është "e mirë" ose çfarë është "e keqe". Nëse nuk përdorni ngjyrat e kuqe dhe jeshile të konventës, madje mund të ndryshoni kuptimin e "mesazhit".

Përmirësime gjithashtu mund të sillen në vetë kutinë:

  • Përdorni një bateri.
  • Përdorni një protokoll tjetër komunikimi.
  • Shtoni sensorë për të ditur se cili flamur është në krye.

Shpresoj se ju është gjetur ky projekt interesant.

Faleminderit që lexuat deri këtu.

Hapi 9: Shtojca

Disa nga lidhjet e përdorura për krijimin e këtij projekti:

Faqja e internetit Arduino:

Faqja e internetit DIGI:

Softueri XCTU:

Disa informacione të përdorura nga të tjerët:

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

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

www.mon-club-elec.fr/pmwiki_reference_ardui… (në frëngjisht)

jeromeabel.net/

Faqja e internetit e MSDN në përgjithësi:

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

Recommended: