Mündəricat:

Maşın İzləyicisi qurun: 9 addım
Maşın İzləyicisi qurun: 9 addım

Video: Maşın İzləyicisi qurun: 9 addım

Video: Maşın İzləyicisi qurun: 9 addım
Video: orik qaqa cellnen gorusdü 2024, Noyabr
Anonim
Maşın İzləyicisi qurun
Maşın İzləyicisi qurun
Maşın İzləyicisi qurun
Maşın İzləyicisi qurun

Bu layihənin başlanğıc nöqtəsi, mikro nəzarətçi lövhələri haqqında bir neçə şeyi öyrənmək üçün konkret bir layihə üzərində işləmək idi.

İlkin fikir, Davamlı İnteqrasiya Sistemini (VSTS | Azure DevOps) izləyə bilən və proqram qurma uğursuzluqlarını bildirən fiziki bir obyekt yaratmaq idi. İT şöbəsinin təhlükəsizliyi ilə əlaqədar olaraq, "standart olmayan" cihazı birbaşa müəssisə şəbəkəsinə bağlamaqdan imtina etdim.

Yuxarıdakı şəkildə göstərilən memarlıq ilə sona çatdım. İcra iş axını aşağıdakı kimi ümumiləşdirilə bilər:

Windows masa üstü tətbiqi VSTS Build Definitions tarar (çəkir). Quruluşun nəticələrini təhlil edir və sonra qırmızı və ya yaşıl bayrağı göstərməzdən əvvəl kiçik bir cizgi ardıcıllığını yerinə yetirən fiziki cihaza bir əmr göndərir.

Addım 1: Lazım olan hissələr

Aşağıdakı siyahı bütün lazımi maddələri ümumiləşdirir:

  • 1 Arduino UNO R3 (https://store.arduino.cc/usa/arduino-uno-rev3).
  • 1 Genişləndirmə Qalxanı (https://www.dfrobot.com/wiki/index.php/IO_Expansion_Shield_for_Arduino_V7_SKU:DFR0265).
  • 2 XBee S1 modulu (https://www.adafruit.com/product/128).
  • 1 XBee explorer dongle (https://www.sparkfun.com/products/11697).
  • Sabitləyici aksessuarları olan 2 davamlı 5VDC servo mühərrik (https://www.parallax.com/sites/default/files/downloads/900-00008-Continuous-Rotation-Servo-Documentation-v2.2.pdf).
  • 1 9VDC enerji təchizatı.
  • 3 LED.
  • 220 Ohm 3 rezistor.
  • termo geri çəkilə bilən qol.
  • 1 düymə.
  • 10KΩ çəkmə müqaviməti.
  • 100nF kondansatör.
  • elektrik naqilləri.
  • zolaq lövhəsi (düymənin quraşdırılması üçün)
  • 5 mm ağac (50x50 sm).
  • ağac çubuq kvadrat ölçü 5x5 mm (1m).
  • karton.
  • Çapı 2 mm olan 10 X vida.
  • 5 mm diametrli 4 vida.
  • güclü maqnit.
  • dönmə modulu. Yanıp sönən işığın daxili hərəkət hissəsini yenidən istifadə etdim. istədiyinizi qoya bilərsiniz. Yalnız 2 mobil hissənin bir -birinə toxunmadan sərbəst hərəkət etməsinə diqqət yetirməlisiniz.

Addım 2: Qutunun qurulması

Qutunun qurulması
Qutunun qurulması

Əslində istədiyiniz formada bir qutuya sahib ola bilərsiniz. Başlamadan əvvəl düşünməli olduğunuz əsas şey, hərəkət edən hissələrin harada olacağı və birlikdə toxunmadan sərbəst hərəkət etmələrini təmin etməkdir. Başqa bir məqam cihazı haraya qoyacağınızdır? Hər hansı bir metal dəstəyə yapışmaq üçün bir maqnit (güclü) ilə sona çatdım. eyni qutu qurmaq istəyirsinizsə, box_drawings.pdf faylındakı təlimatları izləyə bilərsiniz.

Bu vəziyyətdə, bütün fərqli parçaları kəsmək, servomotorlar, LEDlər, düymə və vintlər üçün deliklər açmaq və nəhayət bütün hissələri bir -birinə yapışdırmaq lazımdır. Quruduqdan sonra bir az zımpara və bir az rəng.

İki bayraq qırmızı və yaşıl kartondan hazırlanmışdır. Bayraq dirəyini servomotorlara düzəltmək üçün satın aldığınız zaman montaj hissələrindən istifadə edə bilərsiniz.

Addım 3: Arduino Quraşdırması

Arduino Quraşdırması
Arduino Quraşdırması

Arduino genişləndirmə lövhəsinə bağlı olanlar aşağıdakılardır:

  • D2 PIN: basma düyməsi.
  • D4 PIN: sistemin AÇIQ olduğunu bildirən LED.
  • D5 PIN: bir dövrəni icra etdiyimizi bildirən LED.
  • D6 PIN: cihazın yeni bir mesaj aldığını bildirən LED.
  • D9 PIN: girro ilə işləyən servomotor üçün PWM nəbz siqnalı.
  • D10 PIN: bayrağı idarə edən servomotor üçün PWM nəbz siqnalı.
  • XBee Socket: bir ZigBee Modulu.

Yuxarıdakı sxem bütün elementlərin lövhəyə necə bağlı olduğunu göstərir.

LEDlər üçün rezistor və tellər birbaşa qaynaqlanır (polariteye diqqət yetirin). Hər şey daha sonra termo geri çəkilə bilən bir qolun içərisinə yığılır.

Düymə üçün bütün hissələr (düymə, rezistor və kondansatör) birbaşa kiçik bir peyk lövhəsində qaynaqlanır. Şerit lövhə iki vida ilə (2 mm) birbaşa sabitlənir.

Servo motorlar 5V gücündə işləyir, beləliklə birbaşa Arduino -ya qoşula bilərlər. Daha yüksək gərginlikli (12V) olanlardan istifadə edirsinizsə, enerji təchizatı üçün başqa bir qat əlavə etməli olacaqsınız.

XBee modulları üçün, birlikdə danışmaq üçün konfiqurasiya edildikdən sonra (növbəti hissəyə baxın), birbaşa prizlərə qoşula bilərlər.

Qeydlər: LEDlər və düymə birbaşa Arduino pinlərinə bağlana bilərdi, çünki daxili qiymətli kağızları həyata keçirə bilər. Bu cəhət mənim üçün çox aydın olmadığı üçün köhnə üsulu etdim.

Addım 4: Proqram təminatı - XCTU

Proqram təminatı - XCTU
Proqram təminatı - XCTU

Yuxarıda qeyd edildiyi kimi, iki XBee cihazı birlikdə danışmaq üçün konfiqurasiya edilməlidir. Bunu etmək üçün DIGI-nin xüsusi X-CTU proqramından istifadə etməlisiniz. Bu konfiqurasiya addımını yalnız bir dəfə etməlisiniz. xbee_configuration.pdf faylında təsvir olunan prosedura əməl edin.

Konfiqurasiya bitdikdən sonra hər bir modulu öz yuvasına qoşa bilərsiniz. Biri USB/Serial çeviricisində, biri də Arduino uzantı lövhəsində.

USB/Serial çeviricisi avtomatik olaraq Windows 10 tərəfindən tanınmalıdır. Əgər belə deyilsə, sürücünü əl ilə quraşdırmalısınız

Qeyd:

Əsas bir serial ünsiyyət qurmaq üçün XBee modullarından istifadə etmək bir az çox işdir. Layihəyə başladığım anda Windows 10 -da asanlıqla istifadə edilə bilən sadə serial rabitə cihazlarını tapa bilmədim (sürücü problemləri). Həm də https://www.zigbee.org haqqında bir neçə şey öyrənmək üçün bir fürsət idi

Addım 5: Proqram təminatı - Arduino Sketch

Proqram təminatı - Arduino Sketch
Proqram təminatı - Arduino Sketch

Arduino proqramlaşdırmaq üçün rəsmi internet saytından əldə edilə bilən IDE -dən istifadə edirik.

Proqramın məntiqi olduqca sadədir, yalnız hərflər üçün lövhənin standart seriya portunu dinləyir ('a', 'b', …). Alınan simvol bilinən bir əmrə uyğun gəlirsə, alt funksiya müvafiq ardıcıllığı yerinə yetirir.

2 əsas faydalı əmr müvəffəqiyyət animasiyası ('a') və səhv animasiyası ('b').

Qutuda bir az daha çox oynaya bilmək (və ya ayıklama) etmək üçün icra edilə bilən bəzi əlavə əmrlər var. Onlar:

  • 'O': ON LEDini AÇIQ etməyə məcbur edin
  • 'P': ON LEDini söndürməyə məcbur edin
  • 'Q': Yeni Mesaj LEDini AÇIQ etməyə məcbur edin
  • 'R': Yeni Mesaj LEDini söndürməyə məcbur edin
  • 'S': Dövr LEDini AÇIQ etməyə məcbur edin
  • 'T': Dövr LEDini söndürməyə məcbur edin
  • 'U': gironun servomotorunu işə salın
  • 'V': bayrağın servomotorunu işə salın.

Serial əmrinə əlavə olaraq, cihazda düyməyə basıldıqda aktiv olan bir alt prosedur (handlePushButton) var. Bu vəziyyətdə səhv və ya müvəffəqiyyət animasiyası avtomatik olaraq oynanılır. Bu xüsusiyyət fiziki cihazın düzgün quraşdırıldığını yoxlamağa imkan verir.

Arduino eskizinin kodu bsldevice.ino tək sənədindədir. IDE istifadə edərək birbaşa yükləyə bilərsiniz.

Addım 6: Proqram təminatı - Masaüstü tətbiqi

Proqram təminatı - Masaüstü tətbiqi
Proqram təminatı - Masaüstü tətbiqi

Masaüstü tətbiqinin məqsədi Microsoft Azure DevOps (əvvəllər VSTS) veb saytını izləmək və bir Build Definition -ın uğurlu və ya səhv olduğunu aşkar etməkdir. Hər bir tikinti başa çatdıqda, masa üstü tətbiq quruluşun vəziyyətini təyin edir və müvafiq əmri ('a' və ya 'b') serial portuna (COMx) göndərir.

Tətbiqi işə saldıqdan sonra ilk hərəkət, ZigBee modulunun bağlandığı doğru com portunu seçməkdir. Limanı müəyyən etmək üçün Windows Cihaz Menecerindən istifadə edə bilərsiniz (Limanlar (COM və LPT bölməsi) altında). Azure DevOps ilə əlaqə, mövcud istifadəçinin etimadnaməsini istifadə edərək işə salındıqda avtomatik olaraq həyata keçirilir. Sağdakı açılan qutudan istifadə edərək əvvəlcədən təyin edilmiş hər hansı bir əmri əl ilə də göndərə bilərsiniz.

Bütün mənbələr Visual Studio 2017 professional nəşri ilə yaradılmışdır. NET Framework 4.6.1 tələb edir. VSTS veb saytı ilə əlaqəni/identifikasiyanı asanlaşdırmaq üçün bu Çərçivə versiyasına üstünlük verilir.

istifadə etmək:

  • bslwatcher_sources.zip arxivini yükləyin.
  • Diskinizə çıxarın.
  • Quruluş təfərrüatları üçün how_to_build.txt faylını oxuyun.

Addım 7: İlk Başlayın

Qutunu işə salarkən iki əsas məqamı nəzərə almaq lazımdır:

1- Sistemin bayraqların harada olduğunu təkbaşına bilməsinin heç bir yolu yoxdur. Sistem, başlanğıcda yaşıl bayrağın yüksəldiyini güman edir.

2- Arduino lövhəsini işə salanda heç nə hərəkət etməməlidir. Davamlı servolardan istifadə etdiyimiz üçün eskiz sənədində sıfır mövqeyi standart olaraq 90 olaraq təyin olunur. Bir servomotor dönməyə və ya səs -küy salmağa başlayırsa. sıfır mövqeyini yenidən təyin etməli ola bilərsiniz. Bunun üçün potomiometrini servomotorun yanındakı kiçik çuxurun içərisinə kökləməlisiniz.

www.arduino.cc/en/Reference/ServoWrite

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

Addım 8: Nəticə

Bu kiçik cihaz Davamlı İnteqrasiya Sisteminizin vəziyyətini fiziki olaraq bildirəcək.

"Kəşfiyyat" masa üstü tətbiqetmədə olduğu üçün hər hansı digər proqramı və ya prosesi (poçt, temperatur sensoru …) izləmək üçün qutudan istifadə edə bilərsiniz. Başqa bir API -yə daxil olmalı və nəyin "yaxşı" və ya "pis" olduğuna qərar verməlisiniz. Qırmızı və yaşıl rənglərdən istifadə etməsəniz, "mesaj" ın mənasını da dəyişə bilərsiniz.

Təkmilləşdirmələr qutunun özünə də gətirilə bilər:

  • Batareya istifadə edin.
  • Başqa bir əlaqə protokolu istifadə edin.
  • Hansı bayrağın yuxarıda olduğunu bilmək üçün sensorlar əlavə edin.

Ümid edirik ki, bu layihə sizə maraqlı gəldi.

Bura qədər oxuduğunuz üçün təşəkkürlər.

Addım 9: Əlavə

Bu layihəni yaratmaq üçün istifadə olunan bəzi bağlantılar:

Arduino veb saytı:

DIGI veb saytı:

XCTU proqramı:

Başqalarından istifadə olunan bəzi məlumatlar:

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

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

www.mon-club-elec.fr/pmwiki_reference_ardui… (Fransız dilində)

jeromeabel.net/

Ümumiyyətlə MSDN veb saytı:

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

Tövsiyə: