Sadržaj:

Modul klavijature Klavir sa RGB LED: 5 koraka (sa slikama)
Modul klavijature Klavir sa RGB LED: 5 koraka (sa slikama)

Video: Modul klavijature Klavir sa RGB LED: 5 koraka (sa slikama)

Video: Modul klavijature Klavir sa RGB LED: 5 koraka (sa slikama)
Video: Drawing a Synthesizer in MIDI - Live! 2024, Juli
Anonim
Image
Image
Potrebni materijali
Potrebni materijali

Intro

Zdravo dame i gospodo, dobrodošli u moju prvu instrukciju! Danas ću vas naučiti kako stvoriti klavir sa glavnim komponentama modulom tastature i piezo zujalicom i omogućiti mu da svira DO-RE-MI itd.

Najčešće predviđena modul tipkovnice je da bude tipkovnica u kombinaciji s arduino RFID -om za stvaranje sigurne kutije za vrijedne predmete. U ovom slučaju promijenio sam tastaturu, umjesto da zaštitim nešto što odlučim koristiti za izgovaranje jednostavne radosti i muzike.

Ideja Concept

Koncept ideje za ovu kreaciju evoluirao je iz jednostavnog sretnog sjećanja dok sam svirao ksilofon dok sam bio mlađi na satu muzike. Količina radosti i uzbuđenja koja mi je prolazila tijelom bila je na vrhuncu, mislim da je svako dijete bilo lako zadovoljno, a moje zadovoljstvo je bilo svirati na ksilofonu.

Istraživanje

Nakon što se žarulja vaše ideje gore upali, potrebno je malo istražiti. Nakon što sam neko vrijeme pregledavao web, mogao sam naići na svoju ideju na koju sam prvotno mislio! Modul tastature pretvorio se u klavir, neko je ovdje napravio isti video projekt. Razmišljajući unaprijed, morao sam dodati zasebnu komponentu koja bi dodatno poboljšala projekt, ali učinila ga zanimljivijim i mogla ga nazvati svojim.

Korak 1: Potrebni materijali

Potrebni materijali
Potrebni materijali
Potrebni materijali
Potrebni materijali
Potrebni materijali
Potrebni materijali

Lista materijala

  • Piezo Buzzer 1x ▶
  • 4x4 modul tastature 1x ▶
  • Arduino Uno 1x ▶
  • USB 2.0 kabel tipa A/B 1x ▶
  • Modul senzora zvuka 1x ▶
  • RGB LED 1x ▶
  • Otpor 330 ohma 3x ▶
  • Žica za kratkospojnike 8x ▶
  • Žica kratkospojnik muški na muški 4x ▶
  • 3-pinska kratkospojnica žica-muškarac 1x ▶

Lista materijala je u redu sa slikama iznad.

Korak 2: Vrijeme izgradnje

Vrijeme izgradnje!
Vrijeme izgradnje!
Vrijeme izgradnje!
Vrijeme izgradnje!
Vrijeme izgradnje!
Vrijeme izgradnje!
Vrijeme izgradnje!
Vrijeme izgradnje!

Modul tastature 4x4 i Piezo zujalica

Teorija

Budući da modul tipkovnice 4x4 i piezo zujalica sadrže toliko pojedinačnih pin ulaza, odlučit ću podijeliti korištene komponente u dva para. Fokusiranje na tastaturu, obično se koristi kao ulaz. Modul matrične tastature SunFounder 4*4 je matrična nekodirana tastatura koja se sastoji od 16 paralelnih tastera. Ključevi svakog reda i kolone povezani su spoljašnjim pinovima- pin Y1-Y4 označen pored kontrole redova, kada je X1- X4, kolone.

Svrha

Svrha ovih komponenti cijelog projekta je omogućiti korisniku da pritisne dugme koje je postavljeno na određeni zvuk koji stvara piezo zujalica kroz frekvenciju u hercima.

Pin matrice matrice - Arduino pin

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

Piezo Buzzer - Arduino Pin

Crna - GND

Crvena - Napajanje

Moj najteži zadatak u ovoj izgradnji je utvrditi gdje je svaka žica uključena. Iznad vam nudim i brz i jednostavan način prolaska do lokacija žica, sve dok se slijedi odozgo prema dolje, savjet vam oduzima vrijeme i provjerite je li svaki pin pravilno umetnut u desni utor.

*Savjet je slijediti gdje se svaka žica nalazi s jednog kraja na drugi.

Sve Tinkercad skice žica određene komponente ispravno su kodirane bojom, pa ih pažljivo pratite

Korak 3: Modul senzora zvuka i RGB LED

Modul senzora zvuka i RGB LED
Modul senzora zvuka i RGB LED
Modul senzora zvuka i RGB LED
Modul senzora zvuka i RGB LED
Modul senzora zvuka i RGB LED
Modul senzora zvuka i RGB LED

Modul senzora zvuka i RGB LED

Teorija

Modul senzora zvuka vam omogućuje da otkrijete kada je zvuk premašio zadatu vrijednost koju odaberete. Zvuk se detektira putem mikrofona i dovodi u LM393 op pojačalo. Kada nivo zvuka pređe zadanu vrijednost, LED na modulu svijetli i izlaz.

Svrha

Svrha ovih komponenti u cijelom projektu je postići očitavanje zvuka/jačine zvuka modula senzora zvuka i kroz to čitanje RGB LED će aktivirati ispravnu boju koja se odnosi na zvuk.

Modul senzora zvuka - Arduino pin (koristite 3 -pinsku kratkospojnu žicu)

  • Izlaz - A0 analogni pin
  • GND - Bilo koji otvoreni otvor za pin GND
  • VCC - 3V

RGB LED sa zajedničkom anodom (+) - Arduino pin

  • Crvena - 9
  • Napajanje - 5V
  • Zelena - 10
  • Plava - 11

Imajte na umu da svaku žicu povežete kroz otpornik od 330 ohma. Gornju sliku koristite kao referencu.

Moj najteži zadatak u ovoj izgradnji je utvrditi gdje je svaka žica uključena. Gore vam nudim i brz i jednostavan način kako doći do lokacija žica, sve dok se slijedi odozgo prema dolje, savjet je da odvojite vrijeme i provjerite je li svaki pin pravilno umetnut u desni utor kako biste spriječili buduće otklanjanje grešaka.

*Savjet je slijediti gdje je svaka žica umetnuta na bilo koji način

Sve Tinkercad skice žica određene komponente ispravno su kodirane bojom, pa ih slijedite

Korak 4: Kodirajte

Kod

Ovaj kôd omogućava svim komponentama da rade zajedno koristeći novo definiranu funkciju koja sadrži sve mnoge kontrole jednu komponentu koja ima mnogo promjenjivih varijabli te komponente su bile RGB LED i koriste rgb boju za promjenu boje dok su uključene i piezo zujalicu i zvuk koji bi proizveo ovisno o pritisku tipke.

Mora biti unutar ovog koda biblioteka tastature

Link ovdje:

Nakon preuzimanja dodajte novu biblioteku u arduino, a zatim umetnite jednu liniju koda potrebnu za aktiviranje.

Poteškoće koje sam imao tokom koda bilo je gdje postaviti novo definirane funkcije jer sam pokušajem i greškom shvatio da to mora biti u postavkama, a ne u petlji.

Kod

#include // Biblioteka tastature

int greenPin = 11; // RGB zeleni pin spojen na digitalni pin 9

int redPin = 10; // RGB crveni pin spojen na digitalni pin 9

int bluePin = 9; // RGB Blue Pin spojen na digitalni pin 9 int speakerPin = 12; // zvučnik spojen na digitalni pin 12 const bajt ROWS = 4; // četiri reda const byte COLS = 4; // četiri kolonija const int soundPin = A0; // senzor zvuka priključen na A0

ključevi char [ROWS] [COLS] = {

{'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h'}, {'i', 'j', 'k', ' l '}, {' m ',' n ',' o ',' p '}}; // Vizualizacija modula tastature

bajtovi rowPins [ROWS] = {2, 3, 4, 5}; // povezivanje sa ispisom redova na tastaturi

bajtovi colPins [COLS] = {6, 7, 8, 13}; // povezivanje sa pin pinouts tastature

Tastatura tastature = Tastatura (makeKeymap (tasteri), rowPins, colPins, ROWS, COLS); // Kreira ključeve

void setup () {

pinMode (spikerPin, OUTPUT); // postavlja zvučnik na izlaz

pinMode (redPin, OUTPUT); // postavlja crveni pin kao izlazni pinMode (greenPin, OUTPUT); // postavlja zeleni pin kao izlazni pinMode (bluePin, OUTPUT); // postavlja plavi pin kao izlaz

Serial.begin (9600);

} void setColor (int crvena, int zelena, int plava) // Nova definirana funkcija koja dozvoljava RGB -u prikazivanje boje kroz RGB kod {#ifdef COMMON_ANODE red = 255 - crveno; zelena = 255 - zelena; plava = 255 - plava; #endif analogWrite (redPin, crveno); analogWrite (greenPin, zeleno); analogWrite (bluePin, plavo); }

void bip (unsigned char zvučnikPin, int frekvencijaInHertz, longtimeInMilliseconds) {// funkcije za stvaranje zvuka

int x; long delayAmount = (long) (1000000/frekvencija u hercima); long loopTime = (long) ((timeInMilliseconds*1000)/(delayAmount*2)); za (x = 0; x

void loop () {{100} {101}

tipka char = keypad.getKey (); int value = analogRead (soundPin); // čita vrijednost A0 Serial.println (value); // ispisuje vrijednost

if (ključ! = NO_KEY) {

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

Korak 5: Završne misli

Image
Image

Završne misli

Posljednje misli ovog projekta su njegova namjera da bude igračka, da donese zabavu i pojednostavljenu radost. Budući da je ovaj projekt kompletan i da se na njemu radi, vjerujem da se ova verzija može nadograditi sa možda više komponenti, poput elementa za snimanje, ili copy/simon say elementa, ili čak LCD -a s notama koje izgledaju kao da sviraju određenu pjesmu.

Volio bih znati vaše mišljenje o modulu tipkovnice, za koje ste komponente mislili da se mogu dodati. Hoćete li ga koristiti u nekom od svojih projekata? Molimo vas da svoje ideje objavite u odjeljku komentara ispod.

Molimo vas da podijelite ako ste uživali u ovom arduino projektu.

Preporučuje se: