Sisukord:

Masina jälgija ehitamine: 9 sammu
Masina jälgija ehitamine: 9 sammu

Video: Masina jälgija ehitamine: 9 sammu

Video: Masina jälgija ehitamine: 9 sammu
Video: СЕЛЬСКИЙ МУЖИК на ВАЗ 2108 против ПОНТОРЕЗОВ на МАЖОРНЫХ СПОРТКАРАХ !!! 2024, November
Anonim
Ehitage masinate jälgija
Ehitage masinate jälgija
Ehitage masinate jälgija
Ehitage masinate jälgija

Selle projekti lähtepunktiks oli töötada konkreetse projekti kallal, et õppida mõningaid asju mikrokontrollerite plaatide kohta.

Esialgne idee oli luua füüsiline objekt, mis suudaks jälgida pidevat integratsioonisüsteemi (VSTS | Azure DevOps) ja teatada tarkvaraehituse tõrgetest. IT -osakonna turvaprobleemide tõttu on mulle keeldutud ühendamast "mittestandardset" seadet otse ettevõtte võrku.

Lõpetasin ülaltoodud pildil näidatud arhitektuuriga. Täitmise töövoo võib kokku võtta järgmiselt:

Windowsi töölauarakendus skannib (tõmbab) VSTS -i koostamise määratlusi. See analüüsib koostamise tulemusi ja saadab enne punase või rohelise lipu kuvamist käsu füüsilisele seadmele, mis käivitab väikese animeeritud jada.

Samm: vajalikud osad

Järgmine loend võtab kokku kõik vajalikud elemendid:

  • 1 Arduino UNO R3 (https://store.arduino.cc/usa/arduino-uno-rev3).
  • 1 laienduskilp (https://www.dfrobot.com/wiki/index.php/IO_Expansion_Shield_for_Arduino_V7_SKU:DFR0265).
  • 2 XBee S1 moodulit (https://www.adafruit.com/product/128).
  • 1 XBee Exploreri dongle (https://www.sparkfun.com/products/11697).
  • 2 pidevat servomootorit 5VDC koos kinnitustarvikutega (https://www.parallax.com/sites/default/files/downloads/900-00008-Continuous-Rotation-Servo-Documentation-v2.2.pdf).
  • 1 9VDC toiteallikas.
  • 3 LED -i.
  • 3 takistit 220 oomi.
  • termo sissetõmmatav varrukas.
  • 1 vajutusnupp.
  • 10KΩ tõmbetakistus tõmbamiseks.
  • 100 nF kondensaator.
  • elektrijuhtmed.
  • ribaplaat (nupu kinnitamiseks)
  • 5 mm puit (50 x 50 cm).
  • puupulga ruudukujuline osa 5x5 mm (1m).
  • papp.
  • 10 X kruvi 2 mm läbimõõduga.
  • 4 kruvi läbimõõduga 5 mm.
  • tugev magnet.
  • pöördemoodul. Kasutasin vilkuva tule sisemist liikuvat osa uuesti. võid panna mida tahad. Peate lihtsalt hoolitsema selle eest, et kaks liikuvat osa saaksid vabalt liikuda ilma üksteist puudutamata.

2. samm: kasti ehitamine

Kasti ehitamine
Kasti ehitamine

Tegelikult võib teil olla mis tahes kujuga kast. Peamised asjad, millele enne alustamist mõelda, on see, kus asuvad liikuvad osad ja et need saaksid vabalt liikuda ilma kokku puutumata. Teine punkt on see, kuhu te seadme panete? Lõpetasin magnetiga (tugeva), et kleepida see mis tahes metalltoele. kui soovite luua sama kasti, saate järgida failis box_drawings.pdf olevaid juhiseid.

Sel juhul peate lihtsalt lõikama kõik erinevad tükid, tegema augud servomootoritele, valgusdioodidele, nupule ja kruvidele ning lõpuks kõik osad kokku liimima. Kui see on kuiv, natuke lihvimist ja natuke värvi.

Kaks lippu on valmistatud punase ja rohelise papi abil. Servomootorite lipumasti kinnitamiseks võite kasutada ostmisel kaasasolevaid kinnitusosi.

Samm: Arduino seadistamine

Arduino seadistamine
Arduino seadistamine

Arduino laiendusplaadiga ühendatud üksused on järgmised:

  • D2 PIN: vajutusnupp.
  • D4 PIN: LED, mis näitab, et süsteem on sisse lülitatud.
  • D5 PIN: LED, mis ütleb, et teeme tsükli.
  • D6 PIN: LED, mis näitab, et seade on saanud uue teate.
  • D9 PIN: PWM -impulssignaal güroskoopi käsitsevale servomootorile.
  • D10 PIN: PWM impulssignaal lipu käsitsevale servomootorile.
  • XBee pesa: üks ZigBee moodul.

Ülaltoodud skeem näitab, kuidas kõik üksused on plaadiga ühendatud.

LED -ide jaoks on takisti ja juhtmed sellele otse keevitatud (hoolitsege polaarsuse eest). Seejärel pakitakse kõik termotõmmatavasse varrukasse.

Vajutusnupu jaoks keevitatakse kõik osad (nupp, takisti ja kondensaator) otse väikesele satelliitribalauale. Seejärel kinnitatakse ribaplaat otse kahe kruviga (2 mm)

Servomootorid töötavad 5 V toitega, seega saab need ühendada otse Arduinoga. Kui kasutate kõrgema pingega (12V) seadmeid, peate toiteallika jaoks lisama teise kihi.

XBee moodulite puhul, kui need on omavahel rääkimiseks konfigureeritud (vt järgmist jaotist), saab need otse pistikupesadesse ühendada.

Märkused: LEDid ja nupp oleks võinud olla otse Arduino tihvtidega ühendatud, kuna see võib sisemiselt rakendada vajalikke väärtpabereid. Tegin lihtsalt vanaviisi, kuna see aspekt ei olnud minu jaoks väga selge.

Samm 4: Tarkvara - XCTU

Tarkvara - XCTU
Tarkvara - XCTU

Nagu eespool mainitud, tuleb kaks XBee seadet konfigureerida koos rääkima. Selleks peate kasutama DIGI spetsiaalset X-CTU tarkvara. Seda konfigureerimisetappi peate tegema ainult üks kord. palun järgige failis xbee_configuration.pdf kirjeldatud protseduuri.

Kui konfigureerimine on tehtud, saate iga mooduli oma pistikupessa ühendada. Üks USB-/jadamuunduril ja teine Arduino laiendusplaadil.

Windows 10. peaks USB/jadamuunduri automaatselt ära tundma. Kui see pole nii, peate võib -olla draiveri käsitsi installima

Märge:

XBee moodulite kasutamine baasjadaühenduse tegemiseks on natuke liialdus. Projekti alustamise ajal ei õnnestunud mul leida lihtsaid jadaseadmeid, mida oleks hõlpsasti Windows 10 -s kasutada (draiveriprobleemid). See oli ka võimalus õppida mõnda asja https://www.zigbee.org kohta

Samm 5: Tarkvara - Arduino Sketch

Tarkvara - Arduino Sketch
Tarkvara - Arduino Sketch

Arduino programmeerimiseks kasutame IDE -d, mis on saadaval ametlikul veebisaidil.

Programmi loogika on üsna lihtne, see kuulab lihtsalt tahvli vaikimisi jadapordi üksikute tähtede jaoks („a”, „b”,…). Kui vastuvõetud märk vastab teadaolevale käsule, mängib alamfunktsioon vastavat jada.

Kaks peamist kasulikku käsku on eduanimatsioon („a”) ja veaanimatsioon („b”).

Selleks, et karbiga veidi rohkem mängida (või silumist) saaksite, on võimalik täita mõningaid lisakäske. Nemad on:

  • „O”: sundige SISSE LED -tuli põlema
  • „P”: sundige SISSE -LED välja lülitama
  • „Q”: sundige uue teate LED -tuli põlema
  • „R”: sundige uue sõnumi LED välja lülitama
  • „S”: sundige tsüklituli põlema
  • "T": sundige tsüklituli välja lülitama
  • "U": aktiveerige güroskoopi servomootor
  • "V": aktiveerige lipu servomootor.

Lisaks seeriakäsklusele on olemas ka alamrutiin (handlePushButton), mis aktiveeritakse seadme nupule vajutamisel. Sel juhul esitatakse vea või edu animatsioon automaatselt. See funktsioon võimaldab kontrollida, kas füüsiline seade on õigesti paigaldatud.

Arduino visandi kood on ühes failis bsldevice.ino. Saate selle otse IDE abil üles laadida.

6. samm: tarkvara - töölauarakendus

Tarkvara - töölauarakendus
Tarkvara - töölauarakendus

Töölauarakenduse eesmärk on jälgida Microsofti Azure DevOps (varem VSTS) veebisaiti ja tuvastada, kas ehitise määratlus on edukas või vigane. Iga kord, kui ehitamine on lõpetatud, määrab töölauarakendus järgu oleku ja saadab vastava käsu („a” või „b”) jadaporti (COMx).

Pärast rakenduse käivitamist tuleb kõigepealt valida õige komport, millega ZigBee moodul on ühendatud. Pordi määramiseks võite kasutada Windowsi seadmehaldurit (jaotises Pordid (jaotis COM ja LPT)). Ühendus Azure DevOpsiga luuakse käivitamisel automaatselt, kasutades praeguse kasutaja volitusi. Paremal asuva liitkasti abil saate mis tahes eelmääratud käsu ka käsitsi saata.

Kõik allikad on loodud Visual Studio 2017 professionaalse väljaandega. See nõuab. NET Framework 4.6.1. See raamistiku versioon on eelistatav VSTS -i veebisaidiga ühenduse loomise/autentimise hõlbustamiseks.

kasutada:

  • laadige alla arhiiv bslwatcher_sources.zip.
  • Eemaldage see oma kettalt.
  • Lugege ehituse üksikasju failist how_to_build.txt.

Samm: esimene käivitamine

Kasti käivitamisel tuleb silmas pidada kahte peamist asja:

1- Süsteemil ei ole võimalik teada saada, kus lipud on. Süsteem eeldab, et käivitamisel on roheline lipp üleval.

2- Arduino plaadi sisselülitamisel ei tohiks midagi liikuda. Kuna kasutasime pidevaid servosid, on nullpositsioon visandifailis vaikimisi seatud 90 -le. Kui servomootor hakkab pöörlema või tekitab müra. peate võib-olla selle nullpositsiooni uuesti määratlema. Selleks peate lihtsalt häälestama potentsiomeetri servomootori küljel olevas väikeses augus.

www.arduino.cc/en/Reference/ServoWrite

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

8. samm: järeldus

See väike seade teatab füüsiliselt teie pideva integratsioonisüsteemi olekust.

Kuna "luure" on töölauarakenduses, saate kasti kasutada mis tahes muu tarkvara või protsessi (meil, temperatuuriandur …) jälgimiseks. Teil peab olema juurdepääs mõnele teisele API -le ja otsustada, mis on hea või mis halb. Kui te ei kasuta punast ja rohelist konventsioonivärvi, saate isegi "sõnumi" tähendust muuta.

Parandusi võib tuua ka kasti enda jaoks:

  • Kasutage akut.
  • Kasutage teist suhtlusprotokolli.
  • Lisage andureid, et teada saada, milline lipp on ülaosas.

Loodan, et leidsite selle projekti huvitavaks.

Aitäh, et siiani lugesite.

9. etapp: lisa

Mõned selle projekti loomiseks kasutatud lingid:

Arduino veebisait:

DIGI veebisait:

XCTU tarkvara:

Mõnda teavet kasutatakse teistelt:

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

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

www.mon-club-elec.fr/pmwiki_reference_ardui… (prantsuse keeles)

jeromeabel.net/

MSDN veebisait üldiselt:

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

Soovitan: