Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства

Тут можно читать онлайн Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства - бесплатно полную версию книги (целиком) без сокращений. Жанр: Прочая околокомпьтерная литература, издательство БХВ-Петербург, год 2015. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства краткое содержание

Изучаем Arduino: инструметы и методы технического волшебства - описание и краткое содержание, автор Джереми Блум, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Книга посвящена проектированию электронных устройств на основе микроконтроллерной платформы Arduino. Приведены основные сведения об аппаратном и программном обеспечении Arduino. Изложены принципы программирования в интегрированной среде Arduino IDE. Показано, как анализировать электрические схемы, читать технические описания, выбирать подходящие детали для собственных проектов. Приведены примеры использования и описание различных датчиков, электродвигателей, сервоприводов, индикаторов, проводных и беспроводных интерфейсов передачи данных. В каждой главе перечислены используемые комплектующие, приведены монтажные схемы, подробно описаны листинги программ. Имеются ссылки на сайт информационной поддержки книги. Материал ориентирован на применение несложных и недорогих комплектующих для экспериментов в домашних условиях.
Для радиолюбителей

Изучаем Arduino: инструметы и методы технического волшебства - читать онлайн бесплатно полную версию (весь текст целиком)

Изучаем Arduino: инструметы и методы технического волшебства - читать книгу онлайн бесплатно, автор Джереми Блум
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Перед тем как приступить к генерации звука с помощью Arduino, вы должны понимать, что такое звук и как люди воспринимают его. В этом разделе мы расскажем о свойствах звуковых волн, воспроизведении музыки, речи и других звуков.

Звук распространяется по воздуху в виде волны. Работа звуковых колонок, удар в барабан или колокол создают вибрацию воздуха. Частицы воздуха за счет колебаний передают энергию все дальше и дальше. Волна давления передается от источника к вашей барабанной перепонке через реакцию вибрирующих частиц.

Теперь посмотрим, как эти знания помогут нам сгенерировать звуки с помощью платы Arduino?

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

На рис. 5.1 изображены графики, соответствующие трем фортепианным нотам: низкой, средней и высокой. В качестве примера рассмотрим ноту До первой октавы с частотой 261,63 Гц. Громкоговоритель, гитарная струна или фортепиано, при воспроизведении этой ноты генерирует звуковую волну, совершающую 261,63 колебаний в секунду. Можно рассчитать период колебания волны ( 1 /261,63 = 3,822 мс), что соответствует полному колебанию на графике. Плата Arduino позволяет задать период для меандра, устанавливая таким образом тембр каждой ноты. Важно отметить, что Arduino не может на самом деле создать синусоидальную волну, которая распространена в реальном мире. Меандр является цифровым периодическим сигналом - это мгновенное переключение между двумя уровнями: высоким и низким (см. рис. 3.1). В результате по-прежнему возникает волна давления, обусловливающая звук, но звучание не вполне соответствует синусоидальной волне.

Что касается амплитуды, ею можно управлять, изменяя ток через динамик. Подключение потенциометра последовательно с динамиком позволяет регулировать уровень громкости звука.

- 110 -

Рис 51 Звуковые волны с различной частотой и амплитудой 52 Как динамик - фото 46

Рис. 5.1. Звуковые волны с различной частотой и амплитудой

5.2. Как динамик воспроизводит звук

Динамики, как и двигатели, которые мы рассмотрели в предыдущей главе, используют электромагниты для преобразования электрического сигнала в механическое перемещение. Внимательно исследуйте металлическую деталь на задней стенке динамика. Заметили что-то необычное? К ней прилипают металлические предметы, потому что это магнит. Все станет понятно, если посмотреть на рис. 5.2, иллюстрирующий устройство динамика.

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

5.3. Использование функции tone() для генерации звуков

В Arduino IDE есть встроенная функция для генерации звуков произвольной частоты. Функция tone() формирует меандр с заданной частотой и выдает его на выбранный вами выходной контакт Arduino.

- 111 -

Рис 52 Устройство динамика Аргументы tone первый аргумент устанавливает - фото 47

Рис. 5.2. Устройство динамика

Аргументы tone():

• первый аргумент устанавливает номер контакта Arduino для генерации волны;

• второй аргумент задает частоту сигнала;

• третий (необязательный) аргумент определяет продолжительность звучания;

• если этот аргумент не установлен, звук продолжается до тех пор, пока не вызвана функция noTone().

Функция tone() взаимодействует с одним из аппаратных таймеров контроллера ATmega, поэтому ее можно вызвать и продолжать работать с Arduino, а звук будет играть в фоновом режиме.

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

5.4. Включение файла заголовка

Когда дело доходит до воспроизведения музыкальных звуков, полезно создать заголовочный файл, определяющий частоты для музыкальных нот. Это делает программу более понятной при составлении простых музыкальных мелодий. Те, кто знаком с нотными знаками, знают, что ноты обозначаются буквами. В Arduino IDE есть специальный файл, содержащий значения частот для всех нот. Не ищите его в каталогах, а просто зайдите на сайт www.exploringarduino.com/content/ch5 и

- 112 -

скачайте на рабочий стол. Затем в Arduino IDE создайте пустой новый файл. Как вы, наверное, заметили, Arduino IDE создает новый файл внутри папки с одноименным названием. Добавляя в эту папку новые файлы, вы можете включать их в свою программу, в результате код будет лучше структурирован. Скопируйте файл pitches.h, сохраненный на рабочем столе, в папку, созданную Arduino IDE, для нового проекта. Теперь заново откройте в Arduino IDE этот файл. Обратите внимание на две вкладки (рис. 5.3).

Рис 53 Окно Arduino IDE с двумя вкладками заголовочных файлов Перейдите на - фото 48

Рис. 5.3. Окно Arduino IDE с двумя вкладками заголовочных файлов

Перейдите на вкладку pitches.h, чтобы увидеть содержимое файла. Обратите внимание, что это всего лишь список операторов определений, которые задают соответствие названий нот и значений частот. Чтобы использовать эти определения при компиляции программы для Arduino, необходимо сообщить компилятору, где искать данный файл. Сделать это легко. Просто добавьте соответствующую строку кода в начало файла *.ino:

#include "pitches.h"

Для компилятора это, по существу, то же самое, что копирование и вставка содержимого файла заголовка в начало основного файла. Тем не менее, код становится аккуратнее и проще для чтения. В следующих разделах, при написании программ рекомендуем использовать данный заголовочный файл для определения высоты тона (частоты ноты).

5.5. Подключение динамика

Теперь, когда включен файл заголовка для нот, можно собрать схему и написать программу, которая будет воспроизводить звуки. Электрическая схема очень проста - нужно лишь соединить динамик с выходными контактами Arduino. Однако при подключении необходимо помнить о токоограничивающих резисторах.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Джереми Блум читать все книги автора по порядку

Джереми Блум - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Изучаем Arduino: инструметы и методы технического волшебства отзывы


Отзывы читателей о книге Изучаем Arduino: инструметы и методы технического волшебства, автор: Джереми Блум. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x