You are on page 1of 49

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ЧЕРНІГІВСЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ

До друку дозволяю на підставі


правил друкованих видань

Проректор ЧНТУ з НПР


В.В.Кальченко

ВСТУП ДО РАДІОЕЛЕКТРОНІКИ ТА
РОБОТОТЕХНІКИ

МЕТОДИЧНІ ВКАЗІВКИ
ДО ВИКОНАННЯ ЦИКЛУ ЛАБОРАТОРНИХ РОБІТ
ДЛЯ СТУДЕНТІВ НАПРЯМУ ПІДГОТОВКИ
6.050902 „РАДІОЕЛЕКТРОННІ АПАРАТИ”
УСІХ ФОРМ НАВЧАННЯ

Всі цитати, цифровий та Затверджено


фактичний матеріал, на засіданні кафедри
бібліографічні відомості біомедичних
перевірені, запис одиниць радіоелектронних апаратів
відповідає стандартам та систем протокол № 9
від 27.04.2017 р.
О.А.Велігорський

ЧЕРНІГІВ ЧНТУ 2017


МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРНІГІВСЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ

ВСТУП ДО РАДІОЕЛЕКТРОНІКИ ТА
РОБОТОТЕХНІКИ

МЕТОДИЧНІ ВКАЗІВКИ
ДО ВИКОНАННЯ ЦИКЛУ ЛАБОРАТОРНИХ РОБІТ
ДЛЯ СТУДЕНТІВ НАПРЯМУ ПІДГОТОВКИ
6.050902 „РАДІОЕЛЕКТРОННІ АПАРАТИ”
УСІХ ФОРМ НАВЧАННЯ

ЧЕРНІГІВ ЧНТУ 2017


МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРНІГІВСЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ

ВСТУП ДО РАДІОЕЛЕКТРОНІКИ ТА
РОБОТОТЕХНІКИ

МЕТОДИЧНІ ВКАЗІВКИ
ДО ВИКОНАННЯ ЦИКЛУ ЛАБОРАТОРНИХ РОБІТ
ДЛЯ СТУДЕНТІВ НАПРЯМУ ПІДГОТОВКИ
6.050902 „РАДІОЕЛЕКТРОННІ АПАРАТИ”
УСІХ ФОРМ НАВЧАННЯ

Обговорено і рекомендовано
на засіданні кафедри
біомедичних радіоелектронних
апаратів та систем
Протокол № 9
від 27.04.2017 р.

ЧЕРНІГІВ ЧНТУ 2017


Методичні вказівки до виконання циклу лабораторних робіт

Вступ до радіоелектроніки та робототехніки. Методичні вказівки до


виконання циклу лабораторних робіт для студентів спеціальності 172
«Телекомунікації та радіотехніка» усіх форм навчання. – Чернігів: ЧНТУ, 2017. –
49 с.

Укладач: ВЕЛІГОРСЬКИЙ ОЛЕКСАНДР АНАТОЛІЙОВИЧ, кандидат технічних наук,


доцент

Відповідальний за випуск – ІВАНЕЦЬ СЕРГІЙ АНАТОЛІЙОВИЧ, кандидат технічних


наук, доцент, декан факультету електронних та інформаційних
технологій

Рецензент – РЕВКО АНАТОЛІЙ СЕРГІЙОВИЧ, кандидат технічних наук, доцент


кафедри промислової електроніки Чернігівського національного
технологічного університету
Вступ до фаху

Зміст

Вступ............................................................................................................................... 5
1 Лабораторна робота №1. Робота з вимірювальними
пристроями. Вимірювання опору ...................................................................... 7
1.1 Теоретичні відомості ....................................................................................... 7
1.2 Підготовка до роботи .................................................................................... 13
1.3 Проведення досліджень ................................................................................ 13
1.4 Розрахункова частина .................................................................................... 13
1.5 Вимоги до оформлення звіту ........................................................................ 14
1.6 Контрольні питання та завдання .................................................................. 14
2 Лабораторна робота №2. Робота з вимірювальними
пристроями. Визначення працездатності активних
радіоелектронних компонентів ........................................................................ 15
2.1 Теоретичні відомості ..................................................................................... 15
2.2 Підготовка до роботи .................................................................................... 15
2.3 Проведення досліджень ................................................................................ 15
2.4 Розрахункова частина .................................................................................... 16
2.5 Вимоги до оформлення звіту ........................................................................ 17
2.6 Контрольні питання та завдання .................................................................. 17
3 Лабораторна робота №3. Макетування електронних схем з
використанням монтажних плат типу Breadboard...................................... 18
3.1 Теоретичні відомості ..................................................................................... 18
3.2 Підготовка до роботи .................................................................................... 19
3.3 Проведення досліджень ................................................................................ 19
3.4 Вимоги до оформлення звіту ........................................................................ 20
3.5 Контрольні питання та завдання .................................................................. 20
4 Лабораторна робота №4. Перше знайомство з Arduino .............................. 21
4.1 Теоретичні відомості ..................................................................................... 21
4.2 Підготовка до роботи .................................................................................... 32
4.3 Проведення досліджень ................................................................................ 32
4.4 Вимоги до оформлення звіту ........................................................................ 33
4.5 Контрольні питання та завдання .................................................................. 33
5 Лабораторна робота №5. Робота з структурами управління в
Arduino .................................................................................................................. 35
5.1 Теоретичні відомості ..................................................................................... 35
5.2 Підготовка до роботи .................................................................................... 39
5.3 Проведення досліджень ................................................................................ 39
5.4 Вимоги до оформлення звіту ........................................................................ 40
5.5 Контрольні питання та завдання .................................................................. 40
Перелік посилань....................................................................................................... 42
Додаток А. Варіанти завдань до лабораторної роботи №3 ............................... 43
3
Методичні вказівки до виконання циклу лабораторних робіт

Додаток Б. Варіанти завдань до лабораторної роботи №4 ................................ 45

4
Вступ до фаху

Вступ
Дисципліна «Вступ до радіоелектроніки та робототехніки» входить до
нормативних дисциплін циклу професійної та практичної підготовки за
напрямом 6.050902 «Радіоелектронні апарати». Предметом вивчення даної
навчальної дисципліни є загальні уявлення про напрям підготовки
«Радіоелектронні апарати» та базові знання про структуру та принципи
побудови радіоелектронних пристроїв та систем різноманітного призначення.
Лабораторний практикум орієнтований на отримання базових практичних
навичок з макетування радіоелектронних виробів. Успішне виконання
лабораторного практикуму з дисципліни «Вступ до радіоелектроніки та
робототехніки» надає студенту вміння:
 експериментального визначення параметрів пасивних та активних
електронних компонентів, встановлення їх працездатності;
 проведення макетування радіоелектронних пристроїв з використанням
плат типу Breadboard;
 виготовлення одно- та двошарових друкованих плат без металізації
наскрізних отворів;
 монтажу та демонтажу електронних компонентів.
Дані методичні вказівки містять опис лабораторних робіт, що
виконуються під час вивчення дисципліни «Вступ до радіоелектроніки та
робототехніки», і присвячені опануванню зазначених вище практичних умінь.
Лабораторні заняття з даної дисципліни проводяться з використанням:
 персональних комп’ютерів, на яких встановлено відповідне програмне
забезпечення (Arduino IDE);
 макетних плат типу Breadboard;
 мікропроцесорних відлагоджувальних плат Arduino;
 мультиметрів DB830;
 наборів електронних компонентів (постійні та змінні резистори,
фоторезистори, конденсатори, діоди, транзистори, світлодіодні
індикатори та ін.).

Особливості проведення лабораторного практикуму


Процес виконання кожної лабораторної роботи включає самостійну
підготовку студентів напередодні заняття, для чого рекомендується
використовувати лекційний матеріал та навчальну літературу [1-4]. Якісна
підготовка до виконання лабораторної роботи призводить до меншої кількості
помилок під час її виконання та суттєво економить час. Під час підготовки
студент на основі методичних вказівок повинен сформувати протокол. Для
цього рекомендується використовувати зошит (18 аркушів), в який
записуватимуться протоколи до всіх лабораторних робіт, результати вимірів та
обробки даних, поточні висновки, отримані під час виконання. Після успішного
виконання всіх пунктів ходу роботи у протокол викладач ставитиме підпис, що
затверджуватиме виконання лабораторної роботи студентом. Присутність
5
Методичні вказівки до виконання циклу лабораторних робіт

протоколу перед початком виконання кожної лабораторної роботи є


обов’язковою умовою допуску студента до її виконання! У випадку відсутності
протоколу студент вважається непідготовленим та не допускається до
виконання лабораторної роботи!
Протокол обов’язково повинен містити:
1. Титульну частину (номер та назву лабораторної роботи, її мету).
2. Хід виконання лабораторної роботи.
3. Схему лабораторного макета (за необхідності).
4. Заготовки під таблиці для занесення в них результатів вимірювання.
Після того, як протокол перегляне викладач, студент допускається до
виконання роботи.
Під час виконання роботи студент послідовно виконує всі пункти ходу
роботи, заносячи результати вимірювань в чернетку (для запису даних
рекомендується використовувати заготовки таблиць, які містяться в додатках).
Після виконання всіх пунктів ходу роботи студент має показати
результати викладачу. У випадку адекватності отриманих студентом даних
лабораторна робота вважається виконаною, протокол затверджується підписом
викладача, і студент вдома може приступати до оформлення звіту про
виконання лабораторної роботи.
Результати виконання всіх лабораторних подаються у вигляді звітів на
аркушах формату А4, кожен з яких обов’язково містить:
1. Повну назву лабораторної роботи, номер групи, прізвище студента та
його підпис, мету лабораторної роботи.
2. Результат виконання (розрахунки, отримані експериментальні дані,
фото отриманих макетів пристроїв, тощо – більш докладна інформація
наведена у відомостях до кожної роботи);
3. Висновки щодо отриманих результатів.
Звіт може бути виконаним вручну або за допомогою комп’ютерної
техніки.
Після оформлення звіту рекомендується подати його викладачу на
перевірку під час консультації, й при необхідності, внести зміни в звіт. Після
затвердження звіту студент допускається до захисту лабораторної роботи.
Захист всіх робіт є обов’язковою складовою лабораторного практикуму з
дисципліни, тому студент може отримати підсумкову оцінку за курс лише після
захисту всіх робіт!

6
Вступ до фаху

1 Лабораторна робота №1. Робота з вимірювальними


пристроями. Вимірювання опору
Мета роботи: навчитись використовувати найпростіші електронні
вимірювальні пристрої – мультиметри для вимірювання параметрів пасивних
електронних компонентів.

1.1 Теоретичні відомості


1.1.1 Вимірювальні прилади.
Мультиметр – найбільш розповсюджений портативний прилад для
вимірювання електричних величин, таких як струм, напруга та опір. Крім того,
більшість мультиметрів здатна вимірювати працездатність та основні
параметри діодів та біполярних транзисторів, а також має режим
«продзвонювання» кабелів (який вказує на працездатність кабелю звуковим
сигналом). Деякі мультиметри можуть вимірювати крім активного
електричного опору ще й реактивні параметри, такі як ємність, а в певних
випадках – й індуктивність.
Мультиметр DT-830B (рис. 1.1) відноситься до найпростіших та найбільш
розповсюджених сучасних цифрових вимірювальних пристроїв.

Ω 5
Ω 4
3

Рисунок 1.1 – Зовнішній вигляд мультиметру DT-830B: 1 – перемикач вибору


межі та величини, що вимірюється, 2 – 3,5 розрядний рідинно-кристалічний
індикатор, 3,4 та 5 – контакти підключення загального, сигнального або
силового (до 10А) вимірювального щупа.

7
Методичні вказівки до виконання циклу лабораторних робіт

Він має 3,5 розрядний цифровий індикатор (максимальне число, що може


відображатись на ньому – 1999, тобто, неповні чотири розряди), та може
вимірювати:
 Постійну напругу (DC Voltage, позначення на мультиметрі – DCV).

Таблиця 1.1 – Параметри DT-830B в режимі DCV.


Одиниця молодшого
Діапазон Похибка вимірювання
розряду (ОМР)
200 мВ 100 мкВ

2000 мВ 1 мВ

20 В 10 мВ ±0,5% або ±5 ОМР

200 В 100 мВ

1000 В 1В

 Змінну напругу (AC Voltage, позначення на мультиметрі – ACV).

Таблиця 1.2 – Параметри DT-830B в режимі DCA


Одиниця молодшого
Діапазон Похибка вимірювання
розряду (ОМР)
200 В 100 мВ

750 В 1В ±1,2% або ±10 ОМР

1000 В 1В

 Постійний струм (DC Current, позначення на мультиметрі – DCA).

Таблиця 1.3 – Параметри DT-830B в режимі DCA.


Одиниця молодшого
Діапазон Похибка вимірювання
розряду (ОМР)
200 мкА 100 нА

2000 мкА 1 мкВ ±1,0% або ±5 ОМР

20 мА 10 мкА

200 мА 100 мкА ±1,2% або ±5 ОМР

10 А 10 мА ±2,0% або ±5 ОМР

 Опір (Resistance, позначення на мультиметрі – Ω).

8
Вступ до фаху

Таблиця 1.4 – Параметри DT-830B в режимі Ω.


Одиниця молодшого
Діапазон Похибка вимірювання
розряду (ОМР)
200 Ом 0,1 Ом ±1,2% або ±5 ОМР

2000 Ом 1 Ом

20 кОм 10 Ом ±1,0% або ±5 ОМР

200 кОм 100 Ом

2000 кОм 10 кОм ±1,2% або ±5 ОМР

 Коефіцієнт підсилення струму в транзисторі для схеми зі спільним


емітером (β, позначення на мультиметрі – hFE). Транзистор
підключається до окремих клем мультиметру у відповідності до його
типу (n-p-n або p-n-p), та розміщення виводів (емітер-база-колектор
EBC або база-колектор-емітер BCE).
 Падіння напруги на p-n переході напівпровідникового діоду при
протіканні струму 1 мА (позначення на мультиметрі – ). Даний
режим використовується для перевірки працездатності діодів, при
підключенні земляного щупа до катоду, а сигнального щупа до аноду
на цифровому індикаторі мультиметру повинно відображатись
падіння напруги на діоді при пропусканні через нього струму 1 мА.
При включенні щупів у зворотному напрямку на цифровому
індикаторі повинно відображатись «1___». Виконання цих двох умов
говорить про працездатність діода.
1.1.2 Похибка вимірювання.
При вимірюванні будь-яких параметрів в радіоелектроніці
використовується поняття похибки. Похибка вимірювання є у вимірювального
пристрою (показує, наскільки точно він здатен виміряти ту чи іншу величину),
у радіоелементу (наскільки точні параметри він має у порівнянні з заявленими в
технічній документації). Похибка може бути абсолютною та відносною.
Абсолютна похибка Δ вимірювального приладу – це різниця між
показом вимірювального приладу Хвим та істинним значенням Хі величини, що
вимірюється. Одиниці виміру абсолютною похибки співпадають з одиницями
величини, що вимірюється (Наприклад, для напруги – Вольти, для опору – Оми
і т.п.).
  X вим  X i . (1.1)
Відносна похибка δ – це відношення абсолютної похибки до істинного
значення величини, що вимірюється, її одиниці виміру – завжди відсотки:
 X вим  X i
   100% , %. (1.2)
Xi Xi

9
Методичні вказівки до виконання циклу лабораторних робіт

У випадку вимірювання опору отримаємо наступну формулу для


відносної похибки вимірювання:
Rвим  Rном
  100% , % (1.3)
Rном

1.1.3 Резистори
Резистори є одними з найбільш розповсюджених радіоелементів. Це
пасивний радіоелемент, який має електричний опір (постійний або ж який
можна змінювати), і який використовуються для обмеження струму,
перетворення струму в напругу чи навпаки, розсіювання електричної енергії та
інших функцій.
Серед параметрів резисторів виділяють наступні параметри:
 електричний опір (Ом),
 відносна похибка опору – допуск (%),
 потужність розсіювання (Вт),
 температурний коефіцієнт опору (ppm/C).
Найбільш важливим параметром є електричний опір, однак, при
розрахунку електричних кіл також необхідно враховувати потужність
розсіювання (при перевищенні потужності, що розсіюється на резисторі він
вийде з ладу з-за перегріву), а також допуск. Резистори поділяються на
штирьові (PTH – Placed Through Holes або Through Hole Mounting) та планарні
(SMD – Surface Mount Device або Surface Mounted technology), рис. 1.1 а та б,
відповідно. Штирьові резистори іноді називають резисторами з «аксіальними
виводами», так як їх виводи розміщуються по осі симетрії елементу, а планарні
– Chip-резисторами.

а) б)
Рисунок 1.2 – Резистори: а) штирьовий (PTH); б) планарний (SMD).
У відповідності до стандартів (ГОСТ175-72 та публікації 62 Міжнародної
електротехнічної комісії) кольорове маркування наноситься на PTH резистор
у вигляді 3, 4, 5 або навіть 6 кольорових кілець. При правильному маркуванні
маркувальні кільця повинні бути зсунуті до одного з виводів, або ж ширина
кільця першого знаку повинна бути в два рази ширше ніж інші, але на практиці
бувають і випадки, коли це правило не виконується, і зрозуміти з якого боку
необхідно «читати» маркування неможливо.
Принцип маркування кольоровими полосами показано на Рис. 1.2.

10
Вступ до фаху

Рисунок 1.3 – Принцип кольорового маркування PTH резисторів.


Таблиця 1.5 – Кольорове маркування резисторів.
1-ша 2-га 3-тя Допуск, ТКО,
Колір Множник
цифра цифра цифра % ppm/C
Сріблястий 10-2 10
-1
Золотистий 0 10 5
0
Чорний 0 0 10 Ом
Коричневий 1 1 1 101 1 100
Червоний 2 2 2 102 2 50
Помаранчевий 3 3 3 103 кОм 15
Жовтий 4 4 4 104 25
Зелений 5 5 5 105 0,5
Блакитний 6 6 6 106 МОм 0,25 10
Фіолетовий 7 7 7 107 0,1 5
Сірий 8 8 8 108 0,05
9
Білий 9 9 9 10 ГОм 1

Мінімальна кількість полос – три. В цьому випадку перші дві полоси –


числова величина опору в Омах, третя полоса – множник. Четверта полоса при
необхідності вказує значення допуску. Резистори з малим допуском
(0,1%...10%) маркуються п’ятьома кольоровими полосами. Перші три
відповідають числовому значенню опору в Омах, четверта – множнику, п’ята –
11
Методичні вказівки до виконання циклу лабораторних робіт

допуску. Шоста полоса зустрічається досить рідко і вказує на значення


температурного коефіцієнту опору – на скільки мільйонних частин (ppm)
змінюється опір при зміні температури резистору на 1 C.
Кодове маркування PTH резисторів складається з трьох або чотирьох
знаків: дві цифри та літера, або ж три цифри і літера. Літера вказує множник, її
положення визначає розміщення десяткової коми в номіналі резистору. Крім
цього, кодове маркування може розширюватись літерою латинського алфавіту
яка вказує допуск опору.
Приклади кодового маркування:
Код 3R9J – складається з чотирьох символів, літера R вказує на те, що
множником буде 1, тобто, опір – в Омах. Її положення вказує на десяткову
кому, тобто, ми отримуємо число 3,9 Ом. Остання літера вказує на допуск в 5%.
В результаті, отримаємо маркування резистору з параметрами 3,9 Ом +-5%.
Код 12K4F – складається з 5 символів, числа формують значення опору,
літера K – вказує на опір в кілоомах та є десятковим роздільником одночасно
(12,4·103 Ом = 12,4 кОм). Літера F вказує на точність +-1%. В результаті
отримаємо: 12,4 кОм±1%

Таблиця 1.6 – Кодове маркування резисторів.


Множник Код Допуск, % Код

±0,1 В (Ж)
1 R(E)
±0,25 С (У)

±0,5 D (Д)
103 К(К)
±1 F (P)

±2 G (Л)
106 М(М)
±5 J (И)

±10 К (С)
109 G(Г)
±20 М (В)

1012 T(T) ±30 N (Ф)

Маркування SMD резисторів може складатись:


 з однієї цифри «0» – резистор-перемичка з нульовим опором;
 трьох цифр у вигляді ABC, опір визначається за формулою AB·10C
Ом, наприклад, маркування «102» означає опір 10·102 Ом = 1 кОм,
«223» означає 22·103 Ом = 22 кОм, «000» означає 0 Ом і т.п.;
 чотирьох цифр у вигляді ABCD, опір визначається за формулою
ABC·10D Ом, наприклад, маркування «8202» означає опір 820·102 Ом
= 82 кОм і т.п.;

12
Вступ до фаху

 трьох або чотирьох символів, один з яких – літера, а інші – цифри,


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

1.2 Підготовка до роботи


1. Користуючись методичними вказівками (додаток А) ознайомитись з
органами керування та режимами роботи (включаючи межі виміру та
точність) мультиметру DT-830B.
2. Користуючись методичними вказівками та довідниковою літературою
ознайомитись з системою кольорового та текстового маркування
резисторів.
3. Підготувати протокол до виконання лабораторної роботи з таблицями
та іншими необхідними складовими (див. розділ Вступ даних
методичних вказівок).

1.3 Проведення досліджень


1. Виміряти мультиметром DT-830B опір щупів на найнижчому
діапазоні вимірювання опору, враховувати отримане значення в
подальших дослідах, віднімаючи його від виміряного опору
резистору.
2. Виміряти за допомогою мультиметру DT-830B електричний опір 15
резисторів (по 5 PTH з текстовим та кольоровим маркуванням та 5
SMD), результати вимірів занести в таблицю 1.7.
3. Сфотографувати маркування, нанесене на корпусі резистору (1
елемент з текстовим маркуванням та 1 елемент з кольоровим
маркуванням.

1.4 Розрахункова частина


1. Скориставшись значенням вимірів, розрахувати похибку опору,
порівнюючи виміряні значення з номінальним значенням опору з
маркування. Результати занести в таблицю 1.7.
2. Порівнюючи виміряне значення опору з довідниковим для кожного
резистору, встановити працездатність радіоелементу та відповідність
його заявленим характеристикам (опір та відносну похибку, див.
формулу 1.3).

Таблиця 1.7 – Результати дослідження резисторів.


Номінал у Відносна
Виміряне
№ Позначення на резисторі відповідності до похибка опору,
значення опору
позначення %
1
2

13
Методичні вказівки до виконання циклу лабораторних робіт

15

1.5 Вимоги до оформлення звіту


Звіт з лабораторної роботи обов’язково повинен містити:
1. Фото сфотографованих маркувань резисторів та їх повну
розшифровку.
2. Розрахунки точності для всіх резисторів.
3. Заповнену таблицю 1.7.

1.6 Контрольні питання та завдання


1. Для чого використовуються вимірювальні прилади – мультиметри?
2. Які електричні величини можуть бути виміряні за допомогою
мультиметрів?
3. Які електричні величини можуть бути виміряні за допомогою
мультиметру DT-830B?
4. Яка точність мультиметру DT-830B?
5. Для чого в радіоелектроніці використовуються резистори?
6. Які типи резисторів ви знаєте?
7. Які типи маркування резисторів існують?
8. Які параметри резистору вносяться в його маркування?
9. Які кольори вносяться в кольорове маркування резистору і що вони
означають?
10. Які літери використовуються для текстового маркування резистору?
Як їх розміщення впливає на номінал резистору?
11. В чому особливості маркування SMD резисторів?

14
Вступ до фаху

2 Лабораторна робота №2. Робота з вимірювальними


пристроями. Визначення працездатності активних
радіоелектронних компонентів
Мета роботи: навчитись використовувати найпростіші електронні
вимірювальні пристрої – мультиметри для вимірювання параметрів та
визначення працездатності активних електронних компонентів на прикладі
напівпровідникового діода та біполярного транзистору.

2.1 Теоретичні відомості

2.2 Підготовка до роботи


1. Користуючись методичними вказівками ознайомитись з основними
сферами використання та призначенням напівпровідникових приладі
– діодів та транзисторів.
2. Користуючись методичними вказівками та довідниковою літературою
ознайомитись методами перевірки працездатності діодів та
транзисторів за допомогою мультиметру.
3. За допомогою довідникової літератури та мережі Інтернет знайти
інформацію про маркування, розміщення виводів та основні
параметри напівпровідникових діодів та біполярних транзисторів, що
будуть досліджуватись в лабораторній роботі.
4. Підготувати протокол до виконання лабораторної роботи з таблицями,
параметрами, маркуванням та розміщенням виводів діодів та
транзисторів, іншими необхідними складовими протоколу, вказаними
у розділі Вступ методичних вказівок).

2.3 Проведення досліджень


1. Провести перевірку працездатності за допомогою мультиметру DT-
830B напівпровідникових діодів. Для цього послідовно подавати
напругу з щупів мультиметру для прямого та зворотного включення
діоду, зробити висновки про працездатність напівпровідникового
діоду по показам цифрового індикатору DT-830B. Внести пряме
падіння напруги на діоді, що досліджується, до таблиці 2.1.
2. Аналогічно до п.1 провести перевірку працездатності світлодіодів. У
випадку відсутності показів цифрового індикатору DT-830B і в
прямому і в зворотному включенні візуально впевнитись у наявності
світіння світлодіоду при прямому включенні. Внести пряме падіння
напруги на світлодіоді, що досліджується (якщо це можливо), до
таблиці 2.1.

15
Методичні вказівки до виконання циклу лабораторних робіт

3. Провести перевірку працездатності біполярних транзисторів,


результати вимірів занести до таблиці 2.2. Для цього послідовно
подавати для кожного транзистору на кожен p-n перехід напругу в
прямому та зворотному напрямку, покази цифрового індикатору DT-
830B заносити до таблиці 2.2.
4. Провести вимірювання параметрів біполярних транзисторів,
результати вимірів занести до таблиці 2.2. Для цього розмістити
транзистор, що досліджується, у роз’єм «hFE» мультиметру DT-830B
з дотриманням відповідності виводів та типу транзистору (n-p-n або p-
n-p) та записати показ цифрового індикатору мультиметру до таблиці
2.2.

2.4 Розрахункова частина


1. Для трьох діодів, вказаних викладачем, розрахувати похибку
виміряного прямого падіння напруги зі значенням, вказаним в
довіднику.
2. Для трьох біполярних транзисторів, вказаних викладачем, розрахувати
похибку виміряного коефіцієнту підсилення струму за схемою з
загальним емітером зі значенням, вказаним в довіднику.
Таблиця 2.1 – Результати дослідження напівпровідникових діодів.
Показ цифрового Показ цифрового Висновок про
№ Назва діода індикатору при індикатору при працездатність
прямому включенні зворотному включенні приладу
1
2

10

Таблиця 2.2 – Результати дослідження біполярних транзисторів.


БЕ перехід, БК перехід, КЕ перехід,
Назва показ індикатору показ індикатору показ індикатору
№ hFE
транзистору при включенні при включенні при включенні
Пряме Зворотне Пряме Зворотне Пряме Зворотне
1
2

5

16
Вступ до фаху

2.5 Вимоги до оформлення звіту


Звіт з лабораторної роботи обов’язково повинен містити:
1. Фото, основні параметри, розміщення виводів напівпровідникових
діодів та біполярних транзисторів, що досліджувались у лабораторній
роботі.
2. Заповнені таблиці 2.1 та 2.2.
3. Висновки щодо працездатності діодів та транзисторів, що
досліджувались у лабораторній роботі.

2.6 Контрольні питання та завдання


1. В чому основні відмінності активних елементів РЕА від пасивних?
2. Де і для чого можуть бути використані напівпровідникові діоди?
3. Де і для чого можуть бути використані біполярні транзистори?
4. Яку назву мають виводи напівпровідникових діодів?
5. Яку назву мають виводи біполярних транзисторів?
6. Назвіть основні параметри напівпровідникових діодів.
7. Назвіть основні параметри біполярних транзисторів.
8. Які параметри напівпровідникових діодів можуть бути виміряні за
допомогою мультиметрів?
9. Які параметри біполярних транзисторів можуть бути виміряні за
допомогою мультиметрів?Яка точність мультиметру DT830B?
10. Як виміряти працездатність напівпровідникових діодів за допомогою
мультиметра?
11. Як виміряти працездатність біполярного транзистору за допомогою
мультиметра?

17
Методичні вказівки до виконання циклу лабораторних робіт

3 Лабораторна робота №3. Макетування електронних схем з


використанням монтажних плат типу Breadboard
Мета роботи: навчитись використовувати монтажні плати типу
Breadboard для створення макетів радіоелектронних пристроїв.

3.1 Теоретичні відомості


Під час збірки мультивібратору слід уважно розміщувати елементи, що
мають полярність або різні за призначенням виводи. Наприклад, в даній схемі
це:
 Світлодіоди VD1 та VD2. Біля виводу аноду світлодіоду під
пластиковим розсіювачем розміщується кристал.
 Електролітичні конденсатори C1 та C2. Мінус конденсатору
позначається білою полосою з нанесеним знаком «-», а плюс має
більшу довжину, якщо конденсатор новий і ще не використовувався.
 Біполярні транзистори VT1 та VT2. Необхідно встановлювати у
відповідності до розміщення виводів, яке можна дізнатись з офіційної
документації – Data Sheet. Правильне розміщення на макетній платі
транзисторів 2N2222 показано на рис. 3.2.

18
Вступ до фаху

Рисунок 3.1 – Схема електрична принципова мультивібратору на біполярних


транзисторах.

Рисунок 3.2 – Збірка мультивібратору на макетній платі та підключення


джерела живлення.

3.2 Підготовка до роботи


1. Користуючись методичними вказівками ознайомитись з принципом
роботи макетування радіоелектронних пристроїв на макетних платах
типу Breadboard.
2. Користуючись методичними вказівками та довідниковою літературою
ознайомитись з особливостями роботи схеми, що буде збиратись на
лабораторній роботі.
3. Підготувати протокол до виконання лабораторної роботи, в який
внести електричну принципову схему пристрою, що буде
досліджуватись в лаборторній роботі, та інші необхідні складові
протоколу, вказані у розділі Вступ методичних вказівок).

3.3 Проведення досліджень


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

19
Методичні вказівки до виконання циклу лабораторних робіт

3.4 Вимоги до оформлення звіту


Звіт з лабораторної роботи обов’язково повинен містити:
1. Схему електричну принципову радіоелектронного пристрою, що буде
досліджуватись в лабораторній роботі з вказаними на ній позиційними
позначеннями, номіналами пасивних та назвами активних
компонентів.
2. Короткий опис роботи схеми пристрою, що досліджується в
лабораторній роботі.
3. Фото зібраного радіоелектронного пристрою на макетній платі типу
Breadboard з відміченими на ній позиційними позначеннями
електронних компонентів.
4. Аналіз роботи пристрою при зміні параметрів радіоелементу, який
вказаний у завданні до лабораторної роботи.

3.5 Контрольні питання та завдання


1. Як працює макетна плата типу Breadboard?
2. Де підключається живлення на макетну плату типу Breadboard?
3. Що таке мультивібратор? На яких радіоелементах він може бути
реалізований?
4. Що таке одновібратор? На яких радіоелементах він може бути
реалізований?
5. Як змінюється опір фоторезистора зі зміною освітленості?
6. Як змінюється з часом напруга на конденсторі при подачі на нього
постійної напруги через струмообмежувальний резистор, в залежності
від ємності конденсатора?

20
Вступ до фаху

4 Лабораторна робота №4. Перше знайомство з Arduino


Мета роботи: навчитись складати, відлагоджувати та виконувати прості
програми на мікропроцесорних модулях Arduino.

4.1 Теоретичні відомості


4.1.1 Апаратне забезпечення
Arduino – це електронний конструктор та зручна платформа швидкої
розробки електронних пристроїв. Платформа користується великою
популярністю у всьому світі завдяки зручності та простоті мови програмування,
а також завдяки відкритій архітектурі та програмному коду. Arduino
програмується через USB без використання програматорів. Ця платформа
дозволяє комп’ютеру вийти за межі віртуального світу у фізичний та
взаємодіяти з ним. Пристрої на базі Arduino можуть отримувати інформацію
про оточуюче середовище завдяки різним датчикам, а також можуть керувати
різними виконавчими пристроями. Мікроконтролер на платі програмується за
допомогою мови Arduino (С-подібна мова програмування) та середовища
розробки Arduino, що нагадує звичайний блокнот, але з підсвіткою синтаксису.
Проекти пристроїв, що засновані на Arduino, можуть працювати самостійно,
або взаємодіяти з програмним забезпеченням на комп’ютері. Плати можуть
бути зібрані користувачем самостійно або придбані вже у зібраному вигляді.
Вихідні креслення схем (файли CAD) є загальнодоступні, користувачі можуть
застосовувати їх на свій розсуд. Існує декілька версій платформ. Версія
Leonardo базується на мікроконтролері ATmega32u4. ArduinoUno, як і
попередня версія Duemilanove побудована на мікроконтролері Atmel
ATmega328. Старі версії платформи Diecimila та Duemilanoves базувалися на
Atmel ATmega168, ще більш ранні версії використовували ATmega8. Arduino
Mega2560, у свою чергу, побудована на мікроконтролері ATmega2560. Даний
курс побудовано на версії Arduino Uno. На рисунку 4.1 зображена платформа
Arduino Uno (Зовнішній вигляд плати може дещо відрізнятися від зображеної
на рисунку залежно від ревізії та виробника).
External Power Supply – Arduino живиться через USB, але за необхідності
можна подати живлення через цей роз’єм, при цьому напруга живлення не
повинна перевищувати 12 вольт.
Reset Button – кнопка скидання, після її натискання контролер почне
виконувати програму, що завантажена в нього з початку.
ATmega328 – мікроконтролер, саме в нього завантажується програма яку
він потім виконує.
Serial Out(TX), Serial In(RX) – використовується для отримання (RX) та
передачі (TX) даних по послідовному інтерфейсу (якщо в послідовному
інтерфейсі нема потреби, то можна використовувати ці виводи як звичайні
цифрові).

21
Методичні вказівки до виконання циклу лабораторних робіт

Рисунок 4.1 – Arduino


In-circuit serial programmer – роз’єм внутрішносхемного послідовного
програмування можна використовувати для програмування мікроконтролера
ATmega328 від зовнішнього програматора (Увага! В разі програмування
мікроконтролера від зовнішнього програматора службова програма-
завантажувач, що “зашита” в пам’яті ATmega328, може бути затерта. Тоді буде
втрачена можливість програмувати цей мікроконтролер через USB роз’єм з
середовища Arduino).
Виводи Arduino розділено (у якомусь роді умовно) на цифрові (D0-D13) та
аналогові (A0-A5), хоча при написанні програм використовується “наскрізна”
нумерація виводів, тобто вивід 13 = D13, а 14 = A0, 15 = A1 і т.д.
Digital I/O pins – цифрові виводи можуть використовуватись у якості
входів або виходів (режим входу або виходу задається у програмі), виводи D0,
D1 використовуються для передачі даних через асинхронний послідовний порт
та підключені до USB-serial контролеру (таким чином дані можна передавати з
Arduino на комп’ютер). Виводи D2, D3 можуть використовуватись для виклику
зовнішніх переривань. Виводи D3, D5, D6, D9, D10, та D11 пов’язані з
внутрішніми таймерами-лічильниками МК і можуть використовуватись для
виводу ШІМ-сигналу (Широтно-імпульсна модуляція, PWM) або в якості
входів для підрахунку зовнішніх імпульсів. Виводи D10-D13 можуть
використовуватись для роботи з зовнішніми пристроями по протоколу SPI.
Вивід D13 підключений до світлодіода «L» на платі Arduino UNO.
Analog In pins – аналогові входи можуть бути використані як входи, АЦП
(АЦП — аналого-цифровий перетворювач) з розрядністю 10 біт (отримане
значення буде знаходитись в діапазоні 0-1023) та максимальною напругою, що
може бути виміряна 5 В відносно землі. За допомогою виводу Analog Reference

22
Вступ до фаху

Pin можна задати інший діапазон виміру напруги, але максимальна напруга, що
може бути подана на цей вивід не повинна перевищувати 5 В.
Voltage in можна використовувати для подачі живлення від зовнішнього
джерела (наприклад — акумулятора чи батарейки), сигнал з цього виводу
проходить через регулятор напруги, щоб отримати 5 В необхідні для живлення
ATmega328.
На виводах 5 Volt Power Pin та 3.3 Volt Power Pin присутні відповідні
напруги (їх можна використовувати для живлення зовнішніх схем, що
підключаються до Arduino, якщо вони споживають не великий струм).
Ground Pins та Digital Ground – земля схеми (провідник відносно якого
вимірюються усі напруги у схемі).
У таблиці 4.1 наведені характеристики Arduino Uno.

Таблиця 4.1 – Основні характеристики Arduino Uno.


Мікроконтролер ATmega328
Робоча напруга 5В
Вхідна напруга (рекомендована) 7-12 В
Вхідна напруга (граничні значення) 6-20 В
Цифрові Входи/Виходи 14
Аналогові входи 6
Постійний струм через вхід/вихід 40 мА
Постійний струм для виводу 3.3 В 50 мА
Флеш-пам’ять 32 Кб (ATmega328)
ОЗП 2 Кб (ATmega328)
EEPROM 1 Кб (ATmega328)
Тактова частота 16 МГц

Програму можна запустити за допомогою ярлика на робочому столі ( )


або у меню пуск. Якщо ярликів нема, то програму можна знайти у директорії,
куди вона була встановлена (C:\Program Files\Arduino\Arduino.exe).
Середовище розробки Arduino складається з вбудованого текстового
редактора програмного кода, області повідомлень, панелі інструментів з
кнопками найбільш вживаних команд, та декількох меню. Для завантаження
програм та зв’язку середовище розробки Arduino підключається до апаратної
частини Arduino (плата Arduino Uno, дивись рисунок 4.1) за допомогою кабелю
USB, який зображено на рисунку 4.2.

23
Методичні вказівки до виконання циклу лабораторних робіт

Рисунок 4.2 – Кабель з роз’ємами USB-А та USB-B


Програма, яка написана у середовищі Arduino, зветься скетч. Скетч
пишеться у текстовому редакторі, що має інструменти вирізки/вставки,
пошуку/заміни тексту. Вікно повідомлень (консоль) показує повідомлення
Arduino, що містять звіти про помилки та іншу інформацію. Кнопки панелі
інструментів дозволяють перевірити та записати програму, створити, відкрити
та зберегти скетч, відкрити моніторинг послідовного порту:
– Перевірка програмного коду на наявність помилок (компіляція).
– Компілює програмний код та завантажує його в мікроконтролер, що
знаходиться на платі Arduino.
– Створення нового скетчу.
– Відкриває меню доступу до усіх доступних скетчів.
– Збереження скетчу.
– Відкриває монітор послідовного порту.

Додаткові команди згруповані у п’ять меню: “Файл”, “Правка”, “Скетч”,


“Инструменты”, “Помощь”. Доступність меню визначається діями у програмі,
що виконуються в даний момент часу (пункти меню контекстно залежні). Ось
деякі з цих команд:
Правка
Копировать для форума (Ctrl+Shift+C) — Копіює у буфер обміну код
скетчу, таким чином що його можна розмістити на сторінці інтернет форуму зі
збереженням підсвітки синтаксису.
Копировать в HTML (Ctrl+Alt+C) — Копіює у буфер обміну код скетчу
як HTML код, для розміщення на веб-сторінках.
Скетч
Подключить библиотеку — Дозволяє додати бібліотеку у поточний скетч,
вставляє директиву #include в код скетчу (Більш детальна інформація про
бібліотеки буде наведена далі).
Показать папку скетча (Ctrl+К) — Відкриває директорію, що містить
файл скетчу у провіднику.
Добавить файл... — Додає файл у скетч (файл буде скопійовано з його
поточного місця знаходження до директорії вашого скетчу). Новий файл
з’явиться у новій вкладці у вікні скетчу. Файл може бути видалено зі скетчу за
допомогою меню вкладок (меню вкладок зображено на рисунку 4.3).

24
Вступ до фаху

Меню вкладок

Рисунок 4.3 – Меню вкладок середовища Arduino


Инструменты
АвтоФорматирование (Ctrl+T) — Дана опція оптимізує код, наприклад,
вибудовує в одну лінію по вертикалі дужку, що відкривається та дужку, що
закривається і розміщує між ними вирази (дивись рисунок 4.4).

Скетч до автоформатування Скетч після автоформатування


Рисунок 4.4 – Дія команди автоформатування на текст програми в середовищі
Arduino
Плата — Ця команда дозволяє обрати апаратну платформу для якої ми
пишемо скетч (В даному лабораторному практикуму використовується
платформа Arduino Uno).
Порт — Ця команда показує перелік послідовних портів передачі даних
(реальних, наприклад, COM1 чи COM2 та віртуальних, наприклад, COM4,
COM5 і т.д.) та дозволяє обрати порт до якого підключена обрана апаратна
платформа Arduino. Перелік портів оновлюється автоматично кожний раз при
відкриванні меню Инструменты. Для того щоб обрати правильний порт
спочатку запустіть середовище Arduino, відкрийте меню Инструменты та
відкрийте перелік портів за допомогою команди Порт. Запам’ятайте номери
портів які є у наявності, потім підключить Arduino Uno за допомогою USB
кабелю до комп’ютера та знов зайдіть у меню Инструменты і відкрийте перелік

25
Методичні вказівки до виконання циклу лабораторних робіт

портів. Порт з номером, якого не було раніше і є тим портом до якого


підключена плата Arduino Uno, оберіть його зі списку.
Записать Загрузчик — Ця команда дозволяє записати Завантажувач
(Bootloader) у мікроконтролер на платі Arduino. У даній дії немає потреби при
поточній роботі з Arduino, але ця команда може знадобитися, якщо є новий
мікроконтролер (без завантажувача), або ви випадково затерли чи пошкодили
завантажувач на вашій платі. Вочевидь для вдалого виконання цієї команди ви
повинні мати програматор, який має бути підключений до роз’єму In-circuit
serial programmer (див. Рисунок 4.1) та не забути зазначити тип програматора у
пункті Программатор і ще правильно обрати порт до якого він підключений у
вже відомому вам пункті Порт.
Помощь
Справочник — Ця команда відкриває довідкову систему Arduino у
інтернет браузері, що використовується вашою операційною системою за
умовчанням. Довідка за усіма основними командами міститься локально на
вашому комп’ютері у директорії куди встановлено середовище Arduino. Для
отримання довідки по бібліотечних функціях, що не входять у число основних
вам знадобиться з’єднання з мережею інтернет, звідки і буде завантажена
стаття з довідковою інформацією про об’єкт, що вас цікавить (уся довідкова
інформація як локальна так і з мережі наведена англійською мовою).
Файл
Середовище Arduino зберігає усі ваші скетчі у одній директорії (кожен
скетч зберігається у окремій піддиректорії), обрати директорію для зберігання
скетчів можна за допомогою команди Настройки (Ctrl+Comma).
Папка со скетчами — Дає можливість відкрити скетч з директорії, що
була вказана у якості сховища скетчів (дивись попередню команду).
Якщо скетч який ви бажаєте відкрити знаходиться у якомусь іншому
місті, то відкрити його можна за допомогою команди Открыть… (Ctrl+O).
Середовище Arduino дозволяє працювати зі скетчами, що складаються з
декількох файлів (кожен файл відкривається у окремій вкладці, дивись рисунок
4.5). У скетчі можуть використовуватися такі типи файлів: стандартні Arduino
(у вкладці відображаються без розширення, хоча насправді мають розширення
*.ino або *.pde), файли мови С (розширення *.с), файли мови С++ (розширення
*.срр) та заголовкові файли (в мові С та С++ мають однакове розширення *.h).

26
Вступ до фаху

Відкриті вкладки

Рисунок 4.5 – Відкриті вкладки в середовищі Arduino


4.1.2 Завантаження скетчу в Arduino
Щоб завантажити скетч у плату Arduino необхідно правильно обрати тип
плати у меню Инструменты -> Плата (у даному лабораторному практикумі це
плата — Arduino Uno) та обрати послідовний порт до якого ця плата
підключена, що можна зробити у меню Инструменты->Порт. Далі необхідно
натиснути кнопку завантаження, яка знаходиться на панелі інструментів
середовища Arduino. Під час завантаження програми на платі будуть блимати
світлодіоди RX та TX. В кінці завантаження у вікні повідомлень середовище
Arduino виведе повідомлення про закінчення процесу завантаження або про
помилки, які виникли під час завантаження.
Для завантаження скетчу використовується завантажувач (Bootloader)
Arduino, невелика програма, що знаходиться у мікроконтролері на платі. Ця
програма дозволяє завантажувати програмний код без використання
додаткових апаратних засобів (немає потреби у програматорі).
Bootloader є активним протягом декількох секунд під час
перезавантаженні платформи (коли тільки подали живлення, або після
натискання кнопки скидання мікроконтролера), а також під час завантаження
будь-якого скетчу в мікроконтролер. Роботу завантажувача можна розпізнати
по блиманню світлодіода під’єднаного до виводу 13 плати Arduino Uno.
4.1.3 Основи синтаксису мови Arduino
Код програми Arduino набирається у вікні редактору, і як правило містить
дві основні функції – setup() та loop(), в яких розміщуються інші функції,
оператори, структури управління, тощо. Функція setup() викликається один
раз при включенні живлення плати або скиданні (натисканні кнопки reset). Як

27
Методичні вказівки до виконання циклу лабораторних робіт

правило використовується для ініціалізації змінних, налаштування режиму


роботи виводів, підключення сторонніх бібліотек. Функція loop() – основний
цикл програми, виконується послідовно й безперервно, містить код основної
частини програми.
Приклад:
int buttonPin = 3;

void setup()
{
beginSerial(9600); //конфігуруємо послідовний порт
pinMode(buttonPin, INPUT); //вивод 3 – вхід
}

void loop()
{
if (digitalRead(buttonPin) == HIGH) //кнопка натиснута?
serialWrite('H'); // так – відправляємо Н
else
serialWrite('L'); // ні – відправляємо L

delay(1000); // затримка 1000 мс


}
Для коментарів використовують один з двох варіантів:
 /* */ блочний коментар;
 // коментар на один рядок (до кінця рядка)
Для закінчення виразу в його кінці ставиться точка з комою. Пропущена
точка з комою в кінці виразу – одна з типових помилок при написанні програм.
Фігурні дужки { } використовуються в багатьох конструкціях мови
програмування Arduino для визначення блоків коду, які вважаються як єдине
ціле для певної конструкції програмування, для прикладу, в фігурні дужки
розміщують тіло функції (стандартної або ж заданої користувачем), тіло циклу,
оператори що виконуються за певної умови, тощо. Кількість відкритих
фігурних дужок повинна дорівнювати кількості закритих дужок. Для зручності,
рекомендується використовувати автоформатування (Ctrl+T), яке автоматично
вирівнює відкриваючі та закриваючі фігурні дужки одна під одною у
відповідності до структури програми.
4.1.4 Константи та змінні в мові програмування Arduino
Константи в мові програмування Arduino задаються за допомогою
компоненту #define.
Синтаксис:
#define constantName value
constantName – ім’я константи;
value – значення константи, що присвоюється.
Точка з комою не ставиться після визначення константи за допомогою
#define!

28
Вступ до фаху

Також для визначення константи частіше використовується ключове


слово const. На відміну від #define const може використовуватись для
встановлення констант-масивів.
Приклад:
#define ledPin 3 // ledPin – константа для виводу №3 плати
const float pi = 3.14;
В мові Arduino вже використовуються певні зарезервовані константи, такі
як true та false (логічні «так» та «ні») а також HIGH, LOW (логічні «1» та
«0»), INPUT та OUTPUT (вхід та вихід – для конфігурації виводів плати).
Змінні задаються

#include (include)

4.1.5 Функції введення-виведення даних в Arduino


Нижче розглянуті основні функції мови Arduino, призначені для введення
та виведення цифрових та аналогових сигналів через виводи плати.
pinMode() – конфігурує визначений вивід Arduino як вхід, вихід, або ж
вхід «підтягнутий» вбудованим підтягуючим резистором до живлення. Як
правило виводи конфігуруються в функції setup().
Синтаксис:
pinMode(pin, mode)
pin – номер виводу;
mode: INPUT, OUTPUT, або INPUT_PULLUP (вхід, вихід, підтягнутий до
живлення вхід).
Приклад:
void setup()
{
pinMode(13, OUTPUT); // вст. цифр. вив 13 як вихід
pinMode(A0, INPUT); // вст. ан. вив. A0 як вхід
}

digitalRead() – зчитує значення сигналу з вказаного цифрового


виводу (зчитане значення може бути HIGH або LOW). Якщо вказаний вивід
нікуди не підключений («висить у повітрі»), значення, що буде зчитуватись
буде випадковим, і залежатиме від багатьох факторів.
Синтаксис:
digitalRead(pin)
pin – номер виводу;
Значення, що повертається: HIGH або LOW.

digitalWrite() – встановлення значення HIGH чи LOW на вказаному в


функції виводі. В більшості випадків, вивід, на якому встановлюється значення
цифрового сигналу за допомогою даної функції, конфігурується як «вихід» за
допомогою функції pinMode(), хоча, можливе використання даної функції і
29
Методичні вказівки до виконання циклу лабораторних робіт

для виводів, сконфігурованих як «вхід». Аналогові входи також можуть бути


використані як цифрові, дана функція встановлюватиме на виході логічний
рівень. Логічний рівень HIGH встановлює напругу на вказаному виводі 5В
(логічна одиниця), в той час як LOW – рівень 0В (логічний нуль).
Синтаксис:
digitalWrite(pin, value)
pin – номер виводу;
value: HIGH або LOW.

Приклад:
int ledPin = 13; // світлодіод на виводі 13
int inPin = 7; // кнопка підкл. до цифр. вив. 7
int val = 0; // змінна для збереження вимір. знач.

void setup()
{
pinMode(ledPin, OUTPUT); // цифр.вив.13 як вихід
pinMode(inPin, INPUT); // цифр.вив.13 як вхід
}

void loop()
{
val = digitalRead(inPin); // зчит. цифр. знач з 7 вивода
digitalWrite(ledPin, val); // встан.на світл. счит.знач
}

analogRead() – зчитування аналогового значення з вказаного виводу.


Плати Arduino містять від 6 (для UNO) до 16 (для Mega) виводів, які
дозволяють ввести аналогове значення через вбудований аналогово-цифровий
перетворювач (АЦП) роздільною здатністю 10 біт. При стандартних
налаштуваннях, це означає що ми можемо ввести аналогову напругу в діапазоні
від 0 до 5 В, яка буде перетворена в Arduino в цифровий код (integer) від 0 до
1023, відповідно. Роздільна здатність (вага одного біта) складає 4.9 мВ.
Тривалість перетворення вбудованим АЦП складає біля 100 мкс, що визначає
максимальну швидкість роботи АЦП в 10кГц. Якщо вказаний вивід нікуди не
підключений («висить у повітрі»), значення, що буде зчитуватись буде
випадковим, і залежатиме від багатьох факторів.
Синтаксис:
analogRead(pin)
pin – номер виводу.
Значення, що повертається: від 0 до 1023 – int(0…1023).

analogWrite() – виведення аналогового сигналу (ШІМ-сигнал) через


вивід Arduino. В реальності, сигнал виводиться не в аналоговому вигляді, а у
вигляді широтно-модульованого імпульсу з частотою 490 або 980 Гц і
коефіцієнтом заповнення від 0 до 1, що дозволяє змінювати середнє значення

30
Вступ до фаху

від 0В до 5В. Дана функція дозволяє підключати невимогливі аналогові


виконавчі механізми та індикатори (двигуни постійного струму, серводвигуни,
світлодіоди, тощо).
Синтаксис:
analogWrite(pin, value)
pin – номер виводу;
value – тривалість імпульсу від 0 (завжди 0 – 0В) до 255 (завжди 1 – 5В).
Приклад:
int analogPin = 3; // потенціометр підкл. до ан. виводу 3
int ledPin = 9; // св.діод підкл. до вив. 9
int val = 0; // змінна для збереження зчит.значення

void setup()
{
pinMode(ledPin, OUTPUT); // вивід 3 як вихід
pinMode(analogPin, INPUT); // вивід 9 як вхід
Serial.begin(9600); // конфігурація послідовного порту
}

void loop()
{
val = analogRead(analogPin); // зчит.ан.зн. з ан.вив.
analogWrite(ledPin, val / 4); // вивед.знач від 0 до 255
Serial.println(val); // вивед. знач.в посл. порт
}

4.1.6 Оператори в Arduino


Оператори порівняння мови Arduino:
 != не дорівнює;
 < менше чим;
 <= менше чи дорівнює;
 == дорівнює;
 > більше ніж;
 >= більше чи дорівнює.
Всі оператори порівняння порівнюють змінну зліва від оператору зі
змінною (чи константою) справа від оператора, та повертають значення true
(якщо умова виконується) або false (якщо не виконується). Оператори
порівняння використовуються дуже часто у складі структур циклів та умов.
Синтаксис:
x != y
Параметри:
x – змінна яку порівнюють. Дозволені типи даних: int, float, double,
byte, short, long;
y – змінна або константа, з якою порівнюють. Дозволені типи даних: int,
float, double, byte, short, long.
Значення, що повертається: true або false.

31
Методичні вказівки до виконання циклу лабораторних робіт

Приклад:
if (x!=y) // Перевірка чи x не дорівнює y
{
// виконання певних операторів, якщо так
}

Булеві оператори в Arduino.


! логічне НІ (інверсія).
&& логічне ТА
|| логічне АБО
Булеві оператори працюють лише з типом даних boolean (true або
false). Логічний оператор ТА видає true лише якщо обидва операнди мають
значення true. Якщо хоч один з операндів false – оператор ТА видає
результат false. Логічний оператор АБО видає true якщо хоча б один з
операндів має значення true. Якщо обидва операндів false – оператор АБО
видає результат false . Булеві оператори разом з операторами порівняння
широко використовуються у складі структур циклів та умов.
Приклади:
if (!x) { // якщо x не має значення TRUE
// то виконуємо певні оператори
}
x = !y; // інвертуємо значення y та зберігаємо в x
if (digitalRead(2) == HIGH && digitalRead(3) == HIGH) {
// якщо ОБИДВА сигнали HIGH
// виконуємо певні функції й оператори
}
if (x > 0 || y > 0) { // якщо АБО x АБО y більше нуля
// то виконуємо певні функції й оператори
}

4.2 Підготовка до роботи


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

4.3 Проведення досліджень


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

2. Написати програму для Arduino, яка буде виконувати всі функції,


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

4.4 Вимоги до оформлення звіту


Звіт з лабораторної роботи обов’язково повинен містити:
1. Схему електричну принципову радіоелектронного пристрою, що буде
досліджуватись в лабораторній роботі з вказаними на ній позиційними
позначеннями, номіналами пасивних та назвами активних
компонентів.
2. Короткий опис роботи схеми пристрою, що досліджується в
лабораторній роботі.
3. Текст програми для Arduino та її опис (призначення всіх функцій та
операторів, можна у вигляді коментарів в тілі програми).
4. Кілька фото зібраного радіоелектронного пристрою на макетній платі
типу Breadboard та платі Arduino, які демонструють роботу пристрою.
Одне з фото повинно містити позиційні позначення електронних
компонентів.
5. Аналіз роботи пристрою при зміні параметрів радіоелементу, який
вказаний у завданні до лабораторної роботи.

4.5 Контрольні питання та завдання


1. Які функції використовуються для введення аналогових сигналів до
плат Arduino?
2. Які виводи плати Arduino Uno можуть бути використані для введення
аналогових сигналів?
3. Який рівень аналогового сигналу можна подати на аналоговий вхід
Arduino?
4. Яке максимальне число може бути отримане в Arduino після введення
до нього аналогового сигналу? Яка його розрядність?
5. Які функції використовуються для виведення з Arduino аналогового
сигналу?
6. Які виводи плати Arduino Uno можуть бути використані для
виведення аналогових сигналів?
7. Яка розрядність даних, що подаються на аналогові виводи Arduino?
Яке максимальне число у десятковому, шістнадцятковому та
двійковому форматах може бути передане на аналоговий вивод
Arduino? Який рівень напруги буде при цьому на відповідному виводі
Arduino?
8. Який тип даних використовується в мові Arduino для роботи з
аналоговими сигналами? Як ініціалізувати змінну, в яку будуть
заноситись дані, отримані з аналогових входів, чи що будуть
передаватись на аналогові виводи?
33
Методичні вказівки до виконання циклу лабораторних робіт

34
Вступ до фаху

5 Лабораторна робота №5. Робота з структурами управління


в Arduino
Мета роботи: навчитись вводити та виводити аналогові сигнали в плати
мікропроцесорні плати типу Arduino, виконувати їх обробку в програмі.

5.1 Теоретичні відомості


5.1.1 Структури управління – умови в Arduino
if...else – структура умови, перевіряє умову та виконує певну
частину коду у випадку, якщо умова повертає значення true. Конструкція
може бути розширена за рахунок додаткового пункту else, код за якою
виконується лише тоді, коли основна умова повертає значення false. За
пунктом else може йти ще одна перевірка - else if, таким чином ми можемо
зробити кілька перевірок умови. Конструкції else та else if не є
обов’язковими.
Синтаксис:
if (condition1)
{
// do Thing A
}
else if (condition2)
{
// do Thing B
}
else
{
// do Thing C
}
Параметри:
сondition – булевий вираз, що може повертати true або false.
Фігурні дужки за конструкцією if() є необов’язковими, в цьому
випадку до тіла умови відноситься лише наступний оператор (до появи точки з
комою). Фігурні дужки ж дозволяються виконати декілька операторів або
функцій. Слід також відмітити, що умова повинна складатись з оператору
порівняння (або операторів порівняння та логічних операторів), наприклад: x==
y (x дорівнює y), x!=y (x не дорівнює y), x<y (x менше y), x>y (x більше y),
x<=y (x менше чи дорівнює y), x>=y (x більше чи дорівнює y). Однією з
типових помилок є використання оператору присвоювання = замість перевірки
на рівність = =.
Приклад:
if (temperature >= 70)
{
//Danger! Shut down the system

35
Методичні вказівки до виконання циклу лабораторних робіт

}
else if (temperature >= 60 && temperature < 70)
{
//Warning! User attention required
}
else
{
//Safe! Continue usual tasks...
}

if (x > 120) digitalWrite(LEDpin, HIGH); // один рядок вик.

if (x > 120){ // кілька рядків виконується


digitalWrite(LEDpin1, HIGH);
digitalWrite(LEDpin2, HIGH);
}

switch() Case – використовується для виконання різних ділянок коду


в залежності від значення певної змінної (яка зветься перемикачем). Дана
конструкція мови програмування Arduino схожа на if(), однак, може містити
суттєво більшу кількість варіантів. Оператор break як правило
використовується в кінці кожного варіанту – case, що дозволяє не перевіряти
подальші варіанти і вийти з оператору вибору. У випадку, якщо break не
використовується, змінна-перемикач продовжує порівнюватись з наступними
значеннями, і якщо використовується варіант default – виконує його теж.
Синтаксис:
switch (var) {
case label1:
// оператори та функції для var=label1
break;
// оператори та функції для var=label2
break;
default:
//опер. та функ., якщо всі вар. не підійшли
}
Параметри:
var – змінна-перемикач, значення якої порівнюється з різними
значеннями – case-ами. Дозволені типи даних: int, char;
label1, label2 – константи. Дозволені типи даних: int, char;
default – варіант, який виконується тоді, якщо ніякий інший не
підійшов.
Приклад:
switch (var) {
case 1:
//робимо щось якщо var дорівнює 1
break;
case 2:

36
Вступ до фаху

// робимо щось якщо var дорівнює 1


break;
default:
// якщо нічого не підійшло, робимо
// default – не обов’язковий варіант
break;
}

5.1.2 Структури управління – цикли в Arduino


Структури управління-цикли в мові програмування Arduino поділяються
на:
 for;
 do...While;
 while.
for використовується для повторення виразів (операторів, функцій), які
розміщуються всередині фігурних дужок {}. Інкрементальний лічильник як
правило використовується для інкременту та припинення виконання циклу.
Оператор циклу for корисний для будь-яких операцій, що повинні
повторюватись кілька разів, для прикладу, під час операцій з масивами,
акумулювання даних з кількох виводів або комірок пам’яті Arduino, тощо.
Синтаксис:
for (initialization; condition; increment) {
//вирази (операції, функції);
}
Параметри:
initialization – операція, що виконується один раз при ініціалізації
циклу (на початку циклу), як правило тут вказується початкове значення
інкрементального лічильника;
condition – оператор умови, що перевіряється під час кожної ітерації
циклу, якщо умова TRUE, то операції тіла циклу виконуються, якщо ж FALSE –
цикл завершується;
increment – операція інкременту над інкрементальним лічильником,
що виконується кожного разу після виконання тіла циклу, після чого
перевіряється умова condition;
Кожен з параметрів initialization; condition; increment не
є обов’язковим (в цьому випадку залишається лише точка з комою), хоча, в
більшості випадків вони всі використовуються.
Приклад:
int PWMpin = 10; // світлодіод на виводі 10

void loop()
{
for (int i=0; i <= 255; i++){ // цикл з 255 повторень
analogWrite(PWMpin, i); // збільшуємо яскравість
delay(10); // затримка 10 мс

37
Методичні вказівки до виконання циклу лабораторних робіт

int x = 1;
for (int i = 0; i > -1; i = i + x){ // подвійний цикл
analogWrite(PWMpin, i);
if (i == 255) x = -1; // затухання світлодіоду
delay(10);
}
}

while() – створює цикл, який виконується безперервно до тих пір, поки


умова всередині круглих дужок не стане false. Умова виходу з циклу
задається всередині тіла циклу, на відміну від структури управління for().
Якщо не передбачити в тілі циклу умову виходу (наприклад, не інкрементувати
лічильник), то цикл стане безкінечним.
Синтаксис:
while(condition){
// вирази (операції, функції);
}
Параметри:
condition – булевий вираз, який повертає значення true або false.
У випадку true тіло циклу виконується, false – вихід з циклу.
Приклад:
var = 0;
while(var < 200){ // задаємо умову виходу
// виконуємо щось 200 разів
var++; // виконуємо інкремент лічильника
}

do...While – цикл, аналогічний до циклу While, за відмінністю того,


що умова виходу з циклу перевіряється в кінці тіла циклу, що призводить до
того, що цикл виконується як мінімум один раз.
Синтаксис:
do
{
// statement block
} while (condition);
Параметри:
condition – булевий вираз, що може бути true (цикл виконується і
наступний раз)або false (цикл припиняється).
Приклад:
do
{
delay(50); // затримка
x = readSensors(); // перевіряємо значення з сенсору
} while (x < 100); // виходимо, якщо зн. сенсору > 100

38
Вступ до фаху

5.1.3 Конструкції припинення циклів та ітерацій циклів.


break використовується для примусового виходу з циклів for, while
та do...while, оминаючи перевірку в структурі циклу, або ж для виходу з
конструкції switch...case.
Приклад:
for (x = 0; x < 255; x ++)
{
analogWrite(PWMpin, x);
sens = analogRead(sensorPin);
if (sens > threshold){ // примусовий вихід з циклу
x = 0;
break;
}
delay(50);
}

continue використовується для пропуску частини коду в поточній


ітерації циклів (for, while або do...while). Відбувається автоматичний
запуск наступної ітерації (чи перевірка умови, в залежності від циклу).
Приклад:
for (x = 0; x <= 255; x ++)
{
if (x > 40 && x < 120){ //пропускаємо якщо 40<x<120
continue;
}

analogWrite(PWMpin, x); //вивід сигналу (крім 40<x<120)


delay(50);
}

5.2 Підготовка до роботи


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

5.3 Проведення досліджень


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

39
Методичні вказівки до виконання циклу лабораторних робіт

2. Написати програму для Arduino, яка буде виконувати всі функції,


вказані у завданні, продемонструвати її роботу викладачу.
3. Дослідити роботу зібраного пристрою при зміні рівнів сигналів, що
подаються на вхід схеми, висновки занести до протоколу
лабораторної роботи.
4. Зробити фото, які демонструють правильне виконання поставленого
завдання.

5.4 Вимоги до оформлення звіту


Звіт з лабораторної роботи обов’язково повинен містити:
1. Схему електричну принципову радіоелектронного пристрою, що буде
досліджуватись в лабораторній роботі з вказаними на ній позиційними
позначеннями, номіналами пасивних та назвами активних
компонентів.
2. Короткий опис роботи схеми пристрою, що досліджується в
лабораторній роботі.
3. Текст програми для Arduino та її опис (призначення всіх функцій та
операторів, можна у вигляді коментарів в тілі програми).
4. Фото зібраного радіоелектронного пристрою на макетній платі типу
Breadboard та платі Arduino, які демонструють роботу пристрою. Одне
з фото повинно містити позиційні позначення електронних
компонентів.
5. Аналіз роботи пристрою при зміні параметрів радіоелементу, який
вказаний у завданні до лабораторної роботи.

5.5 Контрольні питання та завдання


1. Які функції використовуються для введення аналогових сигналів до
плат Arduino?
2. Які виводи плати Arduino Uno можуть бути використані для введення
аналогових сигналів?
3. Який рівень аналогового сигналу можна подати на аналоговий вхід
Arduino?
4. Яке максимальне число може бути отримане в Arduino після введення
до нього аналогового сигналу? Яка його розрядність?
5. Які функції використовуються для виведення з Arduino аналогового
сигналу?
6. Які виводи плати Arduino Uno можуть бути використані для
виведення аналогових сигналів?
7. Яка розрядність даних, що подаються на аналогові виводи Arduino?
Яке максимальне число у десятковому, шістнадцятковому та
двійковому форматах може бути передане на аналоговий вивод
Arduino? Який рівень напруги буде при цьому на відповідному виводі
Arduino?
8. Який тип даних використовується в мові Arduino для роботи з
аналоговими сигналами? Як ініціалізувати змінну, в яку будуть
40
Вступ до фаху

заноситись дані, отримані з аналогових входів, чи що будуть


передаватись на аналогові виводи?
9. З якими типами даних працюють оператори порівняння?
10. З якими типами даних працюють булеві оператори?
11. Які структури використовуються в мові програмування Arduino для
виконання умов?
12. Чим конструкція if відрізняється від case?
13. Для чого можуть використовуватись структури циклів?
14. В чому відмінність циклу while від do-while?
15. Які конструкції можуть використовуватись для припинення
виконання циклу?

41
Методичні вказівки до виконання циклу лабораторних робіт

Перелік посилань
1. Матвійків М.Д. Елементна база електронних апаратів: Підручник /
М.Д. Матвійків, В.М. Когут, О.М. Матвійків. – 2-ге вид. – Львів:
Видавництво Національного університету "Львівська політехніка",
2007. – 428 с.
2. Зиновьев А. Л. Введение в специальность радиоинженера: учеб.
пособие для радиотехн. спец. вузов / Зиновьев А. Л., Филиппов Л. И.–
М.: Высшая школа, 1983. – 176 с.
3. Жеребцов И. П. Основы электроники. – Л.: Энергоатомиздат,1989. –
352 с.
4. Arduino:Содержание [Електронний ресурс] – Режим доступа:
http://wikihandbk.com/wiki/Arduino, вільний. – Заг. з екрану. — Мова.
рос.

42
Вступ до фаху

Додаток А. Варіанти завдань до лабораторної роботи №3


Таблиця А.1 – Варіанти завдань.
№ Завдання
1 Мультивібратор на транзисторах

2 Сигналізатор темноти

3 Мультивібратор на таймері 555

43
Методичні вказівки до виконання циклу лабораторних робіт

4 Фотодатчик

5 Одновібратор на операційному підсилювачі

44
Вступ до фаху

Додаток Б. Варіанти завдань до лабораторної роботи №4


Таблиця Б.1 – Варіанти завдань.
№ Завдання
1 Написати програму для Arduino, в якій вивести сигнал для плавного
керування яскравістю світлодіоду в залежності від положення середнього
виводу змінного резистора.
2 Написати програму для Arduino, в якій реалізувати сигналізацію –
світлодіод включається якщо хоча б один з трьох «сигнальних»
провідників буде відірвано від «землі».
3 Написати програму для Arduino, в якій світлодіод буде включатись у
тому випадку, якщо положення середнього виводу змінного резистора
буде від 0 до 50%.
4 Написати програму для Arduino, в якій яскравість світіння світлодіоду
буде обернено пропорційна освітленості фоторезистору.
5 Написати програму для Arduino, в якій світлодіод буде включатись у
тому випадку, якщо положення середнього виводу змінного резистора
буде від 50 до 100%.
6 Написати програму для Arduino, в якій реалізувати сигналізацію –
світлодіод включається якщо всі три «сигнальні» провідники буде
відірвано від «землі».
7 Написати програму для Arduino, в якій світлодіод буде включатись у
тому випадку, якщо користувач натисне кнопку. При відпусканні кнопки
світлодіод гасне.
8 Написати програму для Arduino, в якій світлодіод буде включатись у
тому випадку, якщо користувач натисне хоча б одну з двох кнопок. При
відпусканні кнопки світлодіод гасне.
9 Написати програму для Arduino, в якій світлодіод буде включатись у
тому випадку, якщо користувач натисне дві кнопки. При відпусканні
хоча б однієї кнопки – світлодіод гасне.
10 Написати програму для Arduino, в якій яскравість світіння світлодіоду
буде прямо пропорційна освітленості фоторезистору.
11 Написати програму для Arduino, в якій світлодіод буде включатись у
тому випадку, якщо положення середнього виводу змінного резистора
буде біля 0 або біля 100%.
12 Написати програму для Arduino, в якій світлодіод буде включатись з
частотою, яка прямо пропорційна положенню середнього вивода
резистора (0% - не включається взагалі, 100% - світиться постійно).

45

You might also like