Indholdsfortegnelse:
- Trin 1: Nødvendige dele
- Trin 2: Bygning af kassen
- Trin 3: Arduino -opsætning
- Trin 4: Software - XCTU
- Trin 5: Software - Arduino Sketch
- Trin 6: Software - Desktop -applikation
- Trin 7: Første start
- Trin 8: Konklusion
- Trin 9: Bilag
Video: Byg Machine Watcher: 9 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Udgangspunktet for dette projekt var at arbejde på et konkret projekt for at lære et par ting om mikro-controller boards.
Den oprindelige idé var at oprette et fysisk objekt, der kunne overvåge et kontinuerligt integrationssystem (VSTS | Azure DevOps) og rapportere fejl i softwarebyggeri. På grund af sikkerhedshensyn fra IT -afdelingen er jeg blevet nægtet at tilslutte en "ikke -standard" enhed direkte til virksomhedsnetværket.
Jeg endte med arkitektur vist på billedet ovenfor. Udførelsesarbejdsgangen kan opsummeres som:
Et Windows -skrivebordsprogram scanner (pull) VSTS Build Definitions. Det analyserer resultaterne af bygningen og sender derefter en kommando til den fysiske enhed, der udfører en lille animeret sekvens, før den enten viser det røde eller det grønne flag.
Trin 1: Nødvendige dele
Følgende liste opsummerer alle de nødvendige elementer:
- 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 XBee S1 -moduler (https://www.adafruit.com/product/128).
- 1 XBee explorer dongle (https://www.sparkfun.com/products/11697).
- 2 kontinuerlige servomotorer 5VDC med fastgørelsestilbehør (https://www.parallax.com/sites/default/files/downloads/900-00008-Continuous-Rotation-Servo-Documentation-v2.2.pdf).
- 1 9VDC strømforsyning.
- 3 lysdioder.
- 3 modstande 220 Ohm.
- termo udtrækkeligt ærme.
- 1 trykknap.
- 10KΩ trækmodstand til pull up.
- 100nF kondensator.
- elektriske ledninger.
- strip-board (til montering af knappen)
- 5 mm træ (50x50cm).
- træpind firkantet sektion 5x5 mm (1m).
- pap.
- 10 X skrue 2 mm diameter.
- 4 skruer 5 mm diameter.
- stærk magnet.
- drejemodul. Jeg genbrugte den indre bevægelige del af et blinkende lys. du kan lægge hvad du vil. Du skal bare passe på, at de 2 mobile dele kan bevæge sig frit uden at røre hinanden.
Trin 2: Bygning af kassen
Faktisk kan du have en æske, uanset hvilken form du ønsker. De vigtigste ting at tænke på inden start er, hvor de bevægelige dele skal være, og at sikre, at de kan bevæge sig frit uden at røre hinanden. Et andet punkt er, hvor du vil placere enheden? Jeg endte med en magnet (stærk) for at holde den til enhver metallisk støtte. Hvis du vil bygge den samme boks, kan du følge instruktionerne i filen box_drawings.pdf.
I så fald skal du bare skære alle de forskellige stykker, lave hullerne til servomotorer, lysdioderne, knappen og skruerne og til sidst lime alle delene sammen. Når det er tørt, lidt slibning og lidt farve.
De to flag er lavet med noget rødt og grønt pap. For at fastgøre flagmasten på servomotorer kan du bruge de medfølgende monteringsdele, når du køber dem.
Trin 3: Arduino -opsætning
De emner, der er forbundet til Arduino -forlængerkortet, er:
- D2 PIN: trykknappen.
- D4 PIN: LED'en for at sige, at systemet er tændt.
- D5 PIN: LED'en siger, at vi udfører en cyklus.
- D6 PIN: LED'en for at sige, at enheden har modtaget en ny besked.
- D9 PIN: PWM -pulssignalet for servomotoren, der håndterer gyroen.
- D10 PIN: PWM -pulssignalet for servomotoren, der håndterer flaget.
- XBee -fatning: et ZigBee -modul.
Ovenstående skematisk viser, hvordan alle emner er forbundet til kortet.
For lysdioderne er modstanden og ledningerne svejset direkte på den (pas på polariteten). Alt pakkes derefter i et termo -udtrækkeligt ærme.
Til trykknappen er alle dele (knap, modstand og kondensator) svejset direkte på et lille satellitbånd. Strip-boardet fastgøres derefter direkte med to skruer (2 mm)
Servomotorer arbejder med 5V strøm, de kan dermed tilsluttes direkte til Arduino. Hvis du bruger dem med højere spænding (12V), skal du tilføje endnu et lag til strømforsyningen.
For XBee -modulerne, når de er konfigureret til at tale sammen (se næste afsnit), kan de sættes direkte i stikkontakterne.
Bemærkninger: Lysdioderne og trykknappen kunne have været forbundet direkte til Arduino -benene, da det internt kan implementere de nødvendige værdipapirer. Jeg gjorde bare den gamle måde, da dette aspekt ikke var særlig klart for mig.
Trin 4: Software - XCTU
Som nævnt ovenfor skal de to XBee -enheder konfigureres til at tale sammen. For at gøre det skal du bruge den dedikerede X-CTU-software fra DIGI. Du skal kun udføre dette konfigurationstrin én gang. Følg venligst proceduren beskrevet i filen xbee_configuration.pdf.
Når konfigurationen er udført, kan du tilslutte hvert modul til deres stik. En på USB/seriel konverter og en på Arduino forlængerkortet.
USB/seriel konverter skal genkendes automatisk af Windows 10. Hvis det ikke er det, skal du muligvis installere driveren manuelt
Bemærk:
At bruge XBee -moduler til at foretage en grundlæggende seriel kommunikation er lidt overkill. På det tidspunkt, jeg startede projektet, lykkedes det mig ikke at finde enkle serielle kommunikationsenheder, der let kunne bruges på Windows 10 (driverproblemer). Det var også en mulighed for at lære et par ting om
Trin 5: Software - Arduino Sketch
For at programmere Arduino bruger vi IDE, der er tilgængelig fra det officielle websted.
Programmets logik er temmelig enkel, det lytter bare på standardkortets serielle port til enkelte bogstaver ('a', 'b', …). Hvis det modtagne tegn matcher en kendt kommando, afspiller en underfunktion den tilsvarende sekvens.
De 2 vigtigste nyttige kommandoer er succesanimation ('a') og fejlanimation ('b').
For at kunne spille (eller debugging) lidt mere med boksen er der nogle ekstra kommandoer, der kan udføres. De er:
- ‘O’: tving ON -LED’en til at være TÆNDT
- ‘P’: tving ON -LED’en til at være OFF
- 'Q': tving LED'en Ny besked til at være TÆNDT
- 'R': tving LED'en for ny besked til at være OFF
- 'S': tving cyklus -LED'en til at være tændt
- 'T': tving cyklus -LED'en til at være OFF
- ‘U’: aktiver gyroens servomotor
- ‘V’: aktiver flagets servomotor.
Ud over den serielle kommando er der en underrutine (handlePushButton), der aktiveres, når der trykkes på trykknappen på enheden. I så fald afspilles fejl- eller succesanimationen automatisk. Denne funktion gør det muligt at kontrollere, at den fysiske enhed er monteret korrekt.
Koden for Arduino -skitsen er i den enkelt fil bsldevice.ino. Du kan uploade det direkte ved hjælp af IDE.
Trin 6: Software - Desktop -applikation
Formålet med skrivebordsprogrammet er at overvåge Microsoft Azure DevOps (tidligere VSTS) websted og at opdage, om en Build Definition er vellykket eller fejl. Hver gang en build er færdig, bestemmer desktop -applikationen status for buildet og sender den tilhørende kommando ('a' eller 'b') til den serielle port (COMx).
Efter start af applikationen er den første handling at vælge den rigtige com -port, som ZigBee -modulet er tilsluttet. For at bestemme porten kan du bruge Windows Device Manager (under porte (COM & LPT -sektion)). Forbindelsen til Azure DevOps udføres automatisk ved opstart ved hjælp af legitimationsoplysninger for den aktuelle bruger. Du kan også sende enhver foruddefineret kommando manuelt ved hjælp af kombinationsboksen til højre.
Alle kilder er blevet genereret med Visual Studio 2017 professional edition. Det kræver. NET Framework 4.6.1. Denne version af Framework foretrækkes for at lette forbindelsen/godkendelsen til VSTS -webstedet.
at bruge:
- download arkivet bslwatcher_sources.zip.
- Udpak det på din disk.
- Læs how_to_build.txt -filen for detaljer om build.
Trin 7: Første start
Der er to hoved ting, du skal huske på, når du starter boksen:
1- Der er ingen måde for systemet selv at vide, hvor flagene er. Systemet antager, at det grønne flag er ved opstart.
2- Ved opstart af Arduino-kortet bør intet bevæge sig. Da vi brugte kontinuerlige servoer, er nulpositionen som standard sat til 90 i skitsefilen. Hvis en servomotor begynder at dreje eller støje. du skal muligvis omdefinere sin nulposition. For at gøre det skal du bare indstille potentiometeret i det lille hul på siden af servomotoren.
www.arduino.cc/en/Reference/ServoWrite
cmra.rec.ri.cmu.edu/content/electronics/boe…
Trin 8: Konklusion
Denne lille enhed vil fysisk rapportere status for dit kontinuerlige integrationssystem.
Da "intelligensen" er i skrivebordsprogrammet, kan du bruge boksen til at overvåge enhver anden software eller proces (mail, en temperatursensor …). Du skal bare have adgang til en anden API og beslutte, hvad der er "godt" eller hvad der er "dårligt". Hvis du ikke bruger røde og grønne konventionelle farver, kan du endda ændre betydningen af "beskeden".
Forbedringer kunne også bringes til selve kassen:
- Brug et batteri.
- Brug en anden kommunikationsprotokol.
- Tilføj sensorer for at vide, hvilket flag der er øverst.
Håber du fandt dette projekt interessant.
Tak fordi du læste op til her.
Trin 9: Bilag
Nogle af de links, der bruges til at oprette dette projekt:
Arduino -websted:
DIGI-websted:
XCTU-software:
Nogle oplysninger brugt fra andre:
arduino.stackexchange.com/questions/1321/se…
stackoverflow.com/questions/10399400/best-w…
www.mon-club-elec.fr/pmwiki_reference_ardui… (på fransk)
jeromeabel.net/
MSDN -websted generelt:
docs.microsoft.com/en-us/dotnet/framework/…
Anbefalede:
Byg en Arduino MIDI -controller: 5 trin (med billeder)
Byg en Arduino MIDI -controller: Hej alle sammen! I denne instruktive vil jeg vise dig, hvordan du bygger din egen Arduino -drevne MIDI -controller. MIDI står for Musical Instrument Digital Interface, og det er en protokol, der gør det muligt for computere, musikinstrumenter og anden hardware at kommunikere
Hot Seat: Byg en farveskiftende opvarmet pude: 7 trin (med billeder)
Hot Seat: Byg en farveskiftende opvarmet pude: Vil du holde dig toasty på kolde vinterdage? Hot Seat er et projekt, der bruger to af de mest spændende e -tekstilmuligheder - farveændring og varme! Vi bygger en sædehynde, der varmer op, og når den er klar til at gå, afslører den
Byg en personlig aktivitetslogger: 6 trin
Byg en personlig aktivitetslogger: Min ven fra London, Paul, ønskede at finde en måde at spore sin mad, aktivitet og placering på et enkelt instrumentbræt. Det var da han kom på ideen om at oprette en simpel webformular, der ville sende data til et dashboard. Han ville lægge både webformularen og
Byg en bærbar bevægelsessporer (BLE fra Arduino til en brugerdefineret Android Studio App): 4 trin
Byg en bærbar bevægelsessporer (BLE fra Arduino til en brugerdefineret Android Studio App): Bluetooth Low Energy (BLE) er en form for lavstrøm Bluetooth -kommunikation. Bærbare enheder, ligesom de smarte beklædningsgenstande, jeg hjælper med at designe på Predictive Wear, skal begrænse strømforbruget, hvor det er muligt, for at forlænge batteriets levetid og ofte bruge BLE
Twitter Watcher, #twatch: 6 trin (med billeder)
Twitter Watcher, #twatchet: #watchet ruller de nyeste trendemner fra Twitter på en LCD -skærm. Det er et enkeltstående netværksapparat, der forbliver opdateret uden en pc. Det var fantastisk at se #iranelection, Michael Jackson og andre historiske begivenheder rulle forbi, mens vi