Завдання до лабораторних робіт

Лабораторна робота № 1

Знайомство та початок роботи із відкритою платформою Arduino для створення електронних прототипів. Дослідження криптографічних принципів обробки сигналів

Мета. Установити апаратне та програмне забезпечення для плати “Arduino Diecimila” на ПК із ОС MS Windows XP. Моделювання методів шифрування сигналів.

 

Вступ

Arduino — вільна та відкрита апаратно-програмна платформа для створення електронних прототипів. Ця платформа основана на гнучкому, готовому для використання апаратному та програмному забезпеченні. Arduino, завдяки сенсорам, здатна сприймати сигнали із оточення та впливати на оточення, таке як: контроль освітлення, двигуни тощо. Мікроконтролер на платі програмується мовою програмування Arduino, яка основана на мові Wiring (http://wiring.org.co/), а середовище розробки Arduino основано на мові Processing (http://www.processing.org/). Проекти Arduino можуть бути як у вигляді окремих одиниць, так і пов'язаних із ПЗ, які виконуються на ПК.

Плата може бути вільно зроблена користувачем, або замовлена у готовому для використання вигляді, програмне забезпечення може бути вільно завантажене із Мережі. Опис апаратної частини (для CAD) розповсюджується із вільною ліцензією і може без обмежень модифіковуватись для власних потреб.

 

Хід роботи

1. Ознайомимося із платою “Arduino Diecimila” (рис. 1).

Рисунок 1 – Зовнішній вигляд плати “Arduino Diecimila”:

Power Jack — гніздо зовнішнього живлення;

Voltage Regulator — регулятор напруги;

Power Selection Jumper — перемикач для для джерела живлення: зовнішнє/USB;

USB Jack — гніздо USB;

FTDI USB Chip — мікросхема хост-контролера USB;

RX+TX LEDs — світлодіоди для індикації приймання/передавання інформації із ПК;

Pin 13 (L) LED — світлодіод, який підєднаний до 13-го цифрового контакту;

Digital Pins — цифрові контакти;

Power LED — світлодіод живлення;

Reset Button — кнопка скидання;

ICSP Header — основа ICSP для прямого програмування плати;

Microcontroller — мікроконтролер ATmega168;

Analog Input Pins — аналогові вхідні контакти;

Power Pins — контакти живлення.

Плату підєднують до ПК із використанням USB-кабелю (Type A — Type B).

 

2. Завантажити середовище програмування Arduino та розпакувати на диск (http://www.arduino.cc/en/Main/Software).

 

3. Встановити розташування драйвера для FTDI мікросхеми (на платі “Arduino Diecimila”). У ОС MS Windows XP, драйвер має бути розташовано у папці дистрибутиву Arduino у підпапці “drivers/FTDI USB Drivers”.

4. Підключити плату “Arduino Diecimila” до ПК через USB-порт. Перемикач “Power Selection Jumper” має знаходитись у позиції USB (у випадку створення проектів із значним енергоспоживанням, слід використовувати зовнішнє джерело живлення). Після підключення на платі “Arduino Diecimila” має світитися світлодіод “Power LED” (рис. 2). Відкриється вікно “Майстер Встановлення Нового Обладнання”. Пропустити запрошення, підключитися до “Windows Update” (рис. 3).

Рисунок 2 – Підключення “Arduino Diecimila” Рисунок 3 – “Майстер Встановлення Обладнання

 

Слід обрати “Встановлення із вказаного місця” (рис. 4) та вказати папку для пошуку (рис. 5).

Рисунок 4 – Вибір способу встановлення Рисунок 5 – Вказання місця для пошуку

 

Після вказання місця пошуку, “Майстер встановлення нового обладнання” повідомить про те, що пристрій “USB Serial Converter” був знайдений і установлений. Далі слід натиснути кнопку “Закінчити”. На екрані з'явиться знову “Майстер підключення нового обладнання”. Тепер також слід виконати усі попередні кроки. На цей раз “Майстер підключення нового обладнання” вкаже, що пристрій “USB Serial Port” був знайдений і установлений.

5. Відкрийте папку, де знаходиться середовище програмування Arduino і виконайте цю програму.

 

6. У середовищі програмування Arduino відкрийте заготовку, а саме: у меню програми File>Sketchbook>Examples>Digital>Blink. Відкриється заготовка програми, яка змушує світлодіод на цифровому контакті 13 циклічно умикатися на 1 секунду та вимикатися на 1 секунду (рис. 6).

Рисунок 6 – Вигляд програми “Arduino - 0012 Alpha”

 

7. Вибираємо послідовний порт, через який ми будемо працювати із платою “Arduino Diecimila”. Для цього визначаємо, куда підключена плата. Натискаємо правою кнопкою миші на “Мой комп’ютер > Свойства > Оборудование > Диспетчер устройств > Порты > USB Serial Port”. Із рисунка 7 видно, що на поточному ПК, це порт “COM 4”. У середовищі розробки Arduino у меню натискаємо: “Tools>Serial Port>COM4” (COM4 — у нашому випадку, як на рисунку 8).

Впевнимося, що плата “Arduino Diecimila” вибрана у меню: “Tools > Board > Arduino Diecimila”.

Рисунок 7 – Визначення порту підключення плати Рисунок 8 – Вибір порту для плати

 

8. Завантажити програму у плату, для цього натискаємо кнопку “Upload ” у середовищі розробки (рис. 9). Через декілька секунд світлодіоди RX та TX почнуть мигати, вказуючи про обмін інформацією із платою.

Рисунок 9 – Панель кнопок середовища розробки

 

Якщо вивантаження пройшло успішно, то у рядку стану буде виведено надпис “Done uploading.”. Через декілька секунд почне мигати світлодіод із кольором бурштину.

Це і є успішне завантаження та виконання програми.

9. Увести та проаналізувати такий код:

int ledPin = 13; // Вказівка про під'єднання LED до цифрового контакту 13.

void setup() // Метод виконується разово, під час завантаження програми.

{

pinMode(ledPin, OUTPUT); // Установлення цифрового контакту ledPin у стан для виведення сигналів.

}

 

void loop() // Метод, який виконується нескінченно

{

digitalWrite(ledPin, HIGH); // Установлення LED у стан HIGH.

Delay(5000); // Затримка на вказану довжину мілісекунд.

digitalWrite(ledPin, LOW); // Установлення LED у стан LOW.

Delay(1000); // Затримка на вказану довжину мілісекунд.

}

10. Перекласти власний номер із списку у двійковий вид. Доповнити старші розряди нулями до отримання 8 розрядного числа. Запрограмувати виведення отриманого двійкового числа. Виведення здійснити на 13 цифровий контакт.

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

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

 

Список посилань

1. http://www.arduino.cc/

2. http://www.linuxcenter.ru/shop/embedded/arduino/Arduino_Diecimila_microcontroller_board_ ATmega168/

3. http://wiring.org.co/

4. http://www.processing.org/

5. http://www.efo.ru/doc/Ftdi/Ftdi.pl?2454

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

1. Для чого встановлюються пристрої: “USB Serial Converter” та “USB Serial Port”?

2. Опишіть вирішення проблемної ситуації: замість світлодіода до цифрового контакту 13 слід під'єднати потужний споживач струму.

3. Як перевірити правильність програми, без завантаження до макета?

4. Які дії потрібно виконати, якщо випливає надпис про помилку протокола завантаження програми в макет?

5. Як завантажити готову програму у макет?


Лабораторна робота № 2