Підручник з Технології. 10 (11) клас. Ходзицька - Нова програма

Навчальний модуль:

ОСНОВИ АВТОМАТИКИ І РОБОТОТЕХНІКИ

За результатами опанування матеріалу навчального модуля ви навчитеся використовувати здобуті знання у практичній діяльності.

Ви дізнаєтеся про:

• основні застосування автоматики й робототехніки;

• засоби перетворення фізичних величин у системах автоматичного управління;

• особливості проектування систем автоматичного управління;

• способи програмного керування об’єктами та їх проектування.

Ви навчитеся:

• описувати алгоритми роботи автоматів та створювати їх подання у вигляді програмного коду;

• добирати технічні засоби для первинного перетворення фізичних величин та здійснення впливів на об’єкти.

Ви отримаєте:

• навички проектування нескладних систем автоматичного управління;

• навички фізичної реалізації проекту у вигляді корисних пристроїв.

Ви зможете застосовувати отримані знання для:

• проектування технічного засобу за власним задумом;

• подальшого навчання.

Основні поняття автоматики і робототехніки

Автоматизація — це напрям розвитку техніки й технологій, що характеризується звільненням людини не тільки від фізичної праці, пов’язаної з виробничими процесами, а й від оперативного керування відповідними механізмами (мал. 1).

Мал. 1. Автоматизація виробничих процесів у промисловості: а — легкій; б — харчовій; в — машинобудівній

Автомат (від грец. automatos — самодіючий) — пристрій, машина, що виконує всі операції за заданою програмою, яка не потребує безпосередньої участі людини в процесі отримання, передавання, розподілу (використання) енергії, матеріалів або інформації.

Програма дій автомата може визначатися його конструкцією, як, наприклад, у механічних годинниках, торгових автоматах тощо. Також програма дій автомата може бути створена окремо, записана на певний носій та відтворена пристроєм, який у цьому випадку називають програмно керованим автоматом.

На сучасних підприємствах більшість виробничих процесів автоматизовані. Технологічними машинами керують комп’ютери, а виконання трудомістких, монотонних або небезпечних для виконання людиною операцій здійснюють спеціальні програмно керовані машини — роботи.

Робот — це машина, створена людиною й керована нею або безпосередньо, або опосередковано через програму, створену людиною.

Датчик (давач) — пристрій, вузол машини (автомата), призначений для перетворення зовнішнього впливу на сигнал, що може опрацьовуватися автоматом.

Залежно від виконуваних завдань роботів умовно поділяють на промислові, військові, медичні тощо (мал. 2).

Мал. 2. Використання роботів: а — у медицині; б — космічних дослідженнях; в — військовій справі; г — побуті

У ХХ сторіччі з’явилася можливість створювати промислових роботів, які використовували електромеханічні та електропневматичні рухомі частини, а програма яких записувалася на магнітному носії (магнітній стрічці).

Перше покоління сучасних промислових роботів було верстатами (фрезерними, токарними, координатно-свердлильними) із числовим програмним управлінням (ЧПУ). У роботах другого покоління використовували адаптивне управління, тобто ці роботи мали сенсорні системи, серед яких головною була система технічного зору (СТЗ). Частка цих роботів у 1980-х роках становила близько 50 % від загальної кількості роботів. І це незважаючи на те, що вони дорожчі за роботів із програмним управлінням і значно складніші в обслуговуванні. До третього покоління роботів належать роботи з інтелектуальним керуванням, вони ще й досі перебувають на стадії розроблення й досліджень.

Дізнайтеся більше

• Слово «робот» слов'янського походження. Його придумав чеський письменник Карел Чапек, який описав «механічних людей» 1920 року, утворивши його від слова «робота».

• 1942 року американський письменник-фантаст Айзек Азімов уперше вжив термін «робототехніка», а також сформулював три закони для роботів:

1. Робот повинен виконувати накази людини.

2. Не завдавати людині шкоди.

3. Уміти захищати себе, якщо це не суперечить закону 2.

• Із давніх часів людина мріяла про створення штучної людини, здатної мислити та виконувати дії. У Середні віки вчені створювали складні механізми, але навчити їх мислити не вдалося. Швейцарський годинникар П'єр-Жак Дро та його син Анрі Дро, які жили в другій половині XVIII століття, створили механічну людину «Писар». Вона «вміла» виписувати літери й слова, сидячи за столом і плавно похитуючи головою в такт рухам. Від імені Анрі Дро і пішла назва «андроїд», яку застосовують для людиноподібних машин.

Робототехніка — прикладна наука, що займається розробленням автоматизованих технічних систем. Робототехніка спирається на досягнення електроніки, механіки, інформатики і навіть біології й фізіології. Вона є одним із найважливіших напрямків науково-технічного прогресу, у якому механіка й нові технології поєднуються з досягненнями штучного інтелекту.

Людство має нагальну потребу в роботах, які можуть без участі оператора гасити пожежі, самостійно пересуватися невідомою місцевістю, виконувати рятувальні операції під час стихійних лих і техногенних катастроф, які допоможуть у боротьбі з тероризмом.

Крім того, з розвитком й удосконаленням робототехнічних пристроїв збільшується потреба в роботизованих пристроях, призначених для задоволення щоденних потреб людей. Уже сьогодні в сучасному виробництві і промисловості затребувані фахівці з цієї галузі техніки.

Дізнайтеся більше

Першим промисловим програмно керованим автоматом можна вважати ткацький верстат Ж.-М. Жакарда, створений ним 1808 року. На тканинах візерунок утворюється нитками основи, переплетення яких із нитками піткання відбувається за певною програмою, іноді дуже складною. Ця програма записується кодом «є отвір — немає отвору», тобто нитка основи піднята або опущена. Човник за один прохід має протягнути нитку піткання між усіма нитками основи, по всій ширині полотна, тому «довжина однієї команди» є досить великою — загальна кількість місць для отворів на перфокарті має дорівнювати кількості ниток основи. Верстат Жакарда є прикладом пристрою, створеного задовго до появи обчислювальних машин, але кодування програми вже було здійснено двійковим кодом. Для створення навіть простого візерунка потрібно було 100 і більше ниток піткання і ще більша кількість ниток основи, тому програма містила величезну кількість перфорованих карт, які зшивалися в єдину стрічку. Ця стрічка з перфокарт могла займати два поверхи. Одній перфокарті відповідав один прокид човника з ниткою піткання.

Стрічка з перфокарт верстата Жакарда

Розвиток робототехніки в Україні

1948 року в Києві під керівництвом С. Лебедєва було розроблено ЕОМ МЕРМ (малая електронна рахункова машина). Це була найбільш швидкодіюча ЕОМ на той час у континентальній Європі.

Після переведення С. Лебедєва до Москви С. Погребинський став головним конструктором ЕОМ «Київ» і згодом головним конструктором ЕОМ «Промінь», яка була втіленням ідеї В. Глушкова про персональну ЕОМ для інженера. Серійне виробництво ЕОМ «Промінь» було розпочато 1963 року на Сєвєродонецькому заводі обчислювальних машин.

Тоді в Україні протягом трьох років (1958-1961) було розроблено й запущено в серію універсальну керуючу машину «Днепр» (керівник проекту В. Глушков). ЕОМ була повністю напівпровідниковою й призначеною для використання в народному господарстві. До того часу подібні ЕОМ в усьому світі використовували тільки у військовій справі.

На основі української керуючої ЕОМ «Днепр» у 1959-1963 роках на Миколаївському суднобудівному заводі було впроваджено систему «Авангард» — робототехнічну систему для викреслювання деталей корпусів суден у масштабі 1:1 та для газорізальних робіт, створено інші робототехнічні комплекси, у тому числі для космічної техніки.

1965 року на ЕОМ серії «МИР» (від рос. — машина инженерных расчетов) застосували апаратну реалізацію мови програмування Аналітик, що дозволило проводити аналітичні перетворення, у тому числі диференціювання та інтегрування формул.

1966 року в Інституті кібернетики АН УРСР під керівництвом В. Глушкова завершено розробку проекту великої ЕОМ «Україна», ідеї якої пізніше були використані у великих американських ЕОМ 1970-х років.

1972 року в Інституті кібернетики АН УРСР під керівництвом М. Амосова було створено автономний транспортний робот «Таїр», система управління якого ґрунтувалася на використанні нейронної мережі. Робот міг цілеспрямовано рухатися, об’їжджаючи перешкоди. Для пересування використовував тактильні датчики, оптичний далекомір та інші допоміжні пристрої.

На розробках Інституту кібернетики УРСР протягом 1975-1980 років було створено понад 100 промислових роботів, організовано серійне виробництво 40 моделей.

Від початку 80-х у науково-дослідних установах широко використовували систему «Оксамит», яка була однією з перших портативних систем збирання й опрацювання результатів вимірювань, побудованих на базі персональної ЕОМ українського виробництва ДВК-1. А збирали плати для ДВК на київському заводі «Електронмаш» промислові роботи з програмним керуванням.

1979 року розпочато випуск високопродуктивних багатопроцесорних управляючих обчислювальних комплексів (УОК) ПС 2000, де застосовували розпаралелювання операцій, так, як це робиться в сучасних комп’ютерах. Завдяки цій технології стало можливим створення автономних транспортних засобів, складних робототехнічних систем.

Сьогодні на світовому ринку робототехніки лідирують Японія та Німеччина — ці країни виробляють понад половину всієї роботизованої продукції у світі. Досягнення України в цій галузі не такі значні, але є і промислові виробники, і цікаві стартапи.

• Особливе місце серед промислових роботів посідають роботи-зварники, визнаним лідером серед розробників яких є Інститут електрозварювання імені Євгена Патона НАН України. Перші автомати для зварювання українські вчені під керівництвом Є. Патона розробили ще під час Другої світової війни і вперше у світі застосували для зварювання танкової броні. Сьогодні інститут розробляє й випускає широкий асортимент зварювальних роботів, які користуються попитом не тільки в Україні, але й за кордоном.

Трактор зварювальний ТС-102

• Компанія «Стандарт-ПАК» розробляє самохідні платформи, самохідні навантажувачі роботи-буксири. Ці роботи здатні переміщати вантажі. Вони оснащені датчиками руху й пересуваються зі швидкістю 0,5 м/с. Їх пропонують до продажу для логістичних центрів та транспортних компаній України та Європи.

Дізнайтеся більше

Вагомий внесок у розвиток автоматизації виробничих процесів на підприємствах України зробив директор Інституту кібернетики Академії наук України Віктор Михайлович Глушков (1923-1982).

Він був справжнім генієм, ідеї якого набагато випередили свій час.

1958 року Глушков висловив ідею про «мозкоподібні» структури ЕОМ, які об'єднають мільярди процесорних елементів, унаслідок чого відбудеться злиття пам'яті з опрацюванням даних — подібно до того, як це має місце в мозку людини. Це був один із перших кроків до створення систем штучного інтелекту.

1960 року в Інституті кібернетики за підтримки Глушкова був створений відділ біокібернетики. Понад 30 років його незмінним керівником та ідейним натхненником був всесвітньо відомий кардіохірург Микола Амосов.

Під керівництвом Глушкова було розроблено теорію автоматів та електронних обчислювальних машин, автоматизованих систем керування та систем обробки даних, проведено дослідження в галузі штучного інтелекту та багато іншого.

• У компанії Drone.UA створюють продукти в галузі безпілотних технологій. Компанія веде діяльність в аграрній сфері, енергетиці та нафтогазовій промисловості, а також у сферах геодезії і топографії.

• Концерн ДК «Укроборонпром» об’єднує декілька підприємств розробників, які конструюють бойову роботизовану техніку.

БТР-робот може пересуватися на відстань до 20 км. Керування машиною відбувається захищеним радіоканалом або за допомогою волоконного кабелю.

Також у концерні «Укроборонпром» виготовляють безпілотники. Остання розробка — безпілотний літальний апарат ANSER, створений учасником концерну НДП «Спайтек». Безпілотник може перебувати в польоті від 6 до 12 годин, піднімати до 5 кг вантажу і використовує зашифровані канали передачі даних.

• IT-компанія ELEKS також розробляє роботизовані продукти. З-поміж них — безпілотний танк ЕТ-1 (Танкетка), створений для убезпечення українських солдатів. З його допомогою можна евакуювати поранених, вести розвідку в місцях, не доступних людині.

Також у компанії випускають дрони. Головний споживач цих розробок — цивільна авіація.

Автомат і об'єкти, що його оточують

Більшість пристроїв автоматики й робототехніки використовують електричні сигнали та електрично керовані пристрої для впливу на об’єкти. Отже, для того щоб здійснювати управління певною фізичною характеристикою реального об’єкта (рівнем води, температурою, тиском тощо), потрібно перетворити фізичну величину (довжину, швидкість, тиск, температуру, освітленість) на відповідне значення електричного струму або напруги. Зазначені перетворення виконують пристрої, які називають первинними перетворювачами, або датчиками.

Для того щоб застосувати до керованого об’єкта необхідну дію (відкрити чи закрити вентиль на трубопроводі, перемістити об’єкт тощо), потрібно, навпаки, електричну величину перетворити на механічний рух або зміну іншої фізичної величини. Цю дію виконують електронні або електромеханічні реле, електродвигуни, електронагрівачі, освітлювальні прилади тощо, які узагальнено називають виконуючими механізмами.

Вибір датчиків і виконуючих механізмів є важливим етапом проектування будь-якого автоматизованого пристрою.

Щонайперше це стосується датчиків, оскільки з їх допомоги виконується перетворення фізичних величин, які є характеристиками об’єкта керування, на сигнали, що опрацьовуються системою керування. Від правильного вибору датчиків (їхніх масогабаритних характеристик, функцій перетворення тощо) залежить їх придатність для реалізації певної системи регулювання. Наприклад, для регулювання температури в акваріумі можна використати контактний термометр*1, але для деяких об’єктів регулювання (термостат для підігрівання дитячого харчування, хірургічний скальпель тощо) розміри датчика перевищують розміри самого об’єкта, а вартість перевищує вартість власне об’єкта (термостат* для домашнього приготування йогурта тощо).

1 Зірочкою тут і далі позначено терміни й об’єкти, додаткові відомості про призначення яких дізнайтеся в додаткових джерелах інформації.

Датчики (давачі) є елементами технічних систем, призначених для вимірювання (реєстрування), сигналізації, регулювання, керування об’єктами й процесами. Датчики перетворюють фізичну величину, яка контролюється (тиск, температуру, витрату рідини, концентрацію, частоту, швидкість, переміщення, електричну напругу, електричний струм тощо), на іншу фізичну величину, яка стає сигналом (електричним, оптичним, пневматичним), зручним для опрацювання (вимірювання, передавання, перетворення), використання або зберігання інформації про стан об’єкта вимірювання (керування).

Наприклад, у простому газовому котлі, який є основною частиною опалювальної системи будинку, потрібно регулювати температуру носія теплоти (води), змінюючи витрати газу переміщенням заслінки в трубопроводі, яким подається газ. Для перетворення фізичної величини «температура» на фізичну величину «переміщення» використовують найпростіші датчики, дія яких ґрунтується на розширенні рідини під час нагрівання (дилатометричні датчики*) або на використанні твердих тіл зі значно різними коефіцієнтами теплового розширення (біметалічні датчики*). Приблизно в такий спосіб регулюють температуру батарей у сучасних системах центрального опалення, але при цьому змінюється площа поперечного перерізу потоку води в батареї.

Температура побутової праски здебільшого регулюється біметалічним датчиком, який розмикає електричне коло живлення нагрівного елемента, тобто виконується перетворення фізичної величини «температура» на зміну фізичної величини «електричний струм».

Дізнайтеся більше

Після катастрофи на Чорнобильській АЕС у квітні 1986 року було негайно розроблено мобільні роботи для проведення робіт у зоні аварії — МРК і Мобот-ЧХВ. З їх допомогою провели повний цикл збирання та підготували ділянку даху третього енергоблоку для бетонування. На ліквідації Чорнобильської аварії було задіяно близько 15 типів модульних роботів, які мали різне призначення. Легкі роботи — роботи-розвідники — використовували для вивчення радіаційного стану в приміщеннях, важкі роботи — технологічні роботи — для прибирання (дезактивації) території.

Утім, більшість роботів виявилися непридатними для роботи в умовах ЧАЕС. Наприклад, радіокерований бульдозер-амфібія «Komatsu», який міг працювати навіть на морському дні, не витримав радіаційних навантажень і швидко вийшов із ладу. Непридатними для роботи в жорстких радіаційних умовах виявилися і два німецьких роботи MF-2 і MF-3.

У зазначених найпростіших випадках сигнал від датчика безпосередньо приводить до руху виконавчий механізм — заслінку газового клапана, клапан у потоці води в батареї опалення, електричний контакт. У системі «датчик — система керування — виконавчий пристрій — об’єкт керування» складники «датчик — система керування — виконавчий пристрій» об’єднано в один пристрій. Але ж доцільніше керувати не температурою води на виході з котла опалення, а безпосередньо температурою в опалюваному приміщенні, тому в більш сучасних і ефективних щодо економії ресурсів системах опалення датчики розміщують в опалюваному приміщенні. У цьому випадку ними вже будуть термометри опору*, тобто елементи електричного кола, опір яких змінюється залежно від температури.

Для регулювання температури об’єктів з високими, значно більшими за кімнатну температурами (ковальські горна, вагранки, печі для випалювання кераміки тощо) здебільшого використовують термопари* або оптичні вимірювачі температури*.

Дія термопар полягає у виникненні напруги між двома різнорідними провідниками внаслідок наявності різниці температур між їхнім контактом і температурою інших частин електричного кола (термоелектричне явище). Для різних металів і сплавів величина напруги по-різному залежить від температури, тому використовують пари спеціальних металів або сплавів.

Сучасні оптичні вимірювачі температури вимірюють розподіл інтенсивності інфрачервоного випромінювання залежно від довжини хвилі від об’єкта та його сумарну інтенсивність. Крім дистанційного вимірювання температури об’єктів із високими температурами, оптичні вимірювачі температури (як і тепловізори*) дуже ефективні для оцінювання теплоізоляції будівель, трубопроводів.

У системах автоматичного регулювання рівня рідини використовують різні датчики, найпростішим із яких є поплавковий регулятор*, або поплавець. Він може бути з’єднаним безпосередньо через важіль із клапаном перепуску води, як це реалізовано в автоматі, який є в кожній сучасній квартирі, — зливному бачку (мал. 3). На цьому принципі ґрунтується також контроль наповнення водою бака дачної душової кабіни, бака для крапельного зрошування тощо.

Мал. 3. Поплавковий регулятор рівня рідини

Поплавець датчика рівня рідини може бути з’єднаний із рухомим контактом змінного резистора, як це реалізовано в датчиках рівня пального* майже всіх автомобілів. Опір резистора є сигналом для приладу, що показує рівень пального (мал. 4).

Мал. 4. Датчик рівня пального в автомобілі

Якщо в поплавець помістити магніт, а в напрямній розташувати на відповідних рівнях три геркони*, то отримаємо датчик, що інформуватиме про три рівні рідини — нижній (за яким вмикатиметься, наприклад, насос підкачування), верхній (за яким насос вимикатиметься) і аварійний (за яким відбуватиметься інша дія) (мал. 5).

Мал 5. Поплавковий датчик рівня рідини

Для електропровідних рідин часто використовують датчики, опір яких визначається наявністю рідини між електродами. Такий датчик можна використати і як датчик вологості ґрунту в системах крапельного зрошування. Для використання такого й подібних датчиків існує, крім комплексних цифрових систем, таких як Arduino, значна кількість нескладних схем (мал. 6).

Мал. 6. Схема для опрацювання сигналу датчика рівня води або вологості ґрунту

Основні датчики системи Arduino подано на малюнку 7.

Мал. 7. Деякі датчики робототехнічної системи Arduino

Виконуючими механізмами роботехнічних систем можуть бути пневмомеханічні маніпулятори*, серводвигуни*, електромагнітні реле* тощо.

Для кожної конкретної задачі вибирають виконуючий механізм, подібний до того, який уже використовується в нероботизованих системах.

Завдання 1. Спроектуйте модель автоматичного вмикача освітлення.

Регульованою величиною є рівень освітленості, отже, первинним перетворювачем має бути датчик освітленості (фотодіод або фоторезистор — резистор, опір якого залежить від яскравості світла, що падає на нього), а виконуючим механізмом є електронне або електромеханічне реле, яке вмикатиме джерело світла — лампу або світлодіод.

Алгоритм роботи пристрою має бути таким. Якщо освітленість датчика світла більше певної величини, то електричне коло джерела світла розімкнене, інакше електричне коло джерела світла замкнене.

Чи відповідає поданому алгоритму робота пристрою, показаного на малюнку 8? Намалюйте електричну схему пристрою. Яким компонентом потрібно доповнити її для того, щоб алгоритм її роботи відповідав поданому вище?

Чи відповідає робота автомата, макет якого подано на малюнку 8, алгоритму роботи пристрою увімкнення освітлення?

Мал. 8. Електричне коло з джерела струму, фотоопору, світлодіоду і вимикача (діючий макет)

Чи відповідає робота автомата, принципову схему якого подано на малюнку 9, якщо реле P1 (РЕС 22 або інше з потрібним струмом спрацьовування) розмикає контакт K1 при освітленні фотоопору R1, алгоритму роботи пристрою увімкнення освітлення?

Мал. 9. Принципова схема автомата увімкнення освітлення

Завдання 2. Спроектуйте та за можливості змакетуйте автомат для увімкнення вентилятора.

Регульованою величиною є температура, тому як первинний перетворювач потрібно використати датчик температури, а виконуючим механізмом може бути електродвигун вентилятора, що вмикається електронним або електромеханічним реле.

Алгоритм роботи пристрою запропонуйте самостійно. Як зміниться алгоритм, якщо об’єкт регулювання потрібно буде не охолоджувати, а підігрівати (сховище для овочів на балконі, інкубатор)?

Завдання 3. Спроектуйте та змакетуйте автомат для поливання квітів.

Регульованою величиною є вологість ґрунту, тому як первинний перетворювач потрібно використати датчик вологості, а виконуючим механізмом може бути електродвигун насоса, що подає воду для поливання. Датчиком вологості ґрунту можуть бути два провідники, що перебувають у ґрунті на відстані кількох сантиметрів один від одного.

Алгоритм роботи запропонуйте самостійно.

Розгляньте варіант алгоритму, якщо виконуючий механізм має відкривати або закривати вентиль на трубопроводі.

Завдання 4. Спроектуйте та за можливості змакетуйте пристрій для автоматичного увімкнення освітлення на сходах.

Регульованою величиною є освітленість, але вона має змінюватися (вмикатися світло) лише за наявності в зоні освітлення людини. Отже, як первинний перетворювач потрібно використати так званий датчик присутності, а виконуючим механізмом може бути електронне або електромеханічне реле. Майже всі датчики присутності виробляють електричний сигнал одразу ж після появи рухомого об’єкта в зоні дії, але можуть перестати його подавати після зупинки об’єкта, виходу його із зони спрацьовування. Для того щоб уникнути передчасного вимкнення освітлення, потрібно використати додатково датчик часу або таймер, який би забезпечував увімкнення освітлення протягом певного часу. Тому алгоритм роботи такого автомата передбачатиме порівняння сигналів від датчика присутності і таймера.

Алгоритм роботи пристрою має бути таким.

Якщо сигнал від датчика присутності наявний, то таймер увімкнути.

Якщо таймер увімкнено, то електричне коло джерела світла замкнене.

Завдання 5. Спроектуйте автомат для охорони об’єкта. Можна використати датчик присутності, таймер, геркон (магнітокерований контакт) і магніт, джерело сповіщення про тривогу (дзвінок, сирену).

Ідея роботи пристрою може бути такою: людина заходить у зону дії датчика присутності й за певний час має піднести магнітний ключ до прихованого геркона. Якщо людина цього не зробить, вмикається сигнал тривоги.

Алгоритм роботи пристрою може бути таким.

Якщо сигнал від датчика присутності наявний, то таймер увімкнути.

Якщо таймер увімкнено і геркон замкнено, то електричне коло джерела тривожного сповіщення розімкнути, таймер вимкнути, інакше електричне коло джерела тривожного сповіщення замкнути.

Проаналізуйте алгоритм і опишіть роботу системи. Які проблеми можуть виникнути під час використання поданого алгоритму в разі фізичного перекриття зоною чутливості датчика присутності й місця розміщення геркона? Як слід модифікувати алгоритм роботи (або схему розташування датчиків) для уникнення цих проблем?

Апаратно-програмна реалізація пристроїв

Найдоступнішим для освоєння й використання як із метою навчання, так і з метою розроблення керованих персональним комп’ютером автоматів є апаратно-програмний комплекс Arduino.

Arduino — це апаратно-програмна платформа для побудови простих систем автоматики та робототехніки, що складається з апаратної та програмної частин. Основними компонентами Arduino є плата введення-виведення й первинного опрацювання та програмне середовище розроблення (кодування) й виконання коду.

Arduino можна використовувати як для створення автономних інтерактивних об’єктів, так і під’єднувати до програмного забезпечення, що виконується на персональному комп’ютері (ПК). Плата Arduino (мал. 10) має аналогові й цифрові порти, до яких можна підключати пристрої (датчики або виконуючі механізми).

Мал. 10. Основна плата (апаратна частина) Arduino (під'єднується до USB порту ПК або використовується самостійно)

Програмне забезпечення системи встановлюється на комп’ютер так само, як і програмне забезпечення для інших зовнішніх пристроїв.

Кодування алгоритмів роботи пристроїв в Arduino здійснюється мовою програмування, спеціально розробленою для цієї платформи, але побудованою з дотриманням основних вимог до мов програмування високого рівня, а тому досить простою для засвоєння. Виконання програмного коду відбувається в режимі інтерпретації системою Arduino IDE (Integrated Development Environment — Інтегроване середовище розробки).

Зверніть увагу! Докладніше з Arduino можна ознайомитися на сайті виробника.

Разом з основною платою та програмним забезпеченням, постачається макетна плата Breadboard (мал. 11) та комплект провідників зі штирками, якими на платі виконуються електричні з’єднання діючих макетів пристроїв.

Мал. 11. Макетна плата Breadboard (на ній виконується макетування зовнішніх пристроїв)

Завдання 1. Першою програмою, яку бажано запустити на Arduino IDE і перевірити функціонування системи в цілому, може бути програма для періодичного ввімкнення світлодіода. Схему під’єднання подано на малюнку 12.

Мал. 12. Під'єднання зовнішніх елементів на Breadboard (номінал резистора 220-560 Ом)

Код алгоритму (прийнята в Arduino назва програми — скетч), який забезпечує під’єднання світлодіода й подання на нього напруги з восьмого контакту роз’єму плати Arduino, подано нижче.

Мал. 13. Під'єднання зовнішніх елементів на Breadboard

Завдання 2. Підключаємо до Arduino кнопку і світлодіод таким чином, щоб при натисненні кнопки світлодіод світився, а в іншому випадку — ні. Схема й програма знадобляться в майбутньому для управління роботом на Arduino — після натискання кнопки (а вона іноді не одна) можуть виконуватися певні дії робота.

Скетч використовуватимемо такий:

Мал. 14. Під'єднання зовнішніх елементів на Breadboard для управління освітленням

Завдання 3. Підключаємо фоторезистор (фотоелемент) до плати Arduino. Світлодіод має світитися, якщо освітленість фоторезистора менше певної, яку можна регулювати програмно. Тобто апаратно-програмно реалізується Завдання 1 попереднього підрозділу (с. 151).

Скетч використовуватимемо такий:

Мал. 15. Під'єднання зовнішніх елементів на Breadboard для задіяння датчика руху

Завдання 4. Підключення PIR-датчика (датчика руху) до Arduino та створення можливості автоматичного надсилання e-mail у разі спрацьовування датчика. Arduinoзчитує покази інфрачервоного (ІЧ) датчика і при виявленні руху подає комп’ютеру через порт USB команду «відправити листа».

Подальше (у комп’ютері) опрацювання сигналу, що надходить на комп’ютер від Arduino, реалізуємо вже за допомогою програми мовою Python або іншої. Але Arduinoнадсилатиме повідомлення по USB в разі кожного виявлення руху, а це може бути досить часто. Якщо надсилати e-mail при кожному спрацьовуванні датчика, то можна отримати величезну кількість листів. Тому, якщо пройшло ще не дуже багато часу від попереднього сигналу про рух, надсилатимемо інше повідомлення («Занадто рано»).

Скетч використовуватимемо такий:

Розрізняти значення «MOVEMENT» і «Too soon» має вже програма, запущена на комп’ютері.

Змінній minSecsBetweenEmails може бути надане інше доступне значення. У прикладі воно становить 60 секунд, і листи не надсилатимуться частіше однієї хвилини. Щоб відстежувати, коли останнього разу було подано команду «надіслати e-mail», використовується змінна lastSend. На початку надаємо їй від’ємного значення (ініціалізуємо від’ємним числом), яке за модулем дорівнює кількості мілісекунд, зазначених у змінній minSecsBetweenEmails. Це гарантує опрацювання даних спрацьовування PIR-датчика відразу після запуску програми (скетча).

Мал. 16. Під'єднання зовнішніх елементів на Breadboard для задіяння датчика DHT

У циклі використовується функція Millis() для того, щоб отримати кількість мілісекунд з таймера Arduino і порівняти з часом від попереднього спрацьовування датчика та надсилання на комп’ютер повідомлення «MOVEMENT» («Рух»). Якщо порівняння показує, що від минулого спрацьовування датчика пройшло занадто мало часу, то, незважаючи на те, що рух було виявлено, надсилаємо повідомлення «Too soon» («Занадто рано»).

Перед тим як кодувати мовою Python (або іншою) алгоритм для опрацювання сигналу, що надходить з Arduino на комп’ютер по USB, можна перевірити роботу програми на Arduino, просто відкривши Serial Monitor у Arduino IDE — там продубльовано всі повідомлення, подані на порт Serial.println (мал. 17, с. 157).

Мал. 17. Повідомлення від датчика вологості й температури

Завдання 5. Вимірюємо температуру і вологість за допомогою датчиків DHT11 або DHT22. Датчики DHT11 і DHT22 розроблені для застосувань непрецизійного (високоточного) призначення, тому не мають високої швидкодії та точності, зате прості, відносно недорогі й забезпечують достатню точність для системи управління, яку можна застосувати для помешкання.

Датчики DHT складаються з двох частин — датчика вологості й термістора.

Датчик вологості в найпростішому вигляді має чутливий елемент у вигляді пластини діелектрика із системою провідників. На пластину нанесена речовина, електропровідність якої залежить від вологості повітря. Електричним параметром, чутливим до вологості, є опір чутливого елемента.

Використовуються й чутливі елементи, у яких внаслідок зміни вологості змінюється маса елемента, що коливається, тобто змінюється частота власних коливань системи, яка і є електричним параметром, чутливим до вологості.

Термістор — напівпровідниковий резистор, опір якого залежить від температури.

Дві версії датчиків DHT мають однакові термістори і відрізняються між собою чутливими елементами для перетворення вологості на електричний параметр.

Характеристики датчиків DHT такі:

DHT11:

• визначення вологості в діапазоні 20-80 %

• визначення температури від 0 °С до +50 °С

• частота опитування 1 раз на секунду

DHT22:

• визначення вологості в діапазоні 0-100 %

• визначення температури від -40 °С до +125 °С;

• частота опитування 1 раз на 2 секунди.

Отже, характеристики датчика DHT22 кращі порівняно з DHT11, і тому він дорожчий. Знімати з датчиків покази частіше, ніж через 1-2 секунди, за використання Arduino Uno проблематично, утім така швидкодія достатня для більшості проектів.

Датчики DHT мають стандартні під’єднання до Breadboard. Між провідниками живлення і виведення даних потрібно розмістити резистор номіналом 10 кОм. Датчик DHT часто продається у вигляді готового модуля. У цьому випадку він має три виводи й підключається без резистора 10 кОм, тому що резистор уже є на платі.

Оскільки датчик DHT суттєво складніший, ніж ті, що вже розглянуто, маємо використати спеціалізоване програмне забезпечення для датчиків DHT, яке міститься в бібліотеці за адресою https://github.com/adafruit/DHT-sensor-library.

Звернення до послідовності команд бібліотеки розпочинається зі вказівки #include (підключити).

Скетч використовуватимемо такий:

Перевірити роботу системи можна, завантаживши скетч у контролер та звернувшись до опції Сервіс > Монітор порту (мал. 17).

Отже, використовуючи Arduino Uno, можна визначити значення параметрів навколишнього середовища, передати ці значення на ПК і використати результати їх опрацювання для регулювання параметрів — температури, вологості, положення у просторі.

Визначте, аналізуючи малюнки 3 і наступні, скільки аналогових датчиків можна під’єднати до показаного на малюнку варіанта платформи Arduino.

Мал. 18. Задіяння серводвигуна

Завдання 6. Серводвигун і його використання з платформою Arduino.

Серводвигун — це двигун, кутом повороту валу якого можна керувати. Від звичайного двигуна він відрізняється тим, що йому можна точно задати положення (у градусах), у яке стане (або на який кут повернеться) вал. Серводвигуни використовують для відтворення рухів роботів.

Команда для серводвигуна має два параметри: знак (напрям) повороту і значення кута повороту.

Зверніть увагу на те, що виконання послідовності команд бібліотеки розпочинається зі вказівки #include.

Крім платформи Arduino, існує ще кілька доступних для використання платформ, які можна застосувати для керування об’єктами.

Однією з найдоступніших сьогодні є Raspberry Pi (розбери пай) — одноплатний комп’ютер, що був розроблений як бюджетна система для навчання інформатики. Згодом він набув набагато ширшого застосування й популярності, ніж очікували його автори. Випускається компанією Raspberry Pi Foundation (Велика Британія). Лише за п’ять років було продано понад 12 мільйонів пристроїв Raspberry Pi (мал. 19).

Мал. 19. Одна з реалізацій Raspberry Pi

Крім того, для реалізації кожної з функцій, які можна запровадити за допомогою програмно-апаратних засобів, є й спеціалізовані системи й пристрої, технології, іноді навіть більш ефективні, ніж ті, що можуть бути реалізовані програмно-апаратним шляхом.

Тому, створюючи проект обладнання деякого об’єкта засобами автоматизованого управління, слід здійснити пошук варіантів рішень, керуючись вимогами не тільки максимально можливої реалізації побажань, але й економічними, екологічними й етичними.