Obsah:

Build Machine Watcher: 9 krokov
Build Machine Watcher: 9 krokov

Video: Build Machine Watcher: 9 krokov

Video: Build Machine Watcher: 9 krokov
Video: [3.14] Customizable Super Tank Melee Build - Facetank Sirus 9 Meteors + More 2024, November
Anonim
Build Machine Watcher
Build Machine Watcher
Build Machine Watcher
Build Machine Watcher

Východiskovým bodom tohto projektu bola práca na konkrétnom projekte, aby ste sa dozvedeli pár vecí o doskách mikrořadiča.

Pôvodnou myšlienkou bolo vytvoriť fyzický objekt, ktorý by mohol monitorovať systém kontinuálnej integrácie (VSTS | Azure DevOps) a hlásiť zlyhania zostavenia softvéru. Z dôvodu obáv o bezpečnosť z oddelenia IT som bol odmietnutý pripojiť „neštandardné“zariadenie priamo k podnikovej sieti.

Skončil som s architektúrou zobrazenou na obrázku vyššie. Pracovný postup vykonávania je možné zhrnúť ako:

Počítačová aplikácia Windows skenuje (ťahá) definície zostavy VSTS. Analyzuje výsledky zostavenia a potom pošle príkaz na fyzické zariadenie, ktoré vykoná malú animovanú sekvenciu, a potom zobrazí červený alebo zelený príznak.

Krok 1: Potrebné diely

Nasledujúci zoznam sumarizuje všetky potrebné položky:

  • 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 moduly XBee S1 (https://www.adafruit.com/product/128).
  • 1 dongle prieskumníka XBee (https://www.sparkfun.com/products/11697).
  • 2 kontinuálne servomotory 5VDC s upevňovacím príslušenstvom (https://www.parallax.com/sites/default/files/downloads/900-00008-Continuous-Rotation-Servo-Documentation-v2.2.pdf).
  • 1 Napájanie 9VDC.
  • 3 LED diódy.
  • 3 odpory 220 Ohm.
  • termo zaťahovací návlek.
  • 1 tlačidlo.
  • Vyťahovací odpor 10 KΩ na vyťahovanie.
  • Kondenzátor 100nF.
  • elektrické vodiče.
  • pásová doska (na upevnenie gombíka)
  • 5 mm drevo (50 x 50 cm).
  • drevená tyč štvorcového prierezu 5x5 mm (1m).
  • kartón.
  • 10 x skrutka s priemerom 2 mm.
  • 4 skrutky s priemerom 5 mm.
  • silný magnet.
  • sústružnícky modul. Opäť som použil vnútornú pohyblivú časť blikajúceho svetla. môžeš si dať čo chceš. Budete sa musieť postarať o to, aby sa 2 mobilné časti mohli voľne pohybovať bez toho, aby sa dotýkali.

Krok 2: Zostavenie krabice

Budovanie boxu
Budovanie boxu

V skutočnosti môžete mať škatuľu akéhokoľvek tvaru, ktorý chcete. Hlavnou vecou, na ktorú musíte pred štartom myslieť, je, kde budú pohyblivé časti, a zabezpečiť, aby sa mohli voľne pohybovať bez toho, aby sa dotýkali. Ďalším bodom je, kam chcete zariadenie umiestniť? Skončil som s magnetom (silným), aby som ho mohol prilepiť na akúkoľvek kovovú podložku. ak chcete postaviť rovnaké pole, môžete postupovať podľa pokynov v súbore box_drawings.pdf.

V takom prípade stačí odrezať všetky rôzne kusy, vytvoriť otvory pre servomotory, diódy LED, tlačidlo a skrutky a nakoniec všetky diely zlepiť. Akonáhle je suchý, trochu piesku a trochu farby.

Tieto dve vlajky boli vyrobené z červenej a zelenej lepenky. Na upevnenie stožiara vlajky na servomotory môžete použiť montážne diely, ktoré ste dostali pri ich kúpe.

Krok 3: Nastavenie Arduino

Nastavenie Arduino
Nastavenie Arduino

Položky pripojené k rozširujúcej doske Arduino sú:

  • PIN D2: tlačidlo.
  • PIN D4: LED dióda signalizujúca, že systém je ZAPNUTÝ.
  • PIN D5: LED dióda signalizujúca, že vykonávame cyklus.
  • PIN D6: LED dióda signalizujúca prijatie novej správy do zariadenia.
  • PIN D9: impulzný signál PWM pre servomotor ovládajúci gyroskop.
  • PIN D10: impulzný signál PWM pre servomotor ovládajúci vlajku.
  • Zásuvka XBee: jeden modul ZigBee.

Schéma vyššie ukazuje, ako sú všetky položky pripojené k doske.

Pri diódach LED je odpor a vodiče na ňom priamo zvárané (dbajte na polaritu). Všetko je potom zabalené do nejakého tepelne zaťahovacieho obalu.

Pri tlačidle sú všetky časti (tlačidlo, odpor a kondenzátor) priamo zvárané na malej satelitnej doske. Pásová doska je potom priamo pripevnená dvoma skrutkami (2 mm)

Servomotory pracujú s napätím 5 V, takže ich je možné pripojiť priamo k Arduinu. Ak používate tie s vyšším napätím (12V), budete musieť na napájanie pridať ďalšiu vrstvu.

Pokiaľ sú moduly XBee nakonfigurované tak, aby spolu hovorili (pozri nasledujúcu časť), môžu byť zapojené priamo do zásuviek.

Poznámky: LED diódy a tlačidlo mohli byť priamo pripojené k pinom Arduino, pretože môžu interne implementovať potrebné cenné papiere. Urobil som len starú cestu, pretože tento aspekt pre mňa nebol veľmi jasný.

Krok 4: Softvér - XCTU

Softvér - XCTU
Softvér - XCTU

Ako je uvedené vyššie, dve zariadenia XBee musia byť nakonfigurované tak, aby spolu hovorili. Na to musíte použiť špeciálny softvér X-CTU od DIGI. Tento krok konfigurácie musíte vykonať iba raz. postupujte podľa postupu popísaného v súbore xbee_configuration.pdf.

Po dokončení konfigurácie môžete každý modul pripojiť k svojej zásuvke. Jeden na prevodníku USB/Serial a jeden na rozširujúcej doske Arduino.

Prevodník USB/sériový port by mal systém Windows 10 automaticky rozpoznať. Ak nie, možno budete musieť manuálne nainštalovať ovládač

Poznámka:

Použitie modulov XBee na základnú sériovú komunikáciu je trochu zbytočné. V čase, keď som začínal s projektom, sa mi nepodarilo nájsť jednoduché zariadenia na sériovú komunikáciu, ktoré by boli ľahko použiteľné v systéme Windows 10 (problémy s ovládačom). Bola to tiež príležitosť dozvedieť sa pár vecí o

Krok 5: Softvér - Skica Arduino

Softvér - Skica Arduino
Softvér - Skica Arduino

Na programovanie Arduina používame IDE prístupné z oficiálnych webových stránok.

Logika programu je pomerne jednoduchá, iba počúva na predvolenom sériovom porte dosky jednotlivé písmená („a“, „b“, …). Ak sa prijatý znak zhoduje so známym príkazom, potom podfunkcia prehrá zodpovedajúcu sekvenciu.

2 hlavné užitočné príkazy sú animácia úspechu („a“) a chybová animácia („b“).

Aby ste si s boxom mohli trochu viac zahrať (alebo odladiť), je možné vykonať niekoľko príkazov navyše. Oni sú:

  • ‘O’: vynútite zapnutie LED diódy ON
  • ‘P’: vynútenie zhasnutia LED diódy ON
  • „Q“: prinúti svietiť kontrolku LED novej správy
  • „R“: prinúti zhasnúť kontrolku LED novej správy
  • „S“: prinúti rozsvietiť LED diódu cyklu
  • „T“: prinúti LEDku cyklu zhasnúť
  • ‘U’: aktivujte servomotor gyroskopu
  • „V“: aktivujte servomotor vlajky.

Okrem sériového príkazu existuje aj čiastková rutina (handlePushButton), ktorá sa aktivuje stlačením tlačidla na zariadení. V takom prípade sa animácia chyby alebo úspechu spustí automaticky. Táto funkcia umožňuje skontrolovať, či bolo fyzické zariadenie správne namontované.

Kód náčrtu Arduino je v jednom súbore bsldevice.ino. Môžete ho nahrať priamo pomocou IDE.

Krok 6: Software - desktopová aplikácia

Software - Desktopová aplikácia
Software - Desktopová aplikácia

Účelom desktopovej aplikácie je monitorovať webovú stránku Microsoft Azure DevOps (predtým VSTS) a zistiť, či je definícia zostavy úspešná alebo chybná. Vždy, keď je zostavenie dokončené, desktopová aplikácia určí stav zostavenia a odošle príslušný príkaz („a“alebo „b“) na sériový port (COMx).

Po spustení aplikácie je prvou úlohou vybrať správny port, ku ktorému je pripojený modul ZigBee. Na určenie portu môžete použiť Správcu zariadení Windows (v časti Porty (časť COM a LPT)). Pripojenie k Azure DevOps sa vykoná automaticky pri spustení pomocou poverení aktuálneho používateľa. Akýkoľvek preddefinovaný príkaz môžete tiež odoslať ručne pomocou kombinovaného poľa vpravo.

Všetky zdroje boli vygenerované v profesionálnej edícii Visual Studio 2017. Vyžaduje. NET Framework 4.6.1. Táto verzia Framework je vhodnejšia na uľahčenie pripojenia/autentifikácie k webovej stránke VSTS.

použit:

  • stiahnite si archív bslwatcher_sources.zip.
  • Rozbaľte ho na disk.
  • Podrobnosti o zostavení nájdete v súbore how_to_build.txt.

Krok 7: Prvý štart

Pri spustení boxu je potrebné mať na pamäti dve hlavné veci:

1- Neexistuje žiadny spôsob, akým by systém sám vedel, kde sú vlajky. Systém predpokladá, že pri spustení svieti zelená vlajka.

2- Pri zapínaní dosky Arduino by sa nemalo nič pohnúť. Pretože sme používali spojité serva, nulová poloha je v súbore náčrtu predvolene nastavená na 90. Ak sa servomotor začne otáčať alebo vydávať hluk. možno budete musieť nanovo definovať jej nulovú polohu. Na to stačí naladiť potenciometer v malom otvore na boku servomotora.

www.arduino.cc/en/Reference/ServoWrite

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

Krok 8: Záver

Toto malé zariadenie fyzicky nahlási stav vášho systému kontinuálnej integrácie.

Pretože „inteligencia“je v počítačovej aplikácii, môžete pole použiť na monitorovanie akéhokoľvek iného softvéru alebo procesu (pošta, snímač teploty …). Stačí mať prístup k inému rozhraniu API a rozhodnúť sa, čo je „dobré“alebo čo „zlé“. Ak nepoužívate konvenčné farby červenej a zelenej, môžete dokonca zmeniť význam „správy“.

Vylepšenia je možné priniesť aj do samotnej škatule:

  • Použite batériu.
  • Použite iný komunikačný protokol.
  • Pridajte senzory, aby ste vedeli, ktorý príznak je v hornej časti.

Dúfam, že vás tento projekt zaujal.

Ďakujem, že ste sa dočítali až sem.

Krok 9: Príloha

Niektoré z odkazov použitých na vytvorenie tohto projektu:

Web Arduino:

Webová stránka DIGI:

Softvér XCTU:

Niektoré informácie použité od ostatných:

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

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

www.mon-club-elec.fr/pmwiki_reference_ardui… (vo francúzštine)

jeromeabel.net/

Webová stránka MSDN vo všeobecnosti:

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

Odporúča: