Мазмуну:

Machine Watch: 9 кадам
Machine Watch: 9 кадам

Video: Machine Watch: 9 кадам

Video: Machine Watch: 9 кадам
Video: Nashibvaan Official Trailer | Bhau Kadam | Landmarc Films | 11 Jan 2019 2024, Июль
Anonim
Machine Watcher куруңуз
Machine Watcher куруңуз
Machine Watcher куруңуз
Machine Watcher куруңуз

Бул долбоордун баштапкы чекити конкреттүү долбоордун үстүндө иштеп, микроконтроллер такталары жөнүндө бир нече нерсени билүү болгон.

Баштапкы идея Үзгүлтүксүз интеграциялык системаны (VSTS | Azure DevOps) көзөмөлдөп, программалык камсыздоонун каталары жөнүндө билдире турган физикалык объектти түзүү болчу. IT бөлүмүнүн коопсуздугуна байланыштуу, мен "стандарттуу эмес" түзмөктү ишкананын тармагына туташтыруудан баш тартым.

Мен жогоруда сүрөттө көрсөтүлгөн архитектура менен аяктадым. Аткаруу процессин төмөнкүчө чагылдырууга болот:

Windows рабочий тиркемеси VSTS Build Definitions сканерлейт (тартат). Ал куруунун жыйынтыгын талдайт, андан кийин физикалык түзмөккө кызыл же жашыл желекти көрсөтүүдөн мурун кичине анимацияланган ырааттуулукту аткарган буйрукту жөнөтөт.

1 -кадам: керектүү бөлүктөр

Төмөнкү тизмеде керектүү нерселердин бардыгы камтылган:

  • 1 Arduino UNO R3 (https://store.arduino.cc/usa/arduino-uno-rev3).
  • 1 Узартуу калканы (https://www.dfrobot.com/wiki/index.php/IO_Expansion_Shield_for_Arduino_V7_SKU:DFR0265).
  • 2 XBee S1 модулу (https://www.adafruit.com/product/128).
  • 1 XBee изилдөөчү куралы (https://www.sparkfun.com/products/11697).
  • 2 үзгүлтүксүз серво моторлору 5VDC оңдоочу аксессуарлары менен (https://www.parallax.com/sites/default/files/downloads/900-00008-Continuous-Rotation-Servo-Documentation-v2.2.pdf).
  • 1 9VDC электр менен камсыздоо.
  • 3 LED.
  • 3 резистор 220 Ом.
  • термо тартылуучу жең.
  • 1 баскыч.
  • 10KΩ тартылуу каршылыгы.
  • 100nF конденсатор.
  • электр зымдары.
  • тилке-такта (баскычты орнотуу үчүн)
  • 5 мм жыгач (50x50 см).
  • жыгач таяк чарчы бөлүгү 5x5 мм (1м).
  • картон.
  • Диаметри 2 мм 10 X бурама.
  • Диаметри 5 мм болгон 4 бурама.
  • күчтүү магнит.
  • буруу модулу. Жаркылдаган жарыктын ички кыймылдуу бөлүгүн кайра колдондум. каалаган нерсеңизди койсоңуз болот. Сиз жөн гана 2 мобилдик бөлүк бири -бирине тийбей эркин кыймылдай алат деп кам көрүшүңүз керек болот.

2 -кадам: кутуну куруу

Кутуну куруу
Кутуну куруу

Негизи сиз каалаган формадагы кутучага ээ боло аласыз. Баштоодон мурун ойлонуш керек болгон негизги нерсе - кыймылдуу бөлүктөр кайда болот жана алар бири -бирине тийбей эркин кыймылдай алат. Дагы бир жагдай, аппаратты кайда коюңуз? Мен аны кандайдыр бир металлдык таянычка жабыштыруу үчүн магнит (күчтүү) менен аяктадым. эгер сиз ошол эле кутуну кургуңуз келсе, анда box_drawings.pdf файлындагы көрсөтмөлөрдү аткарсаңыз болот.

Мындай учурда, сиз ар кандай бөлүктөрдү кесип, сервомоторлор үчүн тешиктерди, светодиоддорду, баскычты жана бурамаларды жасап, акыры бардык бөлүктөрдү жабыштырышыңыз керек. Кургак болгондон кийин, бир аз тегиздөө жана бир аз түс.

Эки желек бир нече кызыл жана жашыл картон менен жасалган. Желе мачтасын сервомоторлорго оңдоо үчүн, аларды сатып алганда орнотулган бөлүктөрдү колдонсоңуз болот.

3 -кадам: Arduino орнотуу

Arduino орнотуу
Arduino орнотуу

Arduino кеңейтүү тактасына туташкан нерселер:

  • D2 PIN: баскыч.
  • D4 PIN: системасы КҮЙГӨНДҮГҮН айтуу үчүн LED.
  • D5 PIN: LED биз циклди аткарабыз деп.
  • D6 PIN: LED түзмөк жаңы билдирүү алганын билдирет.
  • D9 PIN: гиро менен иштеген сервомотор үчүн PWM импульс сигналы.
  • D10 PIN: желекти башкаруучу сервомотор үчүн PWM импульс сигналы.
  • XBee Socket: бир ZigBee модулу.

Жогорудагы схемада бардык нерселер тактага кантип туташтырылгандыгы көрсөтүлгөн.

Светодиоддор үчүн резистор жана зымдар түздөн -түз ширетилет (полярдыкка кам көрүңүз). Баары андан кийин термо тартылуучу жеңдин ичине салынат.

Баскыч үчүн бардык бөлүктөр (баскыч, резистор жана конденсатор) кичинекей спутниктик тилкеде түз ширетилет. Тасма тактасы түздөн-түз эки бурама менен бекитилет (2мм)

Сервомоторлор 5В кубаты менен иштейт, ошондуктан аларды Arduino менен түз байланыштырса болот. Эгерде сиз жогорку чыңалуудагы (12V) колдонсоңуз, анда электр менен камсыздоо үчүн дагы бир катмар кошууга туура келет.

XBee модулдары үчүн, алар чогуу сүйлөшүүгө конфигурациялангандан кийин (кийинки бөлүмдү караңыз), аларды түздөн -түз розеткага туташтырууга болот.

Эскертүүлөр: Светодиоддор жана баскыч баскычы Arduino казыктарына түз туташтырылган болушу мүмкүн, анткени ал керектүү баалуу кагаздарды ички жактан ишке ашыра алат. Мен эски ыкманы кылдым, анткени бул жагы мен үчүн анча түшүнүксүз болчу.

4 -кадам: Программалык камсыздоо - XCTU

Программалык камсыздоо - XCTU
Программалык камсыздоо - XCTU

Жогоруда айтылгандай, эки XBee түзмөгү чогуу сүйлөшүү үчүн конфигурацияланган болушу керек. Бул үчүн DIGIден атайын X-CTU программасын колдонуу керек. Бул конфигурация кадамын бир гана жолу жасашыңыз керек. Сураныч, xbee_configuration.pdf файлында сүрөттөлгөн процедураны аткарыңыз.

Конфигурация бүткөндөн кийин, сиз ар бир модулду розеткасына туташтыра аласыз. USB/Сериялык конвертерде жана Arduino кеңейтүү тактасында.

USB/Сериялык конвертер Windows 10 тарабынан автоматтык түрдө таанылышы керек. Эгерде андай болбосо, анда драйверди кол менен орнотууга туура келиши мүмкүн

Эскертүү:

Негизги сериялык байланышты жасоо үчүн XBee модулдарын колдонуу бир аз ашыкча. Мен долбоорду баштаганда Windows 10до оңой колдонулуучу жөнөкөй сериялык байланыш түзмөктөрүн таба алган жокмун (айдоочу маселелери). Бул ошондой эле https://www.zigbee.org жөнүндө бир нече нерсени билүү үчүн мүмкүнчүлүк болду

5 -кадам: Программалык камсыздоо - Arduino Sketch

Программалык камсыздоо - Arduino Sketch
Программалык камсыздоо - Arduino Sketch

Arduino программасы үчүн IDE расмий веб -сайтынан жеткиликтүү.

Программанын логикасы өтө жөнөкөй, ал тактанын демейки сериялык портунан бир тамгаларды угат ('a', 'b', …). Эгерде алынган символ белгилүү буйрукка дал келсе, анда субфункция тиешелүү ырааттуулукту ойнойт.

Негизги 2 пайдалуу буйрук - ийгилик анимациясы ('a') жана ката анимациясы ('b').

Куту менен бир аз көбүрөөк ойноо (же мүчүлүштүктөрдү оңдоо) үчүн, аткарыла турган кошумча буйруктар бар. Алар:

  • "О": КҮЙГӨН LEDди КҮЙГӨНГӨ мажбур кылыңыз
  • "P": КҮЙГӨН LEDди ӨЧҮРҮҮГӨ мажбур кылыңыз
  • "Q": Жаңы билдирүү LEDди күйгүзүүгө мажбурлоо
  • "R": Жаңы билдирүү LEDин ӨЧҮРҮҮГӨ мажбур кылыңыз
  • "S": циклди күйгүзүүгө мажбурлоо
  • "T": циклди өчүрүүгө мажбур кылыңыз
  • 'U': гиронун сервомоторун иштетүү
  • 'V': желектин сервомоторун иштетүү.

Сериялык буйруктан тышкары, подпрограмма бар (handlePushButton), ал баскыч басылганда түзмөктө басылат. Мындай учурда ката же ийгилик анимациясы автоматтык түрдө ойнотулат. Бул функция физикалык түзмөктүн туура орнотулганын текшерүүгө мүмкүндүк берет.

Arduino эскизинин коду bsldevice.ino бир файлында. Сиз аны IDE аркылуу түз жүктөй аласыз.

6 -кадам: Программалык камсыздоо - Desktop Application

Программалык камсыздоо - Desktop Application
Программалык камсыздоо - Desktop Application

Иш тактасынын максаты - Microsoft Azure DevOps (мурунку VSTS) веб -сайтын көзөмөлдөө жана Build Definition ийгиликтүү же ката болгонун аныктоо. Курулуш бүткөн сайын, рабочий тиркеме түзүлүштүн абалын аныктайт жана тиешелүү буйрукту ('a' же 'b') сериялык портко (COMx) жөнөтөт.

Колдонмону ишке киргизгенден кийин, биринчи иш ZigBee модулу туташкан ком портун туура тандоо. Портту аныктоо үчүн Windows Device Managerди колдонсоңуз болот (Порттордун астында (COM & LPT бөлүмү)). Azure DevOps менен туташуу учурдагы колдонуучунун грамоталарын колдонуу менен автоматтык түрдө ишке ашат. Ошондой эле, оң жактагы комбинацияны колдонуп, алдын ала аныкталган буйрукту кол менен жөнөтсөңүз болот.

Бардык булактар Visual Studio 2017 кесиптик басылышы менен түзүлгөн. Бул. NET Framework 4.6.1 талап кылат. Frameworkтун бул версиясы VSTS веб -сайтына туташууну/аныктыгын текшерүүнү жеңилдетүү үчүн артыкчылыктуу.

колдонуу:

  • bslwatcher_sources.zip архивин жүктөп алыңыз.
  • Дискке чыгарыңыз.
  • Чоо -жайын билүү үчүн how_to_build.txt файлын окуңуз.

7 -кадам: Биринчи баштоо

Кутучаны баштаганда эки негизги нерсени эске алуу керек:

1- Системанын желектердин кайда экенин өз алдынча билүүсүнүн эч кандай жолу жок. Система башталганда жашыл желек көтөрүлөт деп болжолдойт.

2- Arduino тактасын иштеткенде эч нерсе кыймылдабашы керек. Биз үзгүлтүксүз серволорду колдонгонубуздай, нөлдүк абал эскиз файлында демейки боюнча 90 деп коюлган. Эгерде сервомотор бурула баштаса же кандайдыр бир ызы -чуу чыгарса. анын нөл абалын кайра аныктоого туура келиши мүмкүн. Ал үчүн потенциометрди жөн эле сервомотордун капталындагы кичинекей тешиктин ичинде тууралоо керек.

www.arduino.cc/en/Reference/ServoWrite

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

8 -кадам: Жыйынтык

Бул кичинекей аппарат Үзгүлтүксүз Интеграция Системаңыздын абалын физикалык түрдө кабарлайт.

"Интеллект" рабочий тиркемесинде болгондуктан, сиз башка программалык камсыздоону же процессти көзөмөлдөө үчүн кутуну колдоно аласыз (почта, температура сенсору …). Сиз жөн гана башка APIге кирүү мүмкүнчүлүгүнө ээ болуп, "жакшы" же "жаман" деген нерсени чечишиңиз керек. Эгерде сиз кызыл жана жашыл түстөрдү колдонбосоңуз, анда "билдирүүнүн" маанисин да өзгөртө аласыз.

Жакшыртууларды кутунун өзүнө да алып келүүгө болот:

  • Батареяны колдонуңуз.
  • Башка байланыш протоколун колдонуңуз.
  • Кайсы желек үстүндө экенин билүү үчүн сенсорлорду кошуңуз.

Бул долбоор сизге кызыктуу болду деп үмүттөнөбүз.

Бул жерге чейин окуу үчүн рахмат.

9 -кадам: Тиркеме

Бул долбоорду түзүү үчүн колдонулган кээ бир шилтемелер:

Arduino веб -сайты:

DIGI веб-сайты:

XCTU программасы:

Башкалардан алынган кээ бир маалыматтар:

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

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

www.mon-club-elec.fr/pmwiki_reference_ardui… (француз тилинде)

jeromeabel.net/

Жалпысынан MSDN веб -сайты:

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

Сунушталууда: