Съдържание:

Клавиатурен модул Пиано с RGB LED: 5 стъпки (със снимки)
Клавиатурен модул Пиано с RGB LED: 5 стъпки (със снимки)

Видео: Клавиатурен модул Пиано с RGB LED: 5 стъпки (със снимки)

Видео: Клавиатурен модул Пиано с RGB LED: 5 стъпки (със снимки)
Видео: Arduino / Занятие 5 / Практика: кнопки, пьезодинамик, светодиоды 2024, Ноември
Anonim
Image
Image
Необходими материали
Необходими материали

Въведение

Здравейте дами и господа, добре дошли в първата ми инструкция! Днес ще ви науча как да създавате пиано с основни компоненти като модул на клавиатурата и пиезо зумер и да го накарате да свири DO-RE-MI и така нататък.

Най -често предвиденият модул на клавиатурата е да бъде клавиатура, комбинирана с arduino RFID, за да се създаде безопасна кутия за ценни предмети. В този случай смених клавиатурата, вместо да защитавам нещо, което решавам да използвам, за да говоря обикновената радост и музика.

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

Идеята за това творение се развива от обикновен щастлив спомен, докато свирих на ксилофон, когато бях по -малък в музикалния клас. Количеството радост и вълнение, преминаващо по тялото ми, беше на върха си, имам предвид, че всяко дете лесно се задоволяваше и моето удовлетворение играеше на ксилофон.

Изследвания

След като крушката на идеята ви светне, трябва да направите малко проучване. След като сърфирах в мрежата известно време, можех да се натъкна на идеята си, за която първоначално се сетих! Модул на клавиатурата се превърна в пиано, някой е създал същия видеоклип на проекта тук. Мислейки напред, трябваше да добавя отделен компонент, който допълнително да подобри проекта, но да го направи по -ангажиращ и да мога да го нарека свой.

Стъпка 1: Необходими материали

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

Списък на материалите

  • Piezo Buzzer 1x ▶
  • 4x4 клавиатурен модул 1x ▶
  • Arduino Uno 1x ▶
  • USB 2.0 кабел тип A/B 1x ▶
  • Модул за сензор за звук 1x ▶
  • RGB LED 1x ▶
  • Резистор 330 ома 3x ▶
  • Мъжки към женски джъмпер 8x ▶
  • Джъмпер проводник от мъжки към мъжки 4x ▶
  • 3-пинов проводник от мъжки към женски 1x ▶

Списъкът с материали е подреден със снимки по-горе.

Стъпка 2: Изграждане на време

Време за изграждане!
Време за изграждане!
Време за изграждане!
Време за изграждане!
Време за изграждане!
Време за изграждане!
Време за изграждане!
Време за изграждане!

4x4 клавиатурен модул и пиезо зумер

Теория

Тъй като модулът на клавиатурата 4x4 и пиезо зумерът съдържат толкова много индивидуални пинов вход и ще реша да разделя използваните компоненти на две двойки. Фокусиране върху клавиатурата, обикновено се използва като вход. Модулът за матрична клавиатура SunFounder 4*4 е матрична некодирана клавиатура, състояща се от 16 паралелни клавиша. Ключовете на всеки ред и колона са свързани чрез щифтовете навън- щифт Y1-Y4, както е обозначено до контрола на редовете, когато X1- X4, колоните.

Предназначение

Целта на тези компоненти за целия проект е да позволи на потребителя да натисне бутон, който е настроен на специфичен звук, създаден от пиезо зумера чрез честота в херци.

Пин за матричен модул - Пин за Arduino

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

Пиезо зумер - Arduino Pin

Черно - GND

Червено - Захранване

Най -трудната ми задача в тази конструкция е да разбера къде е включен всеки проводник. По -горе ви предлагам и бързо и лесно как да стигнете до местата на проводниците, стига да се следва отгоре надолу, върхът не отнема време и се уверете, че всеки щифт е правилно поставен в десния слот.

*Съветът е да следвате къде се намира всеки проводник от единия край до другия.

Всички скици на Tinkercad на проводниците на конкретни компоненти са цветно кодирани правилно, така че следвайте внимателно

Стъпка 3: Модул на сензора за звук и RGB LED

Модул на сензора за звук и RGB LED
Модул на сензора за звук и RGB LED
Модул на сензора за звук и RGB LED
Модул на сензора за звук и RGB LED
Модул на сензора за звук и RGB LED
Модул на сензора за звук и RGB LED

Модул на сензора за звук и RGB LED

Теория

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

Предназначение

Целта на тези компоненти в целия проект е да се получи отчитане на звука/силата на звуковия сензорен модул и чрез това четене RGB LED ще активира правилния цвят, отнасящ се до звука.

Модул на сензора за звук - Arduino Pin (Използвайте 3 -пинов джъмпер)

  • Изход - A0 аналогов извод
  • GND - Всеки отворен GND слот за щифтове
  • VCC - 3V

RGB общ аноден (+) LED - Arduino Pin

  • Червено - 9
  • Мощност - 5V
  • Зелено - 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 високоговорителPin = 12; // високоговорител, свързан към цифров извод 12 const байт ROWS = 4; // четири реда const байт COLS = 4; // четири колони const int soundPin = A0; // звуков сензор, прикрепен към A0

char ключове [ROWS] [COLS] = {

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

байт rowPins [ROWS] = {2, 3, 4, 5}; // свързване към изводите на реда на клавиатурата

байт colPins [COLS] = {6, 7, 8, 13}; // свързване към колоновите изводи на клавиатурата

Клавиатура на клавиатурата = Клавиатура (makeKeymap (клавиши), rowPins, colPins, ROWS, COLS); // Създава ключове

void setup () {

pinMode (speakerPin, OUTPUT); // задава високоговорителя за изход

pinMode (redPin, OUTPUT); // задава червения щифт като изходен pinMode (greenPin, OUTPUT); // задава зеления щифт като изходен pinMode (bluePin, OUTPUT); // задава синия щифт за изход

Serial.begin (9600);

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

void biep (unsigned char speakerPin, int frequencyInHertz, long timeInMilliseconds) {// функциите за създаване на звук

int x; long delayAmount = (long) (1000000/честота в херц); long loopTime = (long) ((timeInMilliseconds*1000)/(delayAmount*2)); за (x = 0; x

void loop () {

char ключ = keypad.getKey (); int value = analogRead (soundPin); // прочетете стойността на A0 Serial.println (стойност); // отпечатайте стойността

if (ключ! = NO_KEY) {

Serial.println (ключ); } if (key == 'a') {beep (speakerPin, 2093, 100); setColor (218, 112, 214); } if (key == 'b') {beep (speakerPin, 2349, 100); setColor (218, 112, 214); } if (key == 'c') {beep (speakerPin, 2637, 100); setColor (218, 112, 214); } if (key == 'd') {beep (speakerPin, 2793, 100); setColor (218, 112, 214); } if (key == 'e') {beep (speakerPin, 3136, 100); setColor (218, 112, 214); } if (key == 'f') {beep (speakerPin, 3520, 100); setColor (218, 112, 214); } if (key == 'g') {beep (speakerPin, 3951, 100); setColor (218, 112, 214); } if (key == 'h') {beep (speakerPin, 4186, 100); setColor (218, 112, 214); } if (key == 'i') {beep (speakerPin, 2093, 100); setColor (230, 230, 0); } if (key == 'j') {beep (speakerPin, 2349, 100); setColor (180, 255, 130); } if (key == 'k') {beep (speakerPin, 2637, 100); setColor (130, 255, 130); } if (key == 'l') {beep (speakerPin, 2739, 100); setColor (130, 220, 130); } if (key == 'm') {beep (speakerPin, 3136, 100); setColor (0, 255, 255); } if (key == 'n') {beep (speakerPin, 3520, 100); setColor (0, 220, 255); } if (key == 'o') {beep (speakerPin, 3951, 100); setColor (0, 69, 255); } if (key == 'p') {beep (speakerPin, 4186, 100); setColor (255, 0, 255); }}

Стъпка 5: Заключителни мисли

Image
Image

Заключителни мисли

Крайните мисли на този проект са предназначението му да бъде играчка, да донесе забавление и опростена радост. Тъй като този проект е завършен и работи, вярвам, че тази компилация и може да бъде допълнена с може би повече компоненти, като например записващ елемент, или copy/simon казва елемент, или дори LCD с нотите, които изглеждат, че свирят конкретна песен.

Бих искал да знам вашето мнение за модула на клавиатурата, какви компоненти смятате, че биха могли да бъдат добавени. Ще го използвате ли в някой от вашите проекти? Моля, публикувайте идеите си в секцията за коментари по -долу.

Моля, не забравяйте да споделите, ако сте харесали този arduino проект.

Препоръчано: