Міністерство освіти і науки України
Національний університет “Львівська політехніка”
/
ЛАБОРАТОРНА РОБОТА № 2
з дисципліни:
"Сенсори та інтерфейси систем управління"
Львів – 2018
ЛАБОРАТОРНА РОБОТА № 2
Тема:
Програмування управління світлодіодом
Мета роботи:
Вивчити програмну і апаратну частину платформи Arduino, можливості і переваги даної платформи, різновиди плат Arduino, навчитись писати елементарні скетчі для Arduino.
Теоретична інформація:
Arduino - це програмно-апаратна платформа для надшвидкого створення електронних пристроїв, підтримувана розробниками по всьому світу і користується величезною популярністю в світі. Платформа дозволяє взаємодіяти з навколишнім світом за допомогою всіляких датчиків, сенсорів, моторів та інших вузлів. Платформа складається з двох частин: програмної і апаратної.
Як програмна частини виступає кроссплатформенне середовище розробки Arduino IDE, яке може запускатися на операційних системах Windows, Linux, Mac OS. За допомогою даного середовища можна писати код і програмувати плати. У комплекті з програмою поставляються численні приклади, бібліотеки і зручні утиліти.
В якості апаратної частини виступають різні плати. На сайті виробника їх налічується вже більше двох десятків різновидів. Так як платформа поширюється досить вільно, то в продажу можна знайти безліч клонів і різних плат розширення.
Розглянемо основні переваги даної платформи.
- Низький поріг входу для новачків. Наприклад, для того щоб запрограмувати мікроконтролер фірми Atmel, потрібно замовити мікроконтролер, спеціалізований програматор, прочитати Data Sheet (технічний опис) обсягом 350 сторінок, а потім Errata Sheet (список помилок для даного мікроконтролера). У підсумку, щоб написати просту програму, потрібно багато часу. На Ардуіно для аналогічної програми буде потрібно кілька хвилин.
- Кроссплатформенне середовище розробки. На відміну від багатьох середовищ програмування, Arduino не обмежує свободу вибору операційної системи.
- Відсутність необхідності в програматорі. Майже всі плати мають USB роз'єм. Для плат, в яких не передбачені USB, продаються дешеві перехідники для підключення USB. Це зручно в тому випадку, якщо необхідно назавжди залишити плату Ардуіно в розробленому пристрої. Без роз'єму USB вона коштує дешевше, а перехідником можна скористатися один раз і залишити його для інших плат.
- Наявність великої кількості плат. Існує кілька десятків видів оригінальних плат для різних завдань, а також їх численні клони.
- Переносимость коду. Написавши один раз код для плати Arduino UNO, ви можете перенести його на більш потужну плату Arduino MEGA або більш слабку Arduino NANO. Ніяких виправлень в коді робити не доведеться.
- Відсутність необхідності пайки. Схеми збираються на макетній платі, за допомогою спеціальних дротів.
- Відкритий вихідний код + відкриті креслення (Open Source + Open Hardware). Спільнота розробників ділиться своїми досягненнями: кодом і кресленнями. Якщо з'явиться бажання глибше розібратися в механізмах роботи Ардуіно, то завжди можна заглянути в схеми і вже написані програми. Секрету з них ніхто не робить.
- Наявність САПР (систем автоматизованого проектування), емуляторів. Також з відкритим вихідним кодом, Кросплатформенні. Можна навіть на спеціальних програмах перевірити як буде наживо працювати плата Ардуіно з підключеними до неї моторами і датчиками.
- Мова програмування C / C ++ - один з найпопулярніших мов програмування. Більшість програмістів в світі знають і користуються цією мовою. Знаючи цю мову, можна з легкістю освоїти інші мови. Крім того, для того щоб програмувати Ардуіно, зовсім не обов'язково знати мову в повному об'ємі - досить знати соту частину всіх премудростей. Зрозуміло, вимоги до рівня знання мови C / C ++ ростуть у міру ускладнення Ваших програм.
- Наявність великої кількості плат-розширень. З ними плати Arduino перетворюються в конструктор. Можна додати мережеву плату Ethernet, плату Bluetooth, GPS, GSM і навіть видеоплату VGA. Компанія «Кельні» розробила дуже зручну плату розширення для використання разом Ардуіно. На ній знаходяться більшість вузлів, які найчастіше використовуються в Ардуіно-проектах. Також на платі знаходиться величезна кількість роз'ємів для підключення різних датчиків, плат, двигунів, світлодіодів, реле.
Платформа постійно розвивається, відбувається оновлення середовища розробки, вдосконалення старих плат і поява нових.
Код програми:
import muvium.compatibility.arduino.*;
public class Class0 extends Arduino{
public void setup(){
pinMode(13, OUTPUT);
}
public void loop(){
digitalWrite(13, HIGH);
delay(24000);
digitalWrite(13, LOW);
delay(24000);
}
}
Результат виконання програми:
/ /
Висновок: На даній лабораторній роботі я вивчила програмну і
апаратну частину платформи Arduino, можливості і переваги даної платформи, різновиди плат Arduino, навчилася писати елементарні скетчі для Arduino.