Mundarija:

Mashina kuzatuvchisini yaratish: 9 qadam
Mashina kuzatuvchisini yaratish: 9 qadam

Video: Mashina kuzatuvchisini yaratish: 9 qadam

Video: Mashina kuzatuvchisini yaratish: 9 qadam
Video: Лунное затмение, октябрь 2023 г. | Предсказания Ведической Астрологии #lunareclipse #eclipse 2024, Iyul
Anonim
Mashina kuzatuvchisini yaratish
Mashina kuzatuvchisini yaratish
Mashina kuzatuvchisini yaratish
Mashina kuzatuvchisini yaratish

Ushbu loyihaning boshlang'ich nuqtasi mikro-boshqaruv platalari haqida bir necha narsalarni o'rganish uchun aniq loyiha ustida ishlash edi.

Dastlabki g'oya, uzluksiz integratsiya tizimini (VSTS | Azure DevOps) kuzatib boradigan va dasturiy ta'minot tuzilishidagi nosozliklar haqida xabar beradigan jismoniy ob'ektni yaratish edi. AT bo'limining xavfsizlik nuqtai nazaridan men "standart bo'lmagan" qurilmani to'g'ridan -to'g'ri korporativ tarmoqqa ulashdan bosh tortdim.

Men yuqoridagi rasmda ko'rsatilgan arxitektura bilan yakun topdim. Ish jarayonini quyidagicha umumlashtirish mumkin.

Windows ish stoli ilovasi VSTS Build ta'riflarini skanerlaydi (tortadi). U qurilish natijalarini tahlil qiladi, so'ngra qizil yoki yashil bayroqni ko'rsatmasdan oldin biroz jonlantirilgan ketma -ketlikni bajaradigan jismoniy qurilmaga buyruq yuboradi.

1 -qadam: kerakli qismlar

Quyidagi ro'yxat barcha kerakli narsalarni o'z ichiga oladi:

  • 1 Arduino UNO R3 (https://store.arduino.cc/usa/arduino-uno-rev3).
  • 1 Kengaytirish qalqoni (https://www.dfrobot.com/wiki/index.php/IO_Expansion_Shield_for_Arduino_V7_SKU:DFR0265).
  • 2 ta XBee S1 moduli (https://www.adafruit.com/product/128).
  • 1 XBee kashfiyotchi dasturi (https://www.sparkfun.com/products/11697).
  • O'rnatish aksessuarlari bo'lgan 5VDC ikkita uzluksiz servo motorlar (https://www.parallax.com/sites/default/files/downloads/900-00008-Continuous-Rotation-Servo-Documentation-v2.2.pdf).
  • 1 9VDC quvvat manbai.
  • 3 ta LED.
  • 3 rezistor 220 Ohm.
  • termo tortiladigan qisma.
  • 1 tugma.
  • 10KΩ tortish qarshiligi.
  • 100nF kondansatör.
  • elektr simlari.
  • lenta taxtasi (tugmani o'rnatish uchun)
  • 5 mm yog'och (50x50 sm).
  • yog'och tayoq kvadrat qismi 5x5 mm (1m).
  • karton.
  • Diametri 2 mm bo'lgan 10 X vint.
  • Diametri 5 mm bo'lgan 4 vint.
  • kuchli magnit.
  • burilish moduli. Men miltillovchi chiroqning ichki harakatlanuvchi qismini qayta ishlatdim. xohlagan narsani qo'yishingiz mumkin. Siz shunchaki ehtiyot bo'lishingiz kerakki, ikkita mobil qism bir -biriga tegmasdan erkin harakatlanishi mumkin.

2 -qadam: qutini qurish

Qutini qurish
Qutini qurish

Aslida siz xohlagan shakldagi qutiga ega bo'lishingiz mumkin. Ishni boshlashdan oldin o'ylash kerak bo'lgan asosiy narsa - bu harakatlanuvchi qismlar qaerda bo'lishi va ular bir -biriga tegmasdan erkin harakatlanishini ta'minlash. Yana bir nuqta - qurilmani qaerga qo'yasiz? Men har qanday metall tayanchga yopishib olish uchun magnit (kuchli) bilan tugadim. Agar siz xuddi shu qutini qurmoqchi bo'lsangiz, box_drawings.pdf faylidagi ko'rsatmalarga amal qilishingiz mumkin.

Bunday holda, siz har xil bo'laklarni kesib, servomotorlar, LEDlar, tugma va vintlar uchun teshiklar yasashingiz va oxir -oqibat barcha qismlarni bir -biriga yopishtirishingiz kerak. Quriganidan so'ng, ozgina silliqlash va rang berish.

Ikki bayroq qizil va yashil kartondan qilingan. Bayroq ustunini servomotorlarga mahkamlash uchun siz ularni sotib olayotganda o'rnatilgan qismlardan foydalanishingiz mumkin.

3 -qadam: Arduino -ni sozlash

Arduino -ni sozlash
Arduino -ni sozlash

Arduino kengaytma kartasiga ulangan narsalar:

  • D2 PIN: tugma.
  • D4 PIN -kodi: tizim yoqilganligini bildiruvchi LED.
  • D5 PIN: biz tsiklni bajaramiz degan LED.
  • D6 PIN: qurilma yangi xabar olganligini bildiruvchi LED.
  • D9 PIN kodi: girov bilan ishlaydigan servomotor uchun PWM pulsli signal.
  • D10 PIN: bayroqni boshqaruvchi servomotor uchun PWM pulsli signal.
  • XBee Socket: bitta ZigBee moduli.

Yuqoridagi sxemada barcha elementlar taxtaga qanday ulanganligi ko'rsatilgan.

LEDlar uchun rezistor va simlar to'g'ridan -to'g'ri payvandlanadi (qutbga e'tibor bering). Keyin hamma narsa termal tortiladigan qisma ichiga joylashtiriladi.

Bosish tugmasi uchun barcha qismlar (tugma, rezistor va kondansatör) to'g'ridan-to'g'ri kichik sun'iy yo'ldoshli lentaga payvandlanadi. Tarmoqli taxta to'g'ridan-to'g'ri ikkita vint bilan mahkamlanadi (2 mm).

Servo motorlar 5V quvvat bilan ishlaydi, shuning uchun ularni to'g'ridan -to'g'ri Arduino -ga ulash mumkin. Agar siz yuqori kuchlanishli (12V) kuchlanishni ishlatsangiz, quvvat manbai uchun boshqa qatlam qo'shishingiz kerak bo'ladi.

XBee modullari uchun, ular birgalikda suhbatlashish uchun tuzilganidan so'ng (keyingi bo'limga qarang), ularni to'g'ridan -to'g'ri rozetkalarga ulash mumkin.

Eslatmalar: LEDlar va tugmachalarni to'g'ridan -to'g'ri Arduino pinlariga ulash mumkin edi, chunki u ichki qimmatli qog'ozlarni sotishi mumkin edi. Men eski usulni qildim, chunki bu jihat men uchun juda aniq emas edi.

4 -qadam: dasturiy ta'minot - XCTU

Dasturiy ta'minot - XCTU
Dasturiy ta'minot - XCTU

Yuqorida aytib o'tilganidek, ikkita XBee qurilmasi birgalikda gaplashish uchun tuzilgan bo'lishi kerak. Buning uchun siz DIGI maxsus X-CTU dasturidan foydalanishingiz kerak. Ushbu konfiguratsiya bosqichini faqat bir marta bajarish kerak. Iltimos, xbee_configuration.pdf faylida tasvirlangan protseduraga amal qiling.

Konfiguratsiya tugagandan so'ng, siz har bir modulni rozetkaga ulashingiz mumkin. Ulardan biri USB/Seriya konvertorida, ikkinchisi Arduino kengaytirish kartasida.

USB/Seriya konvertori avtomatik ravishda Windows 10 tomonidan tan olinishi kerak. Agar bunday bo'lmasa, drayverni qo'lda o'rnatishingiz kerak bo'ladi

Eslatma:

Asosiy ketma -ket muloqotni amalga oshirish uchun XBee modullaridan foydalanish biroz ortiqcha. Loyihani boshlaganimda, men Windows 10 -da (haydovchilar bilan bog'liq muammolar) oson ishlatiladigan ketma -ket aloqa qurilmalarini topa olmadim. Bu, shuningdek, https://www.zigbee.org haqida bir nechta narsalarni o'rganish uchun imkoniyat edi

5 -qadam: Dasturiy ta'minot - Arduino Sketch

Dasturiy ta'minot - Arduino Sketch
Dasturiy ta'minot - Arduino Sketch

Arduino -ni dasturlash uchun biz IDE -dan rasmiy veb -saytdan foydalanishimiz mumkin.

Dasturning mantig'i juda oddiy, faqat bitta harflar uchun taxtaning standart ketma -ket portida tinglanadi ("a", "b", …). Agar olingan belgi ma'lum buyruqqa mos keladigan bo'lsa, u holda pastki funktsiya mos keladigan ketma-ketlikni bajaradi.

Asosiy ikkita foydali buyruq - muvaffaqiyat animatsiyasi ("a") va xato animatsiyasi ("b").

Qutida bir oz ko'proq o'ynash (yoki disk raskadrovka) qilish uchun ba'zi qo'shimcha buyruqlar bajarilishi mumkin. Ular:

  • "O": ON LEDini yoqishga majburlang
  • "P": ON LEDini o'chirishga majburlang
  • "Q": Yangi xabar LEDini yoqishga majbur qiling
  • "R": Yangi xabar LEDini o'chirishga majbur qiling
  • "S": tsikl LEDini yoqishga majbur qiling
  • "T": tsikl LEDini o'chirishga majbur qiling
  • "U": gyro servomotorini ishga tushiring
  • "V": bayroq servomotorini yoqish.

Ketma-ket buyruqdan tashqari, qurilmada tugma bosilganda faollashtiriladigan kichik tartib (handlePushButton) mavjud. Bunday holda, xato yoki muvaffaqiyat animatsiyasi avtomatik ravishda ijro etiladi. Bu xususiyat jismoniy qurilmaning to'g'ri o'rnatilganligini tekshirishga imkon beradi.

Arduino eskizining kodi bsldevice.ino bitta faylida. Siz uni IDE yordamida to'g'ridan -to'g'ri yuklashingiz mumkin.

6 -qadam: dasturiy ta'minot - ish stoli uchun dastur

Dasturiy ta'minot - ish stoli uchun dastur
Dasturiy ta'minot - ish stoli uchun dastur

Ish stoli dasturining maqsadi Microsoft Azure DevOps (avvalgi VSTS) veb -saytini kuzatish va Build Definition muvaffaqiyatli yoki xato ekanligini aniqlashdir. Har safar qurilish tugagach, ish stoli ilovasi qurilish holatini aniqlaydi va tegishli buyruqni ('a' yoki 'b') ketma -ket portga (COMx) yuboradi.

Dasturni ishga tushirgandan so'ng, birinchi harakat - ZigBee moduli ulangan to'g'ri portni tanlash. Portni aniqlash uchun siz Windows Device Manager -dan foydalanishingiz mumkin (Portlar (COM & LPT bo'limi) ostida). Azure DevOps -ga ulanish joriy foydalanuvchining hisob ma'lumotlari yordamida ishga tushganda avtomatik ravishda amalga oshiriladi. Bundan tashqari, oldindan belgilanadigan har qanday buyruqni qo'lda o'ng tomondagi ochiladigan qutidan yuborishingiz mumkin.

Barcha manbalar Visual Studio 2017 professional nashri yordamida yaratilgan. Buning uchun. NET Framework 4.6.1 talab qilinadi. Framework -ning ushbu versiyasi VSTS veb -saytiga ulanishni/autentifikatsiyani osonlashtirish uchun afzaldir.

foydalanish uchun:

  • bslwatcher_sources.zip arxivini yuklab oling.
  • Uni diskdan chiqarib oling.
  • Tafsilotlar uchun how_to_build.txt faylini o'qing.

7 -qadam: Birinchi boshlash

Qutini ishga tushirishda ikkita asosiy narsani yodda tutish kerak:

1- Tizim bayroqlar qaerda ekanligini o'zi bilishning iloji yo'q. Tizim ishga tushganda yashil bayroq ko'tarilgan deb taxmin qiladi.

2- Arduino kartasini yoqganda hech narsa qimirlamasligi kerak. Biz uzluksiz servolardan foydalanganimizda, eskiz faylida nol pozitsiyasi sukut bo'yicha 90 ga o'rnatiladi. Agar servomotor aylana boshlasa yoki shovqin qilsa. uning nol holatini qayta aniqlashga to'g'ri kelishi mumkin. Buning uchun siz servomotor yonidagi kichik teshikka potentsiometrni sozlashingiz kifoya.

www.arduino.cc/en/Reference/ServoWrite

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

8 -qadam: Xulosa

Bu kichik qurilma uzluksiz integratsiya tizimingiz holati to'g'risida jismonan xabar beradi.

"Aql" ish stolida bo'lgani uchun, siz boshqa dasturiy ta'minot yoki jarayonlarni (pochta, harorat sensori …) kuzatish uchun qutidan foydalanishingiz mumkin. Siz faqat boshqa API -ga kirishingiz va nima "yaxshi" yoki "yomon" ekanligini hal qilishingiz kerak. Agar siz qizil va yashil ranglardan foydalanmasangiz, siz "xabar" ma'nosini o'zgartirishingiz mumkin.

Yaxshilanishlarni qutining o'ziga ham kiritish mumkin:

  • Batareyadan foydalaning.
  • Boshqa aloqa protokolidan foydalaning.
  • Qaysi bayroq tepada ekanligini bilish uchun datchiklarni qo'shing.

Umid qilamanki, sizga bu loyiha qiziqarli bo'ldi.

Bu erda o'qiganingiz uchun tashakkur.

9 -qadam: ilova

Ushbu loyihani yaratish uchun ishlatiladigan ba'zi havolalar:

Arduino veb -sayti:

DIGI veb-sayti:

XCTU dasturi:

Boshqalardan foydalanilgan ba'zi ma'lumotlar:

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

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

www.mon-club-elec.fr/pmwiki_reference_ardui… (frantsuz tilida)

jeromeabel.net/

Umuman MSDN veb -sayti:

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

Tavsiya: