Проект пианино на Arduino

Тип работы:
Курсовая
Предмет:
Коммуникации, связь, цифровые приборы и радиоэлектроника


Узнать стоимость

Детальная информация о работе

Выдержка из работы

КУРСОВОЙ ПРОЕКТ

ПО ДИСЦИПЛИНЕ «МИКРОПРОЦЕССОРЫ И МИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ»

Введение

Используя Arduino, динамик, горсточку резисторов и кусочки алюминиевой фольги можно всего за несколько минуток собрать собственное пианино. На Arduino Uno получится устройство с 18 клавишами, а на Arduino Mega аж с 60! В стороне не остаются и другие модели -- для них необходимо всего лишь внести небольшие изменения в код.

Принцип работы девайса: действие сенсоров основано на измерении емкости клавиш, которую мы изменяем своим прикосновением.

Каждой клавише соответствует свой вывод на плате Arduino. Также один вывод задействован как общий для всех клавиш и еще один для динамика.

Это значит, что если у нас плата с 20 выводами, 14 из которых цифровые и 6 аналоговые, мы можем создать пианино с 20 клавишами. Если же у вас Arduino Mega или другая плата с большим числом выводов -можно смело делать больше клавиш!

Основная часть

Кратко об Arduino

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 и спроектирована для программирования новичками, не знакомыми близко с разработкой программного обеспечения. Язык программирования аналогичен используемому в проекте Wiring. Строго говоря, это C++, дополненный некоторыми библиотеками. Программы обрабатываются с помощью препроцессора, а затем компилируется с помощью AVR-GCC.

Среда разработки

Среда разработки Arduino состоит из встроенного текстового редактора программного кода, области сообщений, окна вывода текста (консоли), панели инструментов с кнопками часто используемых команд и нескольких меню. Для загрузки программ и связи среда разработки подключается к аппаратной части Arduino.

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

Среда разработки Arduino

Интегрированная среда разработки Arduino -- это кроссплатформенное приложение на Java, включающее в себя редактор кода, компилятор и модуль передачи прошивки в плату.

Среда разработки основана на языке программирования Processing и спроектирована для программирования новичками, не знакомыми близко с разработкой программного обеспечения. Язык программирования аналогичен используемому в проекте Wiring.

Строго говоря, это C++, дополненный некоторыми библиотеками. Программы обрабатываются с помощью препроцессора, а затем компилируется с помощью AVR-GCC.

Смотрим на картинки:

Рис. 1 Подключаем резистор

Рис. 2 Подсоединяем фольгу

Рис. 3 Соединяем все резисторы с PIN 2

К проекту о пианино на Arduino

Принцип работы девайса: действие сенсоров основано на измерении емкости клавиш, которую мы изменяем своим прикосновением.

Каждой клавише соответствует свой вывод на плате Arduino. Также один вывод задействован как общий для всех клавиш и еще один для динамика.

Это значит, что если у нас плата с 20 выводами, 14 из которых цифровые и 6 аналоговые, мы можем создать пианино с 20 клавишами. Если же у вас Arduino Mega или другая плата с большим числом выводов можно смело делать больше клавиш!

Шаг 3. Создаем наши клавиши

Рис. 4 Размер фольги 50 мм

Шаг 4. Здесь понадобятся ваши навыки владения паяльником.

Рис. 5 Припаиваем резисторы

Рис .6 Вот так:

И так для всех клавиш!

И так тоже:

Рис. 7 Далее припаиваем их к фольге

Теперь берем все получившееся и крепим на подложку.

Рис. 8 Приклеиваем на токонепроводящую поверхность

Рис. 9 Подключаем общий провод.

Рис. 10 Подключение к Arduino

Практическая часть

Вы сначала хотите собрать все части вам нужно для проекта: * Ан Arduino (или Arduino-совместимый) микроконтроллера доска.

* Любая плата Arduino должно работать: Uno, Леонардо, Мега, Pro Mini и т. д.

* Восемь 2,2 МОм (2.2 МОм) резисторы

* Где-то между 1 МОм и 4,7 МОм должны работать

* Вам нужно один резистор за фортепиано ключ

* 2.2 МОм резистор имеет цветовой код Красного-красно-зеленый или красный-красный-черный-желтый

* Пьезозуммер

* Некоторые запасные провода или соединительные кабели

* Алюминиевая фольга

* нога или два должны сделать

* Лента

* поверхности на ленту ваши ключи к

* Мы использовали лома кусок картона, но это может быть все что угодно, даже сам настольный! Оборудование, которое вам может понадобиться: * Паяльник и припой

* Вы, наверное, можете обойтись без утюга, обернув провода вместе вместо пайки, но связь не будет столь же надежной

* ножницы, чтобы вырезать алюминиевую фольгу и ленту

Установка драйверов для Arduino Uno на Windows7, Vista или XP

· Подключите вашу плату и подождите, пока Windows начнет процесс установки драйвера. Через некоторое время, несмотря на все её попытки, процесс закончится безрезультатно.

· Нажмите на кнопку ПУСК и откройте Панель управления.

· В панели управления перейдите на вкладку Система и безопасность (System and Security). Затем выберите Система. Когда откроется окно Система, выберите Диспетчер устройств (Device Manager).

· Обратите внимание на порты (COM и LPT). Вы увидите открытый порт под названием «Arduino UNO (COMxx)».

· Щелкните на названии «Arduino UNO (COMxx)» правой кнопкой мышки и выберите опцию «Обновить драйвер» (Update Driver Software).

· Кликните «Browse my computer for Driver software».

· Для завершения найдите и выберите файл драйвера для Uno — «ArduinoUNO. inf», расположенный в папке Drivers программного обеспечения для Arduino (не в подкаталоге «FTDI USB Drivers»).

· На этом Windows закончит установку драйвера.

Установка драйверов для Arduino Duemilanove, Nano или Diecimila в Windows7, Vista или XP

Когда вы подключите плату к компьютеру, Windows запустит процесс установки драйвера (если до этого вы не подключали к компьютеру плату Arduino).

В Windows Vista драйвер скачается и установится автоматически (это действительно работает!)

В Windows XP откроется Мастер установки нового оборудования (Add New Hardware wizard).

· На вопрос «Подключиться к узлу Windows Update для поиска программного обеспечения? (Can Windows connect to search for software?)» выберите ответ «Нет, не в этот раз (No, not this time)». Нажмите «Далее».

· Выберите «Установить из списка или указать местонахождение (Advanced) (Install from a list or specified location (Advanced))» и нажмите «Далее».

· Убедитесь, что выбрано «Искать наиболее подходящий драйвер в указанном месте (Search for the best driver in these locations)»; снимите флажок «Искать на съемных носителях (Search removable media)»; выберите «Добавить область поиска (Include this location in the search)» и укажите папку drivers/FTDI USB Drivers в дистрибутиве Arduino. (Последнюю версию драйвера можно найти на FTDI веб-сайте). Нажмите «Далее».

· Мастер начнет поиск и затем сообщит вам, что обнаружен «USB Serial Converter». Нажмите «Готово (Finish)».

· Снова появится мастер установки нового оборудования. Выполните все те же шаги с теми же опциями и указанием того же пути для поиска. На этот раз будет обнаружен «USB Serial Port».

Проверить, что драйвера действительно установлены можно, открыв Диспетчер устройств (Windows Device Mananger) (он находится во вкладке Оборудование (Hardware) панели Свойства системы (System)). Найдите «USB Serial Port» в разделе «Порты (Ports)» — это и есть плата Arduino.

— Запустите среду разработки Arduino

— Дважды щелкните на приложении для Arduino.

— Откройте готовый пример

Откройте мгновенный пример скетча «LED» по адресу: File > Examples > 1. Basics > Blink.

Разработка проекта

Необходимое железо -- Arduino и USB-кабель

В этом руководстве предполагается, что вы используете Arduino Uno, Arduino Duemilanove, Nano или Diecimila.

Вам потребуется также кабель стандарта USB (с разъемами типа USB-A и USB-B): такой, каким, к примеру, подключается USB-принтер. (Для Arduino Nano вам потребуется вместо этого кабель с разъемами, А и мини-В).

Рис. 10 Плата Arduino uno Рис. 11 USB кабель

Программа — среда разработки для Arduino

После окончания загрузки распакуйте скачанный файл. Убедитесь, что не нарушена структура папок. Откройте папку двойным кликом на ней. В ней должны быть несколько файлов и подкаталогов.

Подсоедините плату

Arduino Uno, Mega, Duemilanove и Arduino Nano получают питание автоматически от любого USB-подключения к компьютеру или другому источнику питания. При использовании Arduino Diecimila убедитесь, что плата сконфигурирована для получения питания через USB-подключение. Источник питания выбирается с помощью маленького пластикового джампера, надетого на два из трех штырьков между разъемами USB и питания. Проверьте, чтобы он был установлен на два штырька, ближайших к разъему USB.

Подсоедините плату Arduino к вашему компьютеру, используя USB-кабель. Должен загореться зеленый светодиод питания, помеченный PWR.

Установите драйвера

Установка драйверов для Arduino Uno на Windows7, Vista или XP:

· Подключите вашу плату и подождите, пока Windows начнет процесс установки драйвера. Через некоторое время, несмотря на все её попытки, процесс закончится безрезультатно.

· Нажмите на кнопку ПУСК и откройте Панель управления.

· В панели управления перейдите на вкладку Система и безопасность (System and Security). Затем выберите Система. Когда откроется окно Система, выберите Диспетчер устройств (Device Manager).

· Обратите внимание на порты (COM и LPT). Вы увидите открытый порт под названием «Arduino UNO (COMxx)».

· Щелкните на названии «Arduino UNO (COMxx)» правой кнопкой мышки и выберите опцию «Обновить драйвер» (Update Driver Software).

· Кликните «Browse my computer for Driver software».

· Для завершения найдите и выберите файл драйвера для Uno — «ArduinoUNO. inf», расположенный в папке Drivers программного обеспечения для Arduino (не в подкаталоге «FTDI USB Drivers»).

· На этом Windows закончит установку драйвера.

Установка драйверов для Arduino Duemilanove, Nano или Diecimila в Windows7, Vista или XP:

Когда вы подключите плату к компьютеру, Windows запустит процесс установки драйвера (если до этого вы не подключали к компьютеру плату Arduino).

В Windows Vista драйвер скачается и установится автоматически (это действительно работает!)

В Windows XP откроется Мастер установки нового оборудования (Add New Hardware wizard).

· На вопрос «Подключиться к узлу Windows Update для поиска программного обеспечения? (Can Windows connect to search for software?)» выберите ответ «Нет, не в этот раз (No, not this time)». Нажмите «Далее».

· Выберите «Установить из списка или указать местонахождение (Advanced) (Install from a list or specified location (Advanced))» и нажмите «Далее».

· Убедитесь, что выбрано «Искать наиболее подходящий драйвер в указанном месте (Search for the best driver in these locations)»; снимите флажок «Искать на съемных носителях (Search removable media)»; выберите «Добавить область поиска (Include this location in the search)» и укажите папку drivers/FTDI USB Drivers в дистрибутиве Arduino. (Последнюю версию драйвера можно найти на FTDI веб-сайте). Нажмите «Далее».

· Мастер начнет поиск и затем сообщит вам, что обнаружен «USB Serial Converter». Нажмите «Готово (Finish)».

· Снова появится мастер установки нового оборудования. Выполните все те же шаги с теми же опциями и указанием того же пути для поиска. На этот раз будет обнаружен «USB Serial Port».

Проверить, что драйвера действительно установлены можно, открыв Диспетчер устройств (Windows Device Mananger) (он находится во вкладке Оборудование (Hardware) панели Свойства системы (System)). Найдите «USB Serial Port» в разделе «Порты (Ports)» — это и есть плата Arduino.

Запустите среду разработки Arduino

Дважды щелкните на приложении для Arduino

Откройте готовый пример

Откройте мгновенный пример скетча «LED» по адресу: File > Examples > 1. Basics > Blink.

Arduino пример моргания светодиодом

Выберите вашу плату

Вам нужно выбрать пункт в меню Tools > Board menu, соответствующий вашей плате Arduino.

Arduino выбор платы для подключения

Выбор Arduino Uno

Для Duemilanove Arduinoплат с ATmega328 (проверьте на плате надпись на микросхеме) выберите Arduino Duemilanove или Nano с ATmega328. Вначале платы Arduino выпускались с ATmega168; для них выберите Arduino Diecimila, Duemilanove, или Nano с ATmega168. Подробно о пунктах меню платы можно прочитать на странице «Среда разработки».

Выберите ваш последовательный порт

Выберите устройство последовательной передачи платы Arduino из меню Tools | Serial Port. Вероятно, это будет COM3 или выше (COM1 и COM2 обычно резервируются для аппаратных COM-портов). Чтобы найти нужный порт, вы можете отсоединить плату Arduino и повторно открыть меню; пункт, который исчез, и будет портом платы Arduino. Вновь подсоедините плату и выберите последовательный порт.

Загрузите скетч в Arduino

Теперь просто нажмите кнопку «Upload» в программе — среде разработки. Подождите несколько секунд — вы увидите мигание светодиодов RX и TX на плате. В случае успешной загрузки в строке состояния появится сообщение «Done uploading (Загрузка выполнена)».

Рис. 12

Рис. 13

Заключение

Существует множество микроконтроллеров и платформ для осуществления «physical computing». Parallax Basic Stamp, Netmedia’s BX-24, Phidgets, MIT’s Handyboard и многие другие предлагают схожую функциональность. Все эти устройства объединяют разрозненную информацию о программировании и заключают ее в простую в использовании сборку. Arduino, в свою очередь, тоже упрощает процесс работы с микроконтроллерами, однако имеет ряд преимуществ перед другими устройствами для преподавателей, студентов и любителей:

Низкая стоимость — платы Arduino относительно дешевы по сравнению с другими платформами. Самая недорогая версия модуля Arduino может быть собрана в ручную, а некоторые даже готовые модули стоят меньше 50 долларов.

Кросс-платформенность — программное обеспечение Arduino работает под ОС Windows, Macintosh OSX и Linux. Большинство микроконтроллеров ограничивается ОС Windows.

Простая и понятная среда программирования — среда Arduino подходит как для начинающих пользователей, так и для опытных. Arduino основана на среде программирования Processing, что очень удобно для преподавателей, так как студенты работающие с данной средой будут знакомы и с Arduino.

Программное обеспечение с возможностью расширения и открытым исходным текстом — ПО Arduino выпускается как инструмент, который может быть дополнен опытными пользователями. Язык может дополняться библиотеками C++. Пользователи, желающие понять технические нюансы, имеют возможность перейти на язык AVR C на котором основан C++. Соответственно, имеется возможность добавить код из среды AVR-C в программу Arduino.

Аппаратные средства с возможностью расширения и открытыми принципиальными схемами — микроконтроллеры ATMEGA8 и ATMEGA168 являются основой Arduino. Схемы модулей выпускаются с лицензией Creative Commons, а значит, опытные инженеры имеют возможность создания собственных версий модулей, расширяя и дополняя их. Даже обычные пользователи могут разработать опытные образцы с целью экономии средств и понимания работы.

В данном курсовом проекте рассказывается в общем про Arduino, рассказывается про среды разработки, несколько Prt SCr с программ разработки, написание кода, графический вид схемы кодовый замок на Arduino Uno.

микроконтроллер платформа arduino схема

Список используемых материалов

1. К. Гленн Системное администрирование в школе, вузе, офисе. — М.: СОЛОН-ПРЕСС, 2008. — (Серия «Элективный курс. Профильное обучение»).

2. Н. В. Максимов, И. И. Попов Компьютерные сети: учебное пособие для студентов учреждений среднего профессионального образования. — М.: Форум, 2008.

3. В. Олифер, Н. Олифер Основы компьютерных сетей. — СПб.: ПИТЕР, 2009. — (Серия «Учебное пособие»).

4. Введение в Телекоммуникационные технологии / Под ред. В. И. Журавлева. — М., 2010. — 239 с.

5. Пилиповский В. Я. Требования к личности техника в условиях высокотехнологического общества // Наука и техника. — 2007. — № 5. — С. 97−103.

6. Петражицкий Л. И. Техника научного самообразования // Татьянин день. — 2013. — № 3(23). — авг. — С. 8−10.

7. Иванов Ф. Ф, Петров В. В., Сидоров Т. Т., Соловьева А. А. Электронный журнал «Исследовано в России», 3, 2008. http: //zhurnal. mipt. rssi. ru/articles/1998/003. pdf

8. Майоров В. Г., Гаврилов А. И. Практический курс программирования микропроцессорных систем // Машиностроение. 2009

9. Фрибель В., Ролоф Х., Шиллер Х. Программирование микропроцессоров // Энергоиздат. 2009

Интернет ресурсы

10. http: //www. dvrobot. ru/

11. http: //www arduino. ru/

12. http: //www CyberForum. ru/

13. http: //www cxem. net/

14. http: //www rc-master. ucoz. ru/

15. http: //www rulit. net/

16. http: //www miniinthebox. com/

17. http: //www habrahabr. ru/

18. http: //www freeduino. ru/

19. http: //www radioparty. ru/

20. http: //www forum. amperka.

ПоказатьСвернуть
Заполнить форму текущей работой