ЗМІСТ
1 Вступ………………………………………………………………………………. 3
2 Аналіз технічного завдання…………………………………………………...…. 4
3 Розробка функціональної схеми і вибір елементної бази……………………....7
4 Розробка додатку для Android пристрою………………………………………14
5 Розробка алгоритмів роботи………………………………………................….18
6 Написання текстів програми…………………………………………....……….21
7 Висновок…………………………………………………………………………..23
8.Література…………………………………………………………………………24
1 ВСТУП
Напевне, кожен хоче покращити своє життя озвученням певних команд, процесів чи даних з різних систем.
За допомогою Arduino та Mini MP3 програвача можна зробити звуковий супровід презентацій, оповістити, яка температура приміщення, повідомити про закінчення будь-якого процесу або просто програвати музику. Зосередимо увагу на відтворенні музики. За допомогою цих пристроїв можна створити стереосистему.
Перевага цієї системи полягає в тому, що за допомогою контролера можливо відтворити багато різних форматів: MP3,WAV,WMA,MIDI,OGG.
Створення цієї системи не займає багато часу та сил. Насамперед, це є надійна і проста у використанні система.
2 АНАЛІЗ ТЕХНІЧНОГО ЗАВДАННЯ
Метою даного курсового проекту є розробка MP3 системи на базі апаратної платформи Arduino та Mini MP3 програвача. Керування системою відбувається за допомогою смартфону .
Дана система призначена для відтворення аудіо файлів за допомогою МР3 модуля. У цьому плеєрі є роз’єм для SD-карти на якій будуть зберігатися аудіо файли. Система відтворювання аудіо файлів зображена на рисунку 2.1.
Рисунок 2.1 – Система відтворення аудіо файлів
1. Arduino - призначена для керування компонентами.
2. МР3 модуль - призначений для відтвореня мр3 файлів.
3. Динамік - призначений для відтворення звуку.
4. Bluetooth – передає дані на смартфон.
5. Смартфон – призначений для керування відтворенням композицій.
Елементи інтерфейсу керування системою за допомогою смартфону зображено на рисунку 2.2
Рисунок 2.2 – Елементи інтерфейсу програми управління.
1.Кнопка для відтворювання композиції (Play);
2.Кнопка для відтворювання попередньої композиції.
3. Кнопка для відтворювання наступної композиції.
4. Кнопка призупиняє відтворення композиції(Stop).
5. Поле статусу з’єднання Bluetooth модуля із смартфоном.
6.Кнопка підключення з Bluetooth.
Підготовка SD карти до роботи з Mp3 модулем :
Для початку необхідно підключити карту через катридер до комп'ютера і відформатувати картку.
Тепер потрібно створити папку з назвою "mp3".
Рисунок 2.3 Підготовка SD карти
Записати ваші mp3 композиції в дану папку і дати їм імена "0001.mp3" ,
"0002.mp3", "0003.mp3" і тд. Так само файл можна називати "0001alla-tratata.mp3" головне, вказати на самому початку номер треку в чотирьох символьному форматі. Це дозволить відтворювати композиції в послідовному порядку.
Керування аудіо композиціями буде відбуватися за допомогою смартфону на базі Android. Щоб з’єднати смартфон з системою потрібно натиснути кнопку «Підключитись» і вибрати з яким пристроєм з’єднатися. В разі вдалого підключення полі підключення покаже статус «Підключено» , у випадку помилки підключення, статус зміниться на «Без з’єднання»
3 РОЗРОБКА ФУНКЦІОНАЛЬНОЇ СХЕМИ І ВИБІР ЕЛЕМЕНТНОЇ БАЗИ
Система створена на основі плат Arduino (UNO).
В якості мікропроцесора в системі використовується 8-ми розрядний мікроконтролер ATMEL – Atmega328P.
Arduino UNO побудована на базі контролера ATmega328P. Платформа має 14 цифрових входів / виходів (6 з яких можуть використовуватися як виходи ШІМ), 6 аналогових входів, кварцовий генератор 16 МГц, роз'єм USB, силовий роз'єм, роз'єм ICSP і кнопку перезавантаження. Для роботи необхідно підключити платформу до комп'ютера за допомогою кабелю USB, або подати живлення за допомогою адаптера AC / DC або батареї. На рисунку 3.1 зображене умовне графічне позначення Arduino Uno.
На відміну від усіх попередніх плат, що використали FTDI USB мікро-контролер для зв'язку по USB, Arduino Uno використовує мікроконтролер ATmega16U2.
Програмне забезпечення. Інтегроване середовище розробки Arduino - це кроссплатформний додаток на Java, що включає в себе редактор коду, компілятор і модуль передачі прошивки в плату.
Середовище розробки засноване на мові програмування Processing і спроектоване для програмування новачками, які не знайомі близько з розробкою програмного забезпечення. Строго кажучи, це C + +, доповнена деякими бібліотеками. Програми обробляються за допомогою препроцесора, а потім компілюється за допомогою AVR-GCC.
Рисунок 3.1 – Умовне графічне позначення Arduino UNO
На рисунку 3.2 Зображено зовнішній вигляд плати Arduino UNO.
Рисунок 3.3 – Зовнішній вигляд плати Arduino UNO
Характеристики плати Arduino UNO вказані у таблиці 3.
Таблиця 3.1 – Характеристики Arduino UNO
Мікроконтролер
ATmega328P
Робоча напруга
5В
Вхідна напруга (рекомендована)
7-12 В
Вхідна напруга (гранична)
6-20 В
Цифрові Входи / Виходи
14 (6 з яких можуть використовував-тися як виходи ШІМ)
Аналогові входи
6
Постійний струм через вхід / вихід
40 мА
Постійний струм для виведення 3.3 В
50 мА
Флеш-пам'ять
32 Кбз яких 0.5 Кб ви-користовуються для завантажувача
ОЗУ
2 Кб
EEPROM
1 Кб
Тактова частота
16 МГц
Платформа може працювати при зовнішньому живленні від 6 В до 20 В. При напрузі живлення нижче 7 В, вивід 5V може видавати менше 5 В, при цьому платформа може працювати нестабільно. При використанні напруги вище 12 В стабілізатор напруги може перегрітися і пошкодити плату. Рекомендований діапазон від 7 В до 12 В.
Кожен з 14 цифрових виводів Arduino UNO може бути налаштований як вхід або вихід, використовуючи функції pinMode (), digitalWrite (), і digitalRead.
Виводи працюють при напрузі 5 В. Кожен вивід має навантажувальний резистор (за замовчуванням відключений) 20-50 кОм і може пропускати до 40 мА.
Довжина і ширина друкованої плати ArduinoUno складають 6.9 та 5.3 см відповідно. Роз'єм USB і силовий роз'єм виходять за межі даних розмірів. Чотири отвори в платі дозволяють закріпити її на поверхні. Відстань між цифровими виводами 7 і 8 дорівнює 0,4 см, хоча між іншими виводами вона складає 0,25 см.
Bluetooth модуль
Для зв’язку з android-пристроєм, у даній системі використовується Bluetooth модуль HC-06 (див. рис. 3.4)
Рисунок 3.4 – Вигляд Bluetooth модуля
Основні характеристики HC-06 наведено в таблиці 3.2
Таблиця 3.2 – Основні характеристики HC-06
Напруга живлення
3.3 VCC
Максимальний струм споживання
45 мА
Швидкість передачі даних
1200-1382400 біт
Максимальна відстань зв’язку
30 м
Опис виводів:
1. Vcc – вивід живлення;
2. Gnd – спільний вивід(земля);
TXD – вивід передачі даних;
RXD – вивід прийому даних;
На рисунку 3.5 показано графічне позначення HC-06 на функціональній схемі
Рисунок 3.5 – Вигляд Bluetooth модуля HC-06 на функціональній схемі.
За бажанням можна налаштувати деякі параметри модуля, наприклад, його ім’я, швидкість передачі даних, pin-код.
Найзручніше підключити модуль через перехідник USB до комп’ютера, підключитися терміналом до послідовного порту на швидкості 9600 і спробувати надіслати тестову команду «АТ»(важливо відправляти саме великі літери), у відповідь має прийти «OK», тоді все налаштовано добре. Якщо у відповідь нічого не прийшло, необхідно перевірити правильність підключення модуля.
Доступні команди:
- АТ – поверне ОК;
- АТ+VERSION – переглянути версію;
- АТ+NAME – встановити ім’я пристрою;
- AT+PINxxxx – встановити pin-код(1234 – за замовчуванням);
- AT+BAUDx – встановити швидкість передачі даних.
MP3 модуль
Для відтворення композицій у цьому пристрої буде використовуватися Mp3 модуль.
Мініатюрний MP3-модуль за допомогою стандартного mini-USB роз'єму підключається до комп’ютера і визначається як знімний диск, на який легко завантажити будь-які звукові файли. Після чого, підключивши до модуля батарейки і динамік, можна легко відтворювати звукові файли.
Рисунок 3.6 - MP3-модуль
Таблиця 3.3 - Опис виводів
Номер
Опис Pin
Опис
1
VCC
Живлення
2
RX
UART serial input
3
TX
UART serial output
4
DAC_R
Audio output right channel
5
DAC_L
Audio output left channel
6
IO1
Trigger port 1
7
GND
Ground
Таблиця 3.3 - Опис виводів (продовження)
8
IO2
Trigger port 2
9
ADKEY1
AD port 1
10
ADKEY2
AD port 2
11
USB
USB DP
12
USB-
USB- DM
13
Busy
Playing Status
Рисунок 3.7-Вигляд Mp3 модуля на функціональній схем
Усі модулі та датчики підключаються до мікроконтролера згідно функціональної схеми зображеної на рисунку 3.8
Рисунок 3.8 – Функціональна схема МР3 плеєра
DM1- Bluetooth модуль
DM2- Arduino UNO
DM3- MP3 модуль
BA1-гучномовець
4 РОЗРОБКА ДОДАТКУ ДЛЯ ANDROID ПРИСТРОЮ
Елементи редактора блоків:
1.Елемент Blocks (див.рис.4.1) (ліва колонка) містить всі доступні методи для всіх використовуваних в поточному проекті компонентів, а також вбудовані Built-in (тут задаються змінні, функції, знаходяться всі оператори, умови і т. д.) і методи, якими можна змінити набори компонентів (всі кнопки, всі текстові поля і т.д.)
Рисунок 4.1 – Вигляд елемент Block
2.Основний елемент – Viewer (див.рис.4.2) - тут комбінуються всі витягнуті на поле блоки.
Рисунок 4.2 – Вигляд елементу Viewer
3.Кнопкою Designer (див.рис.4.3) можна повернути назад до вибору та налаштування компонентів.
Рисунок 4.3 – Режим роботи Designer
Принцип роботи аналогічний роботі в редакторі дизайну - потрібні методи захоплюються і переміщаються на порожнє поле Viewer. Далі за принципом пазла методи поєднуються один з одним (для цього є графічні атрибути - западини і виступи).
Блок виводу списку пристроїв, з якими створено пару з даним смартфоном по Bluetooth інтерфейсу, зображений на рисунку 4.4
Рисунок 4.4 – Блок виводу списку пристроїв, які спарені з даним смартфоном
по Bluetooth інтерфейсу.
При натисканні кнопки”Play” смартфон відправляє по Bluetooth на Arduino символ “1”, де відбувається обробка коду для відтворення композицій.
Блок для відправки даних при натисканні на кнопку Play зображений на рисунку 4.5
Рисунок 4.5 – Блок для відправки даних про при натисканні на кнопку Play.
При натисканні кнопки ”<<” смартфон відправляє по Bluetooth на Arduino символ “2”, де відбувається обробка коду для відтворення композицій.
Блок для відправки даних при натисканні на кнопку попередньої композиції в зображений на рисунку 4.6
Рисунок 4.6– Блок для відправки даних натисканні на кнопку попередньої композиції.
При натисканні кнопки ”>>” смартфон відправляє по Bluetooth на Arduino символ “3”, де відбувається обробка коду для відтворення композицій.
Блок для відправки даних при натисканні на кнопку Stop, зображено на рисунку 4.7
Рисунок 4.7 – Блок для відправки даних при натисканні на кнопку наступної композиції.
При натисканні кнопки ”Stop” смартфон відправляє по Bluetooth на Arduino символ “4”, де відбувається обробка коду для відтворення композицій.
Блок для відправки даних при натисканні на кнопку Stop, зображено на рисунку 4.8
Рисунок 4.8 – Блок для відправки даних при натисканні на кнопку Stop.
5 РОЗРОБКА АЛГОРИТМІВ РОБОТИ
1.Ініціалізація бібліотек.
2.Оголошення змінних.
3.Ініціалізація COM-порта, Bluetooth i Mp3 модуля.
4.Зчитування даних з Bluetooth модуля.
Блок-схема алгоритму зображена на рисунку 5.1
Ні
Так
Ні
Так
Ні
Так
Рисунок 5.1 - Блок-схема алгоритму (продовження)
Ні
Так
Н Ні
Так
Так
Рисунок 5.1 - Блок-схема алгоритму(продовження)
6 НАПИСАННЯ ТЕКСТІВ ПРОГРАМИ
#include <DFPlayer_Mini_Mp3.h> // Ініціалізація бібліотек
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // RX, TX
char x; // Присвоєння змінній Х символ
void setup()
{
Serial.begin(9600);//частота UART
mySerial.begin(9600);// БЛЮТУЗ
mp3_set_serial(Serial);
mp3_set_volume (15); // Зміна гучності
}
void loop()
{
if (mySerial.available())
{
x=mySerial.read(); // х присвоїти зчитування з Bluetooth
Serial.write(x);
}
if (Serial.available())
{
mySerial.write(Serial.read());
}
x=mySerial.read();
if (x=='1') // якщо х = символу 1
{
mp3_play (); // відтворення музики
}
if (x=='2')
{
mp3_prev (); // переключити назад на 1 трек
}
if (x=='3')
{
mp3_next (); // переключити вперед на 1 трек
}
if (x=='4')
{
mp3_stop (); // зупинити відтворення музики
}
}
7 ВИСНОВОК
В процесі виконання курсового проекту було розроблено МР3 плеєр керування якого відбувається телефоном OC Android через Bluetooth.
Під час виконання даної роботи, я навчився створювати та описувати структурні і принципові схеми, складати алгоритми та програми на мові Processing для плати Arduino Uno.
8 ЛІТЕРАТУРА
1. Уроки для Arduino: http://lesson.iarduino.ru/.
2. Все про Arduino: https://www.arduino.cc/.
3. Магазин Arduino: https://arduino-ua.com/.