Учимся создавать простую звуковую панель на Arduino

В этом эксперименте вы поймете, как работает пассивный зуммер и как вы можете создать простую звуковую панель с помощью Arduino. Используя несколько кнопок и выбрав соответствующий тон, вы сможете создать мелодию!

[toc]

Звуковая панель на Arduino

Шаг 1: Необходимые детали

Нам понадобятся несколько комплектующих, которые вы сможете купить в любом Интернет-магазин.

Необходимые детали

Тебе понадобится:

  • плата Arduino
  • макетная плата
  • USB-кабель
  • 10 перемычек
  • 3 Кнопки (количество кнопок не является обязательным)
  • 3 резистора по 10 кОм

Шаг 2: Подключение кнопок

Подключение кнопок

Во-первых, давайте начнем с кнопок. Для каждой кнопки выберите одну из её сторон. Вы увидите 2 контакта. Тот, который находится слева (вы можете поменять их), соединяется с землей Arduino (через макет) с резистором 10 кОм. Подключите одну и ту же строку к цифровому выводу 2, 3 или 4 Arduino (может быть сконфигурирован в коде).

Штифт с правой стороны каждой кнопки подключается к питанию 5 В. Вы можете использовать приведенное выше изображение для справки. Сделайте эти шаги для всех ваших кнопок.

Шаг 3: Подключение зуммера

Подключение зуммера

Итак, на верхней части зуммера вы можете увидеть символ +. Он указывает на положительную сторону. Вам нужно подключить противоположный конец к земле, а этот - к цифровому выводу 8 Arduino (можно изменить позже).

Шаг 4: Загрузка и изменение кода

Код который мы будем использовать:

int bPins[3] = {2, 3, 4}, bStatuses[4], i, buzzPin = 8;
 
void setup() {
  for (i = 0; i <= 2; i++) {
    pinMode(bPins[i], INPUT);
  }
  pinMode(buzzPin, OUTPUT);
}
 
void loop() {
  for (i = 0; i <= 2; i++) {
    bStatuses[i] = digitalRead(bPins[i]);
  }
 
  if (bStatuses[0] == HIGH) {
    tone(buzzPin, 1000, 300);
  }
  else if (bStatuses[1] == HIGH) {
    tone(buzzPin, 1100, 300);
  }
  else if (bStatuses[2] == HIGH) {
    tone(buzzPin, 1200, 300);
  }
  delay(100);
}

Всё зависит от вас и вы многое можете поменять - от номеров контактов до добавления дополнительных кнопок, но что более важно - вы можете изменить каждый индивидуальный тон. Вот небольшое объяснение:

tone(buzzPin, 1000, 300); // функция тона Arduino

buzzPin // это положительный вывод зуммера

1000 // это сам тон, в Гц (он может быть от 31 до 65535)

300 // продолжительность в мс (необязательно)

Шаг 5: Итоговый результат (видео)

Вот итоговый видеоролик проекта в действии, создающий случайную мелодию. Как мы написали выше - вы можете менять тон и продолжительность звука, поэкспериментируйте с этим. И помните, что нот-то всего семь.

Вот мы и получили самую простую звуковую панель с помощью Arduino. Надеемся вы теперь получили общие навыки и общее понимание того как это работает.

Ардуино+