Съдържание:
- Стъпка 1: Необходими материали
- Стъпка 2: Изграждане на време
- Стъпка 3: Модул на сензора за звук и RGB LED
- Стъпка 4: Код
- Стъпка 5: Заключителни мисли
Видео: Клавиатурен модул Пиано с RGB LED: 5 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Въведение
Здравейте дами и господа, добре дошли в първата ми инструкция! Днес ще ви науча как да създавате пиано с основни компоненти като модул на клавиатурата и пиезо зумер и да го накарате да свири 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
Теория
Модулът на сензора за звук ви позволява да откриете, когато звукът е надвишил зададената от вас стойност. Звукът се открива чрез микрофон и се подава в операционен усилвател 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: Заключителни мисли
Заключителни мисли
Крайните мисли на този проект са предназначението му да бъде играчка, да донесе забавление и опростена радост. Тъй като този проект е завършен и работи, вярвам, че тази компилация и може да бъде допълнена с може би повече компоненти, като например записващ елемент, или copy/simon казва елемент, или дори LCD с нотите, които изглеждат, че свирят конкретна песен.
Бих искал да знам вашето мнение за модула на клавиатурата, какви компоненти смятате, че биха могли да бъдат добавени. Ще го използвате ли в някой от вашите проекти? Моля, публикувайте идеите си в секцията за коментари по -долу.
Моля, не забравяйте да споделите, ако сте харесали този arduino проект.
Препоръчано:
Обикновено Robo-Dog (направено от клавиши за пиано, играчка и мишка): 20 стъпки (със снимки)
Просто робо-куче (направено от клавиши за пиано, играчка и мишка): О, Азербайджан! Земя на огъня, страхотно гостоприемство, приятелски настроени хора и красиви жени (… извинявай, жено! Разбира се, че имам очи само за теб, моята жена gözəl balaca ana ördəkburun!). Но честно казано, това е много трудно място за производителя, особено когато
Въздушно пиано с помощта на IR сензор за близост и Arduino Uno Atmega 328: 6 стъпки (със снимки)
Въздушно пиано с помощта на IR сензор за близост и Arduino Uno Atmega 328: Обикновено пианото, било то електрическа или механична работа върху простия механизъм на натискане на бутона. Но тук има обрат, бихме могли просто да премахнем нуждата от клавиши в пиано, като използваме някои сензори. И инфрачервените сензори за близост най-добре отговарят на причината, защото
DIY клавиатурен контролер за MAME и виртуален пинбол: 4 стъпки (със снимки)
DIY клавиатурен контролер за MAME и виртуален пинбол: Този набор от инструкции ви позволява да създадете свой собствен клавиатурен контролер, използвайки стари клавиатури за цената на някои проводници, спойка и парче дърво. Тези контролери са използвани в моите проекти MAME и Virtual Pinball .Вижте Virtual Pinball Inst
1602 LCD клавиатурен щит модул с раница I2C: 6 стъпки
1602 LCD клавиатурен щитов модул с раница I2C: Като част от по -голям проект, исках да имам LCD дисплей и клавиатура за навигация в някои прости менюта. Ще използвам много от I/O портовете на Arduino за други задачи, затова исках I2C интерфейс за LCD. Затова си купих хардуер
Научете клавишите за пиано с Makey Makey: 6 стъпки (със снимки)
Научете клавишите за пиано с Makey Makey: Създадох това за една нощ на Instuctables в гара Maker. Тази игра ви помага да научите къде са нотите на клавиатурата на пиано чрез игра. Нашата група беше поканена да бъде част от павилион Maker Station на образователно изложение. Докато разговаряте с educa