Kazalo:

Klavirski modularni klavir z RGB LED: 5 korakov (s slikami)
Klavirski modularni klavir z RGB LED: 5 korakov (s slikami)

Video: Klavirski modularni klavir z RGB LED: 5 korakov (s slikami)

Video: Klavirski modularni klavir z RGB LED: 5 korakov (s slikami)
Video: what 20 years of piano practice looks like #shorts 2024, November
Anonim
Image
Image
Potrebni materiali
Potrebni materiali

Uvod

Pozdravljene dame in gospodje, dobrodošli na mojem prvem pouku! Danes vas bom naučil, kako ustvariti klavir z glavnimi sestavnimi deli, ki so modul tipkovnice in piezo zvočnikom, in imeti možnost predvajanja DO-RE-MI itd.

Najpogosteje namenjen modul tipkovnice je tipkovnica v kombinaciji z arduino RFID za ustvarjanje varne škatle za dragocene predmete. V tem primeru sem zamenjal tipkovnico, namesto da bi zaščitil nekaj, za kar se odločim, da bom govoril preprosto veselje in glasbo.

Idejni koncept

Idejni koncept za to stvaritev se je razvil iz preprostega veselega spomina med igranjem na ksilofon, ko sem bil mlajši v razredu glasbe. Količina veselja in navdušenja, ki je tekla po mojem telesu, je bila na vrhuncu, vsak otrok je bil zlahka zadovoljen in moje zadovoljstvo je bilo igrati na ksilofon.

Raziskave

Ko zasveti žarnica vaše ideje zgoraj, je treba opraviti malo raziskave. Ko sem nekaj časa brskala po spletu, sem lahko naletela na svojo idejo, na katero sem najprej pomislila! Modul tipkovnice je postal klavir, nekdo je tukaj ustvaril isti projektni video. Če razmišljam vnaprej, sem moral dodati ločeno komponento, ki bi projekt še izboljšala, vendar naredila bolj privlačen in ga lahko imenujem svoj.

Korak: Potrebni materiali

Potrebni materiali
Potrebni materiali
Potrebni materiali
Potrebni materiali
Potrebni materiali
Potrebni materiali

Seznam materialov

  • Piezo Buzzer 1x ▶
  • Modul tipkovnice 4x4 1x ▶
  • Arduino Uno 1x ▶
  • Kabel USB 2.0 A/B 1x ▶
  • Modul senzorja zvoka 1x ▶
  • RGB LED 1x ▶
  • 330 ohmski upor 3x ▶
  • Moški in ženski mostiček 8x ▶
  • Moški moški mostiček 4x ▶
  • 3-polni moški ženski mostični kabel 1x ▶

Seznam materialov je v redu s slikami zgoraj.

2. korak: Gradite čas

Gradbeni čas!
Gradbeni čas!
Gradbeni čas!
Gradbeni čas!
Gradbeni čas!
Gradbeni čas!
Gradbeni čas!
Gradbeni čas!

Modul tipkovnice 4x4 in zvočni signal Piezo

Teorija

Ker modul tipkovnice 4x4 in piezo brenčalo vsebujeta toliko posameznih vhodov za pin, se bom odločil, da uporabljene komponente razdelim na dva para. Osredotočanje na tipkovnico, ki se običajno uporablja kot vnos. Modul matrične tipkovnice SunFounder 4*4 je matrična nekodirana tipkovnica, sestavljena iz 16 paralelnih tipk. X4, stolpci.

Namen

Namen teh komponent za celoten projekt je omogočiti uporabniku, da pritisne gumb, ki je nastavljen na poseben zvok, ki ga ustvari piezo brenčalec skozi frekvenco v hercih.

Pin matričnega modula - Arduino Pin

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

Piezo Buzzer - Arduino Pin

Črna - GND

Rdeča - moč

Moja najtežja naloga pri tej gradnji je ugotoviti, kje je vsaka žica priključena. Zgoraj vam nudim hiter in enostaven način prehajanja do lokacij žic, če sledite od zgoraj navzdol, nasvet vzame vaš čas in se prepričajte, da je vsak zatič pravilno vstavljen v pravo režo.

*Nasvet je, da sledite, kje se vsaka žica nahaja od enega konca do drugega.

Vse skice Tinkercada za posamezne komponente žic so barvno kodirane, zato jih pozorno spremljajte

3. korak: Modul senzorja zvoka in LED RGB

Modul senzorja zvoka in LED RGB
Modul senzorja zvoka in LED RGB
Modul senzorja zvoka in LED RGB
Modul senzorja zvoka in LED RGB
Modul senzorja zvoka in LED RGB
Modul senzorja zvoka in LED RGB

Modul senzorja zvoka in LED RGB

Teorija

Modul senzorja zvoka omogoča zaznavanje, ko je zvok presegel nastavljeno vrednost, ki jo izberete. Zvok se zazna prek mikrofona in se napaja v op -amp LM393. Ko raven zvoka preseže nastavljeno vrednost, zasveti LED na modulu in izhod.

Namen

Namen teh komponent celotnega projekta je pridobiti odčitek zvoka/glasnosti modula senzorja zvoka in s tem branjem LED RGB aktivira pravilno barvo, ki se nanaša na zvok.

Modul senzorja zvoka - Arduino pin (uporabite 3 -polno žico)

  • Izhod - A0 analogni pin
  • GND - katera koli odprta reža za pin GND
  • VCC - 3V

RGB skupna anodna (+) LED - Arduino Pin

  • Rdeča - 9
  • Napajanje - 5V
  • Zelena - 10
  • Modra - 11

Upoštevajte, da vsako žico povežete skozi upor 330 ohmov. Za referenco uporabite zgornjo sliko.

Moja najtežja naloga pri tej gradnji je ugotoviti, kje je vsaka žica priključena. Zgoraj vam nudim hiter in enostaven način do poti do lokacij žic, če sledite od zgoraj navzdol, namig je, da si vzamete čas in se prepričate, da je vsak zatič pravilno vstavljen v pravo režo, da preprečite prihodnje odpravljanje napak.

*Nasvet je, da sledite, kje je vsaka žica tako ali drugače vstavljena

Vse skice Tinkercada za posamezne komponente žic so barvno kodirane, zato sledite

4. korak: Koda

Koda

Ta koda omogoča, da vse komponente delujejo skupaj z uporabo na novo definirane funkcije, ki vsebuje vse številne kontrolnike, eno samo komponento, ki ima veliko spremenljivih spremenljivk. Te komponente so bile pod vodstvom RGB in z uporabo barve rgb za spreminjanje barve, medtem ko je vklopljena, ter piezo brenčalec in zvok, ki bi ga oddajal glede na pritisk gumba.

V tej kodi mora biti knjižnica tipkovnice

Povezava tukaj:

Ko naložite, dodajte novo knjižnico v arduino, nato vstavite eno vrstico kode, ki je potrebna za njeno aktiviranje.

Težave, ki sem jih imel med kodo, so bile, kje umestiti na novo definirane funkcije, saj sem s poskusi in napakami ugotovil, da mora biti v nastavitvi in ne v zanki.

Koda

#include // Knjižnica tipkovnice

int greenPin = 11; // RGB Green Pin, priključen na digitalni pin 9

int redPin = 10; // RGB rdeči pin priključen na digitalni pin 9

int bluePin = 9; // RGB modri pin priključen na digitalni pin 9 int speakerPin = 12; // zvočnik priključen na digitalni pin 12 const bajt ROWS = 4; // štiri vrstice const byte COLS = 4; // štiri kolonije const int soundPin = A0; // zvočni senzor pritrdite na A0

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

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

byte rowPins [ROWS] = {2, 3, 4, 5}; // povežemo se z odmiki vrstice na tipkovnici

bajt colPins [COLS] = {6, 7, 8, 13}; // se povežemo s stolpci pinout tipkovnice

Tipkovnica tipkovnice = Tipkovnica (makeKeymap (tipke), rowPins, colPins, ROWS, COLS); // Ustvari ključe

void setup () {

pinMode (speakerPin, OUTPUT); // nastavi zvočnik za izhod

pinMode (redPin, OUTPUT); // nastavi rdeči pin kot izhodni pinMode (greenPin, OUTPUT); // nastavi zeleni pin kot izhodni pinMode (bluePin, OUTPUT); // nastavi modri pin kot izhod

Serial.begin (9600);

} void setColor (int rdeča, int zelena, int modra) // Nova definirana funkcija, ki RGB -ju omogoča prikaz barve prek kode RGB {#ifdef COMMON_ANODE rdeča = 255 - rdeča; zelena = 255 - zelena; modra = 255 - modra; #endif analogWrite (redPin, rdeče); analogWrite (greenPin, zelen); analogWrite (bluePin, modro); }

void beep (nepodpisan char zvočnikPin, int frekvencaInHertz, long timeInMilliseconds) {// funkcije za ustvarjanje zvoka

int x; dolga delayAmount = (dolga) (1000000/frekvenca v hercih); long loopTime = (long) ((timeInMilliseconds*1000)/(delayAmount*2)); za (x = 0; x

void loop () {

tipka char = keypad.getKey (); int value = analogRead (soundPin); // preberite vrednost A0 Serial.println (vrednost); // natisnite vrednost

if (ključ! = NO_KEY) {

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

5. korak: Zadnje misli

Image
Image

Zaključne misli

Zadnja misel tega projekta je, da je njegov namen biti igrača, prinašati zabavo in poenostavljeno veselje. Ker je ta projekt dokončan in se na njem dela, verjamem, da lahko to zgradbo dopolni z morda več komponentami, kot je snemalni element ali element copy/simon pravi, ali celo LCD z notami, ki naj bi predvajale določeno pesem.

Zanima me vaše mnenje o modulu tipkovnice, katere komponente bi po vašem mnenju lahko dodali. Ali ga boste uporabili v katerem od svojih projektov? Prosimo, da svoje ideje objavite v spodnjem razdelku za komentarje.

Prosimo, delite, če ste uživali v tem projektu arduino.

Priporočena: