Arduino:Примеры/EsploraSoundSensor

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

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


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

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

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

  • Плата Arduino Esplora;

Цепь

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

Esplora SoundSensor.png

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

Код

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

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

1 sound level: 172 Green brightness: 42
2 sound level: 74 Green brightness: 18
3 sound level: 153 Green brightness: 38
4 sound level: 67 Green brightness: 16
5 sound level: 93 Green brightness: 23
6 sound level: 110 Green brightness: 27


 1 /*
 2 
 3 Считывание данных со звукового датчика Esplora
 4 
 5 Этот скетч показывает, как считывать данные с микрофонного датчика. 
 6 Диапазон громкости микрофона варьируется от «0» (полная тишина)
 7 до «1023» (очень громко).
 8 В том случае, если данные от микрофона нужны вам для использования 
 9 в какой-либо задаче (например, для управления яркостью светодиода),
10 вам может потребоваться подогнать их под минимум и максимум другого диапазона
11 (например, под диапазон яркости светодиода).
12 
13 Создан 22 декабря 2012 Томом Иго (Tom Igoe).
14 
15 Этот код не защищен авторским правом.
16 
17 */
18 
19 #include <Esplora.h>
20 
21 void setup() {
22   // Инициализируем последовательную передачу данных:
23   Serial.begin(9600);
24 }
25 
26 void loop() {
27   // Считываем значение датчика в переменную:
28   int loudness = Esplora.readMicrophone();
29 
30   // Подгоняем диапазон громкости микрофона
31   // под диапазон яркости светодиода:
32   int brightness = map(loudness, 0, 1023, 0, 255);
33   // Передаем конвертированное значение зеленому светодиоду:
34   Esplora.writeGreen(brightness);
35 
36 
37   // Выводим на Serial Monitor уровень громкости и уровень яркости
38   // (чтобы знать, что происходит):
39   Serial.print("sound level: "); //  "Громкость: "
40   Serial.print(loudness);
41   Serial.print(" Green brightness: ");  //  " Яркость зеленого светодиода: "
42   Serial.println(brightness);
43 
44   // Добавляем задержку, чтобы светодиод не моргал:
45   delay(10);
46 }

См.также

  1. Esplora.readMicrophone()

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