Главная » Arduino
Призовой фонд
на сентябрь 2017 г.
1. 1000 руб
PCBWay
2. Осциллограф DSO138
Паяльник
3. Тестер компонентов MG328
Паяльник
4. 100 руб.
От пользователей

Мини синтезатор на Arduino с использованием зуммера

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

Список деталей:

  • (1) Arduino Uno.
  • (1) Макетная плата.
  • (1) Матричная клавитура 4*4
  • (1) Пьезоизлучатель
  • (11) Провода папа-папа

Матричная клавиатура

Они бывают разные(большинство подключаются одинаково), например

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

Buzzer/зуммер/пищалка

 

 

Сборка

Все собирается на макетной плате с проводами папа-папа

Матричная клавиатура подключается к пинам 2,3,4,5,6,7,8,10

Зуммер к 9 пину, 5V / 3,3V, земле(слева направо)

Программа

Прошейте Arduino скетчем, который вы можете скачать внизу статьи или скопировать в текстовом виде

int PinOut[4] {5, 4, 3, 2}; // пины выходы клавиатуры
int PinIn[4] {10, 8, 7, 6}; // пины входа клавиатуры

const int value[4][4]

{ {250, 275, 300, 325},
 {350, 375, 400, 425},
 {450, 475, 500, 525},
 {260, 360, 460, 310}
};

// двойной массив, обозначающий частоту для определенной кнопки
 

void setup()
{
 pinMode (2, OUTPUT);
 pinMode (3, OUTPUT);
 pinMode (4, OUTPUT);
 pinMode (5, OUTPUT);
 
 pinMode (6, INPUT); 
 digitalWrite(6, HIGH);
 pinMode (7, INPUT);
 digitalWrite(7, HIGH);
 pinMode (8, INPUT);
 digitalWrite(8, HIGH);
 pinMode (10, INPUT);
 digitalWrite(10, HIGH);

 pinMode(9, OUTPUT);
}
 
void loop() // создаем функцию для чтения данных с кнопок
{
 for (int i = 1; i <= 4; i++)
 {
  digitalWrite(PinOut[i - 1], LOW);
  for (int j = 1; j <= 4; j++)
  {
   if (digitalRead(PinIn[j - 1]) == LOW)
   {
   tone(9, value[i - 1][j - 1], 100); // tone(порт зуммера, значение массива, задержка)
   delay(150); // задержка перед обновлением значения с клавиатуры
   noTone(9); // выключение зуммера
   }
  }
  digitalWrite(PinOut[i - 1], HIGH);
 }
}

Теперь вы можете играть простейшие мелодии на этом синтезаторе

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (0) | Я собрал (0) | Подписаться

Статью еще никто не комментировал. Вы можете стать первым.
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Arduino UNO
Arduino UNO
Конструктор - Гитарная педаль Remote Delay 2.5 Модуль измерения тока на ACS712 (30А)
вверх