Курсовой проект "Разработка цветомузыки"
Автор: student | Категория: Технические науки / Информатика и программирование | Просмотров: 15198 | Комментирии: 0 | 03-03-2014 20:49

 

СКАЧАТЬ:  kursovoyn.zip [328,83 Kb] (cкачиваний: 676)

 

 

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

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

 

 

 

 

1. Введение

 

Целью курсового проекта является разработка LED  цветомузыки на Arduino uno

Цветомузыкой называют электронное устройство для построения световых картин, формирования цветовых зрительных образов, сопоставленных с музыкальным сопровождением. Светомузыка как автоматические светомузыкальные устройства (АСМУ) — относится к декоративно-оформительскому искусству и предназначено для светового сопровождения музыкального произведения, она позволяет по-новому воспринимать музыку, и предназначена дополнить звуковое восприятие световыми эффектами. В АСМУ используютсяавтоматические алгоритмы  для преобразования музыки в световые эффекты.

Светомузыка как программируемые синхронные автоматы (ПСА) — на настоящий момент, стала неотъемлемой составляющей во многих музыкальных проектах и шоу. В этих устройствах используется искусство и фантазию светорежисёра (светоинженера) запрограммировать последовательность управления световыми приборами для придания зрелищности музыкальному произведению. ПСА – допускается возможность непосредственной работы как светоинструмента.

Светомузыка как светомузыкальный инструмент (СМИ) — предназначен для непосредственного создания светового шоу светомузыкантом. Это направление на настоящий момент не получило широкого направления из-за отсутствия серьезных теоритических разработок в этом направлении.

Светомузыки без музыки не существует. Светомузыка – это устройства (или светоинструменты), работающие по заданной программе и/или использующие определённые алгоритмы (возможен гибридный вариант) для синхронного сопровождения музыки. Все остальные световые устройства относятся к устройствам световых эффектов (светодинамические устройства (СДУ) — бегущие огни и пр.) — электронные устройства для реализации световых эффектов, не связанных (синхронных) напрямую с музыкальным сопровождением.

Также, имеются, как минимум, ещё два вида визуализации музыки (звука) это:

  • Индикаторы звукового сигнала;
  • Анализаторы спектра звукового сигнала.

 

 

 

 

 

 

 

 

 

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

2.1. Теоретические сведения о платформе Arduino

Arduino — аппаратная вычислительная платформа, основными компонентами которой являются простая плата ввода-вывода и среда разработки на языке Processing/Wiring. 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 производит Smart Projects.

На данный момент доступны 15 версий плат, перечисленных ниже.

  1. Serial Arduino, программируется через последовательное соединение (разъём DB-9), используется ATmega8.
  2. Arduino Extreme, с USB-интерфейсом для программирования, используется ATmega8.
  3. Arduino Mini, миниатюрная версия Arduino, использующая поверхностный монтаж ATmega328. Не содержит конвертера USB-UART.
  4. Arduino Nano 3.0, ещё миниатюрнее, с питанием от USB и поверхностным монтажом ATmega328.
  5. LilyPad Arduino, минималистичный дизайн для носимых применений с поверхностным монтажом ATmega168 (в новых версиях ATmega328).
  6. Arduino NG, с USB-интерфейсом для программирования, используется ATmega8.
  7. Arduino NG plus, с USB-интерфейсом для программирования, используется ATmega168.
  8. Arduino BT, с Bluetooth-интерфейсом для программирования, используется ATmega168 (в новых версиях ATmega328).
  9. Arduino Diecimila, использует USB-интерфейс и Atmega168 в DIP28 корпусе.
  10. Arduino Duemilanove («2009»), на основе ATmega168 (в новых версиях ATmega328), с автоматическим выбором питания от USB или внешнего источника.
  11. Arduino Mega («2009»), на основе ATmega1280.
  12. Arduino Mega2560 R3 («2011»), на основе ATmega2560. Используется конвертер USB-UART на базе ATmega16U2.
  13. Arduino Uno R3 (2011), на основе ATmega328. Используется конвертер USB-UART на базе ATmega16U2.
  14. Arduino Ethernet (2011), на основе ATmega328. Конвертера USB-UART нет. Ethernet чип — W5100, также содержит модуль MicroSD.
  15. Arduino Mega ADK for Android (2011), на основе ATmega2560. Содержит USB-хост для соединения с телефонами на базе ОС Android (м/с MAX3421e). Конвертер USB-UART на базе ATmega8U2.

 

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

 

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

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

Verify/Compile
Проверка программного кода на ошибки, компиляция.

Stop
Остановка мониторинга последовательной шины(Serial monitor) или затемнение других кнопок.

New
Создание нового скетча.

Open
Открытие меню доступа ко всем скетчам в блокноте. Открывается нажатием в текущем окне.

Примечание: из-за наличия ошибки в Java данное меню не может прокручиваться; при необходимости открыть скетч из этого списка проследуйте в меню File | Sketchbook.

Save
Сохранение скетча.

Upload to I/O Board
Компилирует программный код и загружает его в устройство Arduino. Описание загрузки приведено ниже.

Serial Monitor
Открытие мониторинга последовательной шины (Serial monitor).

Дополнительные команды сгруппированы в пять меню: File, Edit, Sketch, Tools, Help. Доступность меню определяется работой, выполняемой в данный момент.

Edit

  • Copy for Discourse
    Копирует в буфер обмена подходящий для размещения на форуме код скетча с выделением синтаксиса.
  • Copy as HTML
    Копирует код скетча в буфер обмена как HTML код, для размещения на веб-страницах.

Sketch

  • Verify/Compile
    Проверка скетча на ошибки.
  • Import Library
    Добавляет библиотеку в текущий скетч, вставляя директиву #include в код скетча. Подробная информация в описании библиотек ниже (Libraries).
  • Show Sketch Folder
    Открывает папку, содержащую файл скетча, на рабочем столе.
  • Add File...
    Добавляет файл в скетч (файл будет скопирован из текущего места расположения). Новый файл появляется в новой закладке в окне скетча. Файл может быть удален из скетча при помощи меню закладок.

Tools

  • Auto Format
    Данная опция оптимизирует код, например, выстраивает в одну линию по вертикали открывающую и закрывающую скобки и помещает между ними утверждение.
  • Board
    Выбор используемой платформы. Список с описанием платформ приводится ниже.
  • Serial Port
    Меню содержит список последовательных устройств передачи данных (реальных и виртуальных) на компьютере. Список обновляется автоматически каждый раз при открытии меню Tools.
  • Burn Bootloader
    Пункты данного меню позволяют записать Загрузчик (Bootloader) в микроконтроллер на платформе Arduino. Данное действие не требуется в текущей работе с Arduino, но пригодится, если имеется новый ATmega (без загрузчика). Перед записью рекомендуется проверить правильность выбора платформы из меню. При использовании AVR ISP необходимо выбрать соответствующий программатору порт из меню Serial Port.
Блокнот (Sketchbook)

Средой Arduino используется принцип блокнота: стандартное место для хранения программ (скетчей). Скетчи из блокнота открываются через меню File > Sketchbook или кнопкой Open на панели инструментов. При первом запуске программы Arduino автоматически создается директория для блокнота. Расположение блокнота меняется через диалоговое окно Preferences.

Закладки, Файлы и Компиляция

Позволяют работать с несколькими файлами скетчей (каждый открывается в отдельной закладке). Файлы кода могут быть стандартными Arduino (без расширения), файлами С (расширение *.с), файлами С++ (*.срр) или головными файлами (.h).

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

Перед загрузкой скетча требуется задать необходимые параметры в меню Tools > Board и Tools > Serial Port. Платформы описываются далее по тексту. В ОС Mac последовательный порт может обозначаться как dev/tty.usbserial-1B1 (для платы USB) или /dev/tty.USA19QW1b1P1.1 (для платы последовательной шины, подключенной через адаптер Keyspan USB-to-Serial). В ОС Windows порты могут обозначаться как COM1 или COM2 (для платы последовательной шины) или COM4, COM5, COM7 и выше (для платы USB). Определение порта USB производится в поле Последовательной шины USB Диспетчера устройств Windows. В ОС Linux порты могут обозначаться как /dev/ttyUSB0, /dev/ttyUSB1.

После выбора порта и платформы необходимо нажать кнопку загрузки на панели инструментов или выбрать пункт меню File > Upload to I/O Board. Современные платформы Arduino перезагружаются автоматически перед загрузкой. На старых платформах необходимо нажать кнопку перезагрузки. На большинстве плат во время процесса будут мигать светодиоды RX и TX. Среда разработки Arduino выведет сообщение об окончании загрузки или об ошибках.

При загрузке скетча используется Загрузчик (Bootloader) Arduino, небольшая программа, загружаемая в микроконтроллер на плате. Она позволяет загружать программный код без использования дополнительных аппаратных средств. Загрузчик (Bootloader) активен в течении нескольких секунд при перезагрузке платформы и при загрузке любого из скетчей в микроконтроллер. Работа Загрузчика (Bootloader) распознается по миганию светодиода (13 пин) (напр.: при перезагрузке платы).

Библиотеки

Библиотеки добавляют дополнительную функциональность скетчам, например, при работе с аппаратной частью или при обработке данных. Для использования библиотеки необходимо выбрать меню Sketch > Import Library. Одна или несколько директив #include будут размещены в начале кода скетча с последующей компиляцией библиотек и вместе со скетчем. Загрузка библиотек требует дополнительного места в памяти Arduino. Неиспользуемые библиотеки можно удалить из скетча убрав директиву #include.

На Arduino.cc имеется список библиотек. Некоторые библиотеки включены в среду разработки Arduino. Другие могут быть загружены с различных ресурсов. Для установки скачанных библиотек необходимо создать директорию «libraries» в папке блокнота и затем распаковать архив. Например, для установки библиотеки DateTime ее файлы должны находится в подпапке /libraries/DateTime папки блокнота. 

Смотрите данную инструкцию для написания собственной библиотеки.  

Аппаратные средства других разработчиков

Поддерживаемые аппаратные средства других производителей добавляются в соответствующую подпапку папки блокнота. Устанавливаемые платформы могут включать собственные характеристики (в меню платформы), корневые библиотеки, загрузчик(Bootloader) и характеристики программатора. Для установки требуется распаковать архив в созданную папку.  (Запрещено использовать наименование папки "arduino", т.к. могут быть перезаписаны встроенные данные платформы Arduino.) Для деинсталляции данных удаляется соответствующая директория.

Подробная информация по созданию сборок описаний аппаратных средств других производителей находится настраницах сайта Google Code.

Мониторинг последовательной шины (Serial Monitor)

Отображает данные посылаемые в платформу Arduino (плата USB или плата последовательной шины). Для отправки данных необходимо ввести текст и нажать кнопку Send или Enter. Затем выбирается скорость передачи из выпадающего списка, соответствующая значению Serial.begin в скетче. На ОС Mac или Linux платформа Arduino будет перезагружена (скетч начнется сначала) при подключении мониторинга последовательной шины.

Имеется возможность обмена информацией с платформой через программы Processing, Flash, MaxMSP и т.д. (см. подробности на странице описаний интерфейсов).

Настройки

Некоторые настройки изменяются в окне Preferences (меню Arduino в ОС Mac или File в ОС Windows и Linux). Остальные настройки находятся в файле, месторасположение которого указано в окне Preferences.

Платформы

Выбор платформы влияет на: параметры (напр.: скорость ЦП и скорость передачи данных), используемые при компиляции и загрузке скетчей и на настройки записи загрузчика (Bootloader) микроконтреллера. Некоторые характеристики платформ различаются только по последнему параметру (загрузка Bootloader), таким образом, даже при удачной загрузке с соответствующим выбором может потребоваться проверка различия перед записью загрузчика (Bootloader).

  • Arduino Duemilanove или Nano с ATmega328
    Тактовая частота ATmega328 16 МГц с возможностью автоматической перезагрузки. Используется для версий Arduino Pro или Pro Mini с ATmega328 на частоте 16 МГц (5 В).
  • Arduino Diecimila, Duemilanove, или Nano с ATmega168
    Тактовая частота ATmega168 16 МГц с возможностью автоматической перезагрузки. Компиляция и загрузка соответствует Arduino NG или старым версиям с ATmega168, но загрузка Bootloader имеет короткий таймаут (при перезагрузке светодиод пина 13 мигает один раз). Используется для версий Arduino Pro и Pro Mini с ATmega168 на частоте 16 МГц (5 В). 
  • Arduino Mega
    Тактовая частота ATmega1280 16 МГц с возможностью автоматической перезагрузки.
  • Arduino Mini
    Соответствует Arduino NG или старым версиям с ATmega168 (напр.: тактовая частота ATmega168 16 МГц без возможности автоматической перезагрузки).
  • Arduino BT
    Тактовая частота ATmega168 16 МГц. Загрузка Bootloader происходит совместно с кодами для инициализации модуля Bluetooth.
  • LilyPad Arduino с ATmega328
    Тактовая частота ATmega328 8 МГц (3.3 В) с возможность автоматической перезагрузки. Соответствует Arduino Pro или Pro Mini (3.3 В, 8 МГц) с ATmega328.
  • LilyPad Arduino с ATmega168
    Тактовая частота ATmega168 8 МГц.

Компиляция и загрузка соответствует Arduino Pro или Pro Mini (8 МГц) с ATmega168.

Загруженный Bootloader имеет длинный таймаут (при перезагрузке светодиод пина 13 мигает три раза), т.к. оригинальные версии LilyPad не поддерживают автоматическую перезагрузку. Также не поддерживаются внешние часы и, следовательно, Bootloader конфигурирует загрузку внутренних 8 МГц часов в ATmega168.

При наличии поздних версий LilyPad (с 6-контакным программным вводом) перед загрузкой Bootloader требуется выбрать Arduino Pro или Pro Mini (8 MHz) с ATmega168.

  • Arduino Pro или Pro Mini (3.3 В, 8 МГц) с ATmega328
    Тактовая частота ATmega328 8 МГц (3.3 В) с возможность автоматической перезагрузки. Соответствует LilyPad Arduino с ATmega328.
  • Arduino Pro или Pro Mini (3.3 В, 8 МГц) с ATmega168
    Тактовая частота ATmega168 8 МГц (3.3 В) с возможность автоматической перезагрузки.
  • Arduino NG или предыдущие версии с ATmega168
    Тактовая частота ATmega168 16 МГц без возможности автоматической перезагрузки. Компиляция и загрузка соответствует Arduino Diecimila или Duemilanove с ATmega168, но загрузка Bootloader имеет длинный таймаут (при перезагрузке светодиод пина 13 мигает три раза).
  • Arduino NG или предыдущие версии с ATmega8
    Тактовая частота ATmega8 16 МГц без возможности автоматической перезагрузки.

 

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

Подсоедините плату
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.

 

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

Вам нужно выбрать пункт в меню Tools > Board menu, соответствующий вашей плате 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 (Загрузка выполнена)».
(Замечание. Если у вас Arduino Mini, NG или другая плата, вам необходимо физически кнопкой подать команду reset непосредственно перед нажатием кнопки «Upload»).

 

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

 

 

Схема соединения очень простая.

 

 

Теперь прошиваем в ардуину следующий скетч:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

#include <SPI.h>         // needed for Arduino versions later than 0018

#include <Ethernet.h>

#include <Udp.h>         // UDP library from: bjoern@cs.stanford.edu 12/30/2008

 

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

byte ip[] = { 192,168,1,177 }; //IP ардуины

 

unsigned int localPort = 53412;      // локальный порт

 

byte remoteIp[4];

unsigned int remotePort;

 

// буфер для приёма/отправки данных

char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //буфер для получения данных по сети

 

void setup() {

  Ethernet.begin(mac,ip);

  Udp.begin(localPort);

 

  for (int i=0; i<10; i++)

  {

    pinMode(i,OUTPUT);

    digitalWrite(i, LOW);

  }

}

 

void loop() {

  // читаем пакеты данных при наличии

  int packetSize = Udp.available();

  if(packetSize)

  {

    memset(packetBuffer, 0, sizeof(packetBuffer)); //обнуляем буфер

    packetSize = packetSize - 8;      // subtract the 8 byte header

 

    Udp.readPacket(packetBuffer,UDP_TX_PACKET_MAX_SIZE, remoteIp, remotePort);

 

    for (int i=0; i<10; i++)

    {

      if (packetBuffer[i]=='1')

      {

        digitalWrite(i,HIGH);

      }

      else

      {

        digitalWrite(i,LOW);

      }

    }

  } //if(packetSize)

}

Всё, что он делает, это получает по протоколу UDP строку из десяти нулей и единиц и соответствующим образом зажигает светодиоды.
При необходимости меняем переменные ip и localPort.

 

Теперь подключаем плагин к Winamp или AIMP (необходимо скопировать DLL-файл в папку плагинов программы) и настраиваем его. Устанавливаем IP, порт (такие как в скетче) и выбираем режим визуализации. Ethernet Shield и компьютер соединяем по локальной сети.

 

 

Для открытия настроек плагина в AIMP щёлкните по чёрному полю визуализации.

В результате у меня получилась вот такая цветомузыка. На втором видео я всё разместил в небольшой коробочке, туда же воткнул и LCD-дисплей (о его подключении к этой же ардуине и использовании я расскажу в другой раз, как допишу программу управления). Сверху светодиоды накрыл пластиковыми баночками из под фотоплёнки.

3. Заключение 

В ходе курсового проекта был создан макет LED цветомузыки  на плате Arduino uno.

        

4. Список литературы 

 

 

Правдюк Ю. А. Установка для концертов цветомузыки. – - Сценическая техника и технология, 1970, № 6, с. 19-23.
1. Синтезаторы (Сб. статей). —М.: Знание, 1983. – 64 с.
2. Сухопарое А. Волшебный фонарь: – Калейдопроектор. – Наука и жизнь, 1982, № 12, с. 97-100.
3. Тарасенко Л. Г. Киноустановка многоцелевого назначения. —М.: Искусство, 1984. – 128с.
4. Шкап Л. Ц., Заботил В. А. Театральные регуляторы освещения. – М.: Энергия, 1978. – 88 с.
5. Шпизель М. Б. Комбинированный лазерный дефлектор в спектакле. – Сценическая техника и технология, 1983, №6, с. 17; 1984, №5, с. 18; 1983, №2, с. 16, 17.
6. Шумилов А. Е., Жиганов Ю. И. Лазерный светоинструмент. – Сценическая техника и технология, 1983, №1, с. 21-24.
7. Шумилов А. Е., Андреев А. И. Программатор для диапроектора. – Радио, 1983, № 11, с. 35,36. 

8.www.arduino.ru