КУРСОВИЙ ПРОЕКТ
З ДИСЦИПЛІНИ «Мікропроцесори і мікропроцесорні СИСТЕМИ»
Введення
Використовуючи Arduino, динамік, жменьку резисторів і шматочки алюмінієвої фольги можна всього за кілька хвилинок зібрати власне піаніно. На Arduino Uno вийде пристрій з 18 клавішами, а на Arduino Mega аж з 60! Осторонь не залишаються й інші моделі - для них необхідно всього лише внести невеликі зміни в код.
Принцип роботи девайса: дія сенсорів засноване на вимірюванні ємності клавіш, яку ми змінюємо своїм дотиком.
Кожній клавіші відповідає свій висновок на платі Arduino. Також один висновок задіяний як загальний для всіх клавіш і ще один для динаміка.
Це означає, що якщо у нас плата з 20 висновками, 14 з яких цифрові й 6 аналогові, ми можемо створити піаніно з 20 клавішами. Якщо ж у вас Arduino Mega або інша плата з великим числом висновків -можна сміливо робити більше клавіш!
Основна частина
Коротко про Arduino
- апаратна обчислювальна платформа, основними компонентами якої є проста плата вводу-виводу і середу розробки мовою Processing/Wiring. Arduino може використовуватися як для створення автономних інтерактивних об'єктів, так і підключатися до програмного забезпечення, що виконується на комп'ютері (наприклад, Adob ??Flash, Processing, Max (англ.), Pure Data, SuperCollider. Темники нині версії можуть бути замовлені вже розпаяними. Інформація про пристрій плати (рісунокпечатной плати) знаходиться у відкритому доступі і може бути використана тими, хто віддає перевагу збирати плати самостійно. Мікроконтролери ATmega328 дешеві і коштують близько 10 $.
Проект Arduino був удостоєний почесного згадки при врученні призів Prix Ars Electronica 2006 в категорії Digital Communities
Інтегроване середовище розробки Arduino - це кроссплатформне додаток на Java, що включає в себе редактор коду, компілятор і модуль передачі прошивки в плату.
Теоретичні відомості про платформу Arduino
Плата Arduino складається з мікроконтролера Atmel AVR (ATmega328P і ATmega168 в нових версіях і ATmega8 в старих), а також елементів обв'язки для програмування та інтеграції з іншими схемами. На багатьох платах присутній лінійний стабілізатор напруги + 5В або +3,3. Тактирование здійснюється на частоті 16 або 8 МГц кварцовим резонатором (у деяких версіяхкераміческім резонатором). У мікроконтролер попередньо прошивається завантажувач BootLoader, тому зовнішній програматор не потрібен.
На концептуальному рівні всі плати програмуються через RS - 232 (послідовне з'єднання), але реалізація цього способу відрізняється від версії до версії. Плата Serial Arduino містить просту Инвертирующая схему для конвертації рівнів сигналів RS - 232 в рівні ТТЛ, і навпаки. Поточні розсилаються плати, наприклад, Diecimila, програмуються через USB, що здійснюється завдяки мікросхемі конвертера USB-to-Serial FTDI FT232R. У версії платформи Arduino Uno в якості конвертера використовується мікроконтролер Atmega8 в SMD-корпусі. Дане рішення дозволяє програмувати конвертер так, щоб платформа відразу визначалася як миша, джойстик або інший пристрій на розсуд розробника з усіма необхідними додатковими сигналами управління. У деяких варіантах, таких як Arduino Mini або неофіційною Boarduino, для програмування потрібне підключення окремої плати USB-to-Serial або кабелю.
Плати Arduino дозволяють використовувати більшу частину I/O висновків мікроконтролера в зовнішніх схемах. Наприклад, в платі Diecimila доступно 14 цифрових входів/виходів, 6 з яких можуть видавати ШІМ сигнал, і 6 аналогових входів. Ці сигнали доступні на платі через контактні площадки або штирові роз'єми. Також доступні кілька видів зовнішніх плат розширення, званих «англ. shields »(дослівно:« щити »), які приєднуються до плати Arduino через штирові роз'єми.
Програмне забезпечення
Інтегроване середовище розробки Arduino - це кроссплатформне додаток на Java, що включає в себе редактор коду, компілятор і модуль передачі прошивки в плату.
середу розробки заснована на мові програмування Processing і спроектована для програмування новачками, якi не знайомими близько з розробкою програмного забезпечення. Мова програмування аналогічний використовуваному в проекті Wiring. Строго кажучи, це C ++, доповнений деякими бібліотеками. Програми обробляються за допомогою препроцесора, а потім компілюється за допомогою AVR-GCC.