Используя 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
Смотрим на картинки: Рис.1
Рис.2
Рис.3
К проекту о пианино на Arduino Принцип работы девайса: действие сенсоров основано на измерении емкости клавиш, которую мы изменяем своим прикосновением. Каждой клавише соответствует свой вывод на плате Arduino. Также один вывод задействован как общий для всех клавиш и еще один для динамика. Это значит, что если у нас плата с 20 выводами, 14 из которых цифровые и 6 аналоговые, мы можем создать пианино с 20 клавишами. Если же у вас Arduino Mega или другая плата с большим числом выводов можно смело делать больше клавиш! Шаг 3. Создаем наши клавиши
Рис.4
Шаг 4. Здесь понадобятся ваши навыки владения паяльником.
Рис.5
Рис .6
И так для всех клавиш! И так тоже:
Рис.7
Теперь берем все получившееся и крепим на подложку.
Рис.8
Подключаем общий провод. Рис.9
Шаг 5. Подключение к Arduino Рис.10
Плата 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-совместимый) микроконтроллера доска.
• Любая плата Arduino должно работать: Uno, Леонардо, Мега, Pro Mini и т.д. • Восемь 2,2 МОм (2.2 МОм) резисторы • Где-то между 1 МОм и 4,7 МОм должны работать • Вам нужно один резистор за фортепиано ключ • 2.2 МОм резистор имеет цветовой код Красного-красно-зеленый или красный-красный-черный-желтый • Пьезозуммер • Некоторые запасные провода или соединительные кабели • Алюминиевая фольга • нога или два должны сделать • Лента • поверхности на ленту ваши ключи к • Мы использовали лома кусок картона, но это может быть все что угодно, даже сам настольный! Оборудование, которое вам может понадобиться: • Паяльник и припой • Вы, наверное, можете обойтись без утюга, обернув провода вместе вместо пайки, но связь не будет столь же надежной • ножницы, чтобы вырезать алюминиевую фольгу и ленту
Разработка проекта.
Необходимое железо — Arduino и USB-кабель
В этом руководстве предполагается, что вы используете Arduino Uno, Arduino Duemilanove, Nano или Diecimila.
Вам потребуется также кабель стандарта USB (с разъемами типа USB-A и USB-B): такой, каким, к примеру, подключается USB-принтер. (Для Arduino Nano вам потребуется вместо этого кабель с разъемами А и мини-В).