Arduino:Примеры/SimpleAudioFrequencyMeter
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Простой измеритель звуковой частоты[1]
Этот пример показывает, как использовать библиотеку AudioFrequencyMeter для платы Arduino/Genuino Zero. В скетче будет измеряться частота сигнала на 0-ом аналоговом входном контакте, усиленного через специальную электронную цепь. Диапазон частот, которые в данный момент может «уловить» библиотека, составляет от 60 до 1500 Гц, и его можно сузить при помощи функции setBandwith(). Библиотеку AdioFrequencyMeter можно установить при помощи «Менеджера библиотек» в IDE Arduino.
Необходимое оборудование
- Плата Arduino/Genuino Zero
- Триммер-потенциометр на 10 кОм
- Один усилитель – LMV386 или TLV2462
- Два резистора на 100 кОм
- Два резистора на 2,47 кОм
- Конденсатор на 100 мкФ
- 3,5-миллиметровый разъем
Цепь
Чтобы получить наивысший динамический диапазон даже на малом уровне входных данных, в цепь включен неинвертирующий усилитель, позволяющий сделать так, чтобы амплитуда сигнала полностью соответствовала диапазону входного напряжения, поддерживаемому через ADC. Чем выше разрешение при сэмплировании, тем лучше точность.
За настройку звукоусилителя отвечает триммер-потенциометр на 10 кОм. Кроме того, динамика этого показателя будет отображаться в мониторе порта IDE Arduino: если данные о частоте, считываемые системой, «успокоились», это значит, что коэффициент усиления настроен правильно.
В качестве альтернативного варианта можно купить микрофонный усилитель MAX4466 c настраиваемым коэффициентом усиления – прибор, созданный как раз для этой цели.
Схема
Код
/*
Простой измеритель частоты для Arduino Zero
Демонстрирует, как сэмплировать входной сигнал, чтобы получить
его частоту
Этот код не защищен авторским правом.
http://arduino.cc/en/Tutorial/SimpleAudioFrequencyMeter
Создан Артуро Гуадалупи (Arturo Guadalupi; a.guadalupi@arduino.cc)
10 ноября 2015 года
*/
#include <AudioFrequencyMeter.h>
AudioFrequencyMeter meter;
void setup() {
// поместите здесь код, который будет запускаться лишь единожды:
Serial.begin(115200);
Serial.println("started"); // "Работа скетча началась"
meter.setBandwidth(70.00, 1500); // игнорируем частоты за пределами этого диапазона
meter.begin(A0, 960000); // инициализируем A0 c сэмплированием на 45 КГц
}
void loop() {
// поместите здесь код, который будет запускаться раз за разом
float frequency = meter.getFrequency();
if (frequency > 0)
{
Serial.print(frequency);
Serial.println(" Hz"); // " Гц"
}
}
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino