Оглавление:

Клавиатурный модуль фортепиано с RGB-светодиодами: 5 шагов (с изображениями)
Клавиатурный модуль фортепиано с RGB-светодиодами: 5 шагов (с изображениями)

Видео: Клавиатурный модуль фортепиано с RGB-светодиодами: 5 шагов (с изображениями)

Видео: Клавиатурный модуль фортепиано с RGB-светодиодами: 5 шагов (с изображениями)
Видео: Программирование cyberpi на python урок 1 2024, Июль
Anonim
Image
Image
Необходимые материалы
Необходимые материалы

вступление

Здравствуйте, дамы и господа, добро пожаловать на мой самый первый инструктаж! Сегодня я научу вас, как создать фортепиано с основными компонентами, являющимися модулем клавиатуры и пьезозуммером, и научу его воспроизводить DO-RE-MI и так далее.

Модуль клавиатуры чаще всего предназначен для использования в качестве клавиатуры в сочетании с RFID-меткой Arduino для создания сейфа для ценных вещей. В этом случае я поменял клавиатуру, вместо того, чтобы защищать что-то, я решил использовать простую радость и музыку.

Идея Концепция

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

Исследовать

После того, как лампочка вашей идеи загорится выше, нужно провести небольшое исследование. Посмотрев какое-то время в Интернете, я наткнулся на свою идею, о которой изначально думал! Модуль клавиатуры превратился в пианино, здесь кто-то создал такое же видео проекта. Забегая вперед, мне нужно было добавить отдельный компонент, который еще больше улучшил бы проект, но сделал бы его более интересным и мог бы назвать его своим.

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

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

Список материалов

  • Пьезозуммер 1x ▶
  • Модуль клавиатуры 4x4 1x ▶
  • Arduino Uno 1x ▶
  • Кабель USB 2.0 типа A / B 1x ▶
  • Модуль звукового датчика 1x ▶
  • Светодиод RGB 1x ▶
  • Резистор 330 Ом 3x ▶
  • Перемычка между штекером и гнездом 8x ▶
  • 4x перемычка между мужчинами и женщинами ▶
  • 3-контактная перемычка между штекером и гнездом 1x ▶

Список материалов приведен в порядке изображений выше.

Шаг 2: Время строительства

Время строительства!
Время строительства!
Время строительства!
Время строительства!
Время строительства!
Время строительства!
Время строительства!
Время строительства!

Модуль клавиатуры 4x4 и пьезо-зуммер

Теория

Поскольку модуль клавиатуры 4x4 и пьезозуммер содержат так много отдельных входных контактов, я решаю разделить используемые компоненты на две пары. Ориентация на клавиатуру, обычно используемую как вход. Модуль матричной клавиатуры SunFounder 4 * 4 представляет собой матричную некодированную клавиатуру, состоящую из 16 клавиш, включенных параллельно. Клавиши каждой строки и столбца подключаются через контакты снаружи - контакты Y1-Y4, как указано рядом, управляют строками, когда X1- Х4, колонны.

Цель

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

Вывод матричного модуля - вывод Arduino

  • 4 - 2
  • 3 - 3
  • 2 - 4
  • 1 - 5
  • 5 - 6
  • 6 - 7
  • 7 - 8
  • 8 - 13

Пьезо-зуммер - вывод Arduino

Черный - GND

Красный - Мощность

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

* Совет: проследите, где находится каждый провод, от одного конца до другого.

Все эскизы конкретных компонентов проводов Tinkercad имеют правильную цветовую кодировку, поэтому внимательно следите за ними

Шаг 3. Модуль звукового датчика и светодиод RGB

Модуль звукового датчика и светодиод RGB
Модуль звукового датчика и светодиод RGB
Модуль звукового датчика и светодиод RGB
Модуль звукового датчика и светодиод RGB
Модуль звукового датчика и светодиод RGB
Модуль звукового датчика и светодиод RGB

Модуль звукового датчика и светодиод RGB

Теория

Модуль звукового датчика позволяет определять, когда уровень звука превышает установленное вами значение. Звук улавливается микрофоном и подается в операционный усилитель LM393. Когда уровень звука превышает заданное значение, на модуле загорается светодиод и выход.

Цель

Назначение этих компонентов для всего проекта состоит в том, чтобы получить показания звука / громкости модуля звукового датчика, и посредством этого считывания светодиод RGB активирует правильный цвет, относящийся к звуку.

Модуль звукового датчика - вывод Arduino (используйте 3-контактную перемычку)

  • Выход - аналоговый вывод A0
  • GND - Любой открытый контактный слот GND
  • VCC - 3 В

Светодиод с общим анодом (+) RGB - вывод Arduino

  • Красный - 9
  • Мощность - 5В
  • Зеленый - 10
  • Синий - 11

Имейте в виду, что каждый отдельный провод должен проходить через резистор 330 Ом. Используйте изображение выше как ссылку.

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

* Совет: следите за тем, где вставляется каждый провод, в любом случае

Все эскизы отдельных проводов компонентов Tinkercad имеют правильную цветовую кодировку, поэтому следуйте инструкциям

Шаг 4: Код

Код

Этот код позволяет всем компонентам работать вместе, используя вновь определенную функцию, содержащую все множество элементов управления, один компонент, который имеет много изменяемых переменных, эти компоненты были светодиодом RGB и с использованием цвета rgb для изменения цвета при включении, а также пьезозуммера и звук, который он будет издавать, в зависимости от нажатия кнопки.

В этом коде должна быть библиотека клавиатуры.

Ссылка здесь:

После загрузки добавьте новую библиотеку в Arduino, а затем вставьте одну строку кода, необходимую для ее активации.

Трудности, которые у меня возникли во время кода, заключались в том, где разместить вновь определенные функции, поскольку методом проб и ошибок я понял, что это должно быть в настройке, а не в цикле.

Код

#include // Библиотека клавиатуры

int greenPin = 11; // Зеленый вывод RGB подключен к цифровому выводу 9

int redPin = 10; // Красный вывод RGB, подключенный к цифровому выводу 9

int bluePin = 9; // Синий вывод RGB подключен к цифровому выводу 9 int speakerPin = 12; // динамик, подключенный к цифровому выводу 12 const byte ROWS = 4; // четыре строки const byte COLS = 4; // четыре цвета const int soundPin = A0; // звуковой датчик присоединяется к A0

символьные ключи [ROWS] [COLS] = {

{'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h'}, {'i', 'j', 'k', ' l '}, {' m ',' n ',' o ',' p '}}; // Визуализация модуля клавиатуры

byte rowPins [ROWS] = {2, 3, 4, 5}; // подключаемся к выводам ряда клавиатуры

byte colPins [COLS] = {6, 7, 8, 13}; // подключаемся к колонке распиновки клавиатуры

Keypad keypad = Keypad (makeKeymap (keys), rowPins, colPins, ROWS, COLS); // Создает ключи

void setup () {

pinMode (динамикPin, ВЫХОД); // устанавливает динамик как выход

pinMode (redPin, ВЫХОД); // устанавливает красный контакт как выходной pinMode (greenPin, OUTPUT); // устанавливает зеленый контакт как выходной pinMode (bluePin, OUTPUT); // устанавливает синюю булавку как выход

Serial.begin (9600);

} void setColor (int red, int green, int blue) // Новая определенная функция, позволяющая RGB отображать цвет через код RGB {#ifdef COMMON_ANODE red = 255 - red; green = 255 - зеленый; blue = 255 - синий; #endif analogWrite (redPin, красный); analogWrite (greenPin, зеленый); analogWrite (bluePin, синий); }

void beep (unsigned char speakerPin, int frequencyInHertz, long timeInMilliseconds) {// звуковые функции

int x; long delayAmount = (long) (1000000 / frequencyInHertz); long loopTime = (long) ((timeInMilliseconds * 1000) / (delayAmount * 2)); для (x = 0; x

void loop () {

char key = keypad.getKey (); int value = analogRead (soundPin); // считываем значение A0 Serial.println (value); // выводим значение

if (ключ! = NO_KEY) {

Serial.println (ключ); } если (ключ == 'а') {звуковой сигнал (SpeakerPin, 2093, 100); setColor (218, 112, 214); } если (ключ == 'б') {звуковой сигнал (SpeakerPin, 2349, 100); setColor (218, 112, 214); } если (ключ == 'c') {звуковой сигнал (динамикPin, 2637, 100); setColor (218, 112, 214); } если (ключ == 'd') {звуковой сигнал (динамикPin, 2793, 100); setColor (218, 112, 214); } если (ключ == 'е') {звуковой сигнал (SpeakerPin, 3136, 100); setColor (218, 112, 214); } если (ключ == 'е') {звуковой сигнал (SpeakerPin, 3520, 100); setColor (218, 112, 214); } если (ключ == 'g') {звуковой сигнал (динамикPin, 3951, 100); setColor (218, 112, 214); } если (ключ == 'ч') {звуковой сигнал (SpeakerPin, 4186, 100); setColor (218, 112, 214); } если (ключ == 'я') {звуковой сигнал (SpeakerPin, 2093, 100); setColor (230, 230, 0); } если (ключ == 'j') {звуковой сигнал (SpeakerPin, 2349, 100); setColor (180, 255, 130); } если (ключ == 'k') {звуковой сигнал (динамикPin, 2637, 100); setColor (130, 255, 130); } если (ключ == 'л') {звуковой сигнал (SpeakerPin, 2739, 100); setColor (130, 220, 130); } если (ключ == 'м') {звуковой сигнал (SpeakerPin, 3136, 100); setColor (0, 255, 255); } если (ключ == 'п') {звуковой сигнал (SpeakerPin, 3520, 100); setColor (0, 220, 255); } если (ключ == 'о') {звуковой сигнал (SpeakerPin, 3951, 100); setColor (0, 69, 255); } если (ключ == 'р') {звуковой сигнал (динамикPin, 4186, 100); setColor (255, 0, 255); }}

Шаг 5: Заключительные мысли

Image
Image

Последние мысли

Заключительные мысли об этом проекте: его предназначение - быть игрушкой, приносить веселье и простую радость. Поскольку этот проект является завершенным и работает над ним, я считаю, что эта сборка может быть дополнена, возможно, дополнительными компонентами, такими как элемент записи, или элемент copy / simon say, или даже ЖК-дисплей с нотами, появляющимися для воспроизведения определенной песни.

Я хотел бы узнать ваше мнение о модуле клавиатуры, какие компоненты, по вашему мнению, могли быть добавлены. Собираетесь ли вы использовать его в каком-нибудь из ваших проектов? Пожалуйста, разместите свои идеи в разделе комментариев ниже.

Не забудьте поделиться, если вам понравился этот проект Arduino.

Рекомендуемые: