Arduino:Примеры/EsploraSoundSensor

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Считывание данных с микрофона Esplora[1]

Этот пример показывает, как считывать данные с микрофонного датчика Arduino Esplora. Рабочий диапазон микрофона варьируется от «0» (полная тишина) до «1023» (очень громко). В данном скетче громкость звука будет использоваться для управления яркостью зеленого светодиода. Для этого нам потребуется подогнать диапазон громкости под диапазон яркости светодиода.

Необходимое оборудование

  • Плата Arduino Esplora;

Цепь

Для этого примера вам понадобится только Arduino Esplora. При помощи USB-кабеля подключите ее к компьютеру и откройте окно Serial Monitor.

Расположение на Esplora микрофона и RGB-светодиода (одной из составных частей которого является зеленый светодиод)

Код

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

Далее займемся считыванием данных с микрофона, и воспользуемся для этого функцией Esplora.readMicrophone(). Она будет возвращать значения от «0» до «1023». Теперь вызываем функцию Serial.print() – чтобы выводить все эти данные на Serial Monitor. То есть, подключив Esplora и открыв Serial Monitor, вы должны увидеть что-то вроде этого:

sound level: 172 Green brightness: 42
sound level: 74 Green brightness: 18
sound level: 153 Green brightness: 38
sound level: 67 Green brightness: 16
sound level: 93 Green brightness: 23
sound level: 110 Green brightness: 27


/*

Считывание данных со звукового датчика Esplora

Этот скетч показывает, как считывать данные с микрофонного датчика. 
Диапазон громкости микрофона варьируется от «0» (полная тишина)
до «1023» (очень громко).
В том случае, если данные от микрофона нужны вам для использования 
в какой-либо задаче (например, для управления яркостью светодиода),
вам может потребоваться подогнать их под минимум и максимум другого диапазона
(например, под диапазон яркости светодиода).

Создан 22 декабря 2012 Томом Иго (Tom Igoe).

Этот код не защищен авторским правом.

*/

#include <Esplora.h>

void setup() {
  // Инициализируем последовательную передачу данных:
  Serial.begin(9600);
}

void loop() {
  // Считываем значение датчика в переменную:
  int loudness = Esplora.readMicrophone();

  // Подгоняем диапазон громкости микрофона
  // под диапазон яркости светодиода:
  int brightness = map(loudness, 0, 1023, 0, 255);
  // Передаем конвертированное значение зеленому светодиоду:
  Esplora.writeGreen(brightness);


  // Выводим на Serial Monitor уровень громкости и уровень яркости
  // (чтобы знать, что происходит):
  Serial.print("sound level: "); //  "Громкость: "
  Serial.print(loudness);
  Serial.print(" Green brightness: ");  //  " Яркость зеленого светодиода: "
  Serial.println(brightness);

  // Добавляем задержку, чтобы светодиод не моргал:
  delay(10);
}

См.также

  1. Esplora.readMicrophone()

Внешние ссылки