Sisukord:

Klahvistiku moodulklaver RGB LED -iga: 5 sammu (piltidega)
Klahvistiku moodulklaver RGB LED -iga: 5 sammu (piltidega)

Video: Klahvistiku moodulklaver RGB LED -iga: 5 sammu (piltidega)

Video: Klahvistiku moodulklaver RGB LED -iga: 5 sammu (piltidega)
Video: Сняла Киркорова что пьёт за кулисами на концерте!!!#концерт#киркоров#напитки 2024, Juuli
Anonim
Image
Image
Vajalikud materjalid
Vajalikud materjalid

Sissejuhatus

Tere daamid ja härrad, tere tulemast minu esimesele juhendatavale! Täna õpetan teile, kuidas luua klaverit, mille põhikomponendid on klahvistiku moodul ja piesosummer ning lasta tal mängida DO-RE-MI ja nii edasi.

Klaviatuurimoodul, mis on kõige sagedamini ette nähtud, on klaviatuur koos arduino RFID -ga, et luua väärtuslike esemete jaoks seif. Sel juhul vahetasin klaviatuuri, selle asemel, et midagi kaitsta, otsustan kasutada lihtsat rõõmu ja muusikat.

Idee kontseptsioon

Selle loomingu ideekontseptsioon arenes lihtsast rõõmsast mälust, kui ma muusikaklassis nooremana ksülofoni mängisin. Minu keha läbiv rõõm ja põnevus oli haripunktis, ma mõtlen, et iga laps jäi kergesti rahule ja minu rahulolu oli ksülofoni mängimine.

Uurimistöö

Kui teie ülaltoodud ideelamp süttib, tuleb veidi uurida. Pärast mõnda aega veebis sirvimist võin leida oma idee, millele ma algselt mõtlesin! Klahvistiku moodul muutus klaveriks, keegi on siin loonud sama projektivideo. Edasi mõeldes pidin lisama eraldi komponendi, mis täiendaks projekti veelgi, kuid muudaks selle köitvamaks ja saaksin seda enda omaks nimetada.

Samm: vajalikud materjalid

Vajalikud materjalid
Vajalikud materjalid
Vajalikud materjalid
Vajalikud materjalid
Vajalikud materjalid
Vajalikud materjalid

Materjalide loend

  • Pietsosummer 1x ▶
  • 4x4 klahvistiku moodul 1x ▶
  • Arduino Uno 1x ▶
  • USB 2.0 kaabel tüüp A/B 1x ▶
  • Helianduri moodul 1x ▶
  • RGB LED 1x ▶
  • 330 oomi takisti 3x ▶
  • Isast emasse hüppaja traat 8x ▶
  • Isane -isane hüppaja traat 4x ▶
  • 3 nööpnõelaga pistikjuhtmest meessoost naissoost 1x ▶

Materjalide loend on ülaltoodud piltidega korras.

2. samm: ehitage aega

Ehitusaeg!
Ehitusaeg!
Ehitusaeg!
Ehitusaeg!
Ehitusaeg!
Ehitusaeg!
Ehitusaeg!
Ehitusaeg!

4x4 klahvistiku moodul ja pieso

Teooria

Kuna 4x4 klahvistiku moodul ja piesosummer sisaldavad nii palju individuaalseid pin -sisendeid, otsustan kasutatud komponendid jagada kaheks paariks. Keskendumine klaviatuurile, mida tavaliselt kasutatakse sisendina. SunFounder 4*4 maatriksklaviatuurimoodul on maatriksi kodeerimata klahvistik, mis koosneb 16 klahvist paralleelselt. Iga rea ja veeru klahvid on ühendatud väljastpoolt asuvate tihvtide kaudu- tihvt Y1-Y4, nagu on märgitud ridade kõrval, kui X1- X4, veerud.

Eesmärk

Nende komponentide eesmärk kogu projekti jaoks on võimaldada kasutajal vajutada nuppu, mis on seatud piesohelisignaali poolt tekitatud konkreetse heli hertsides sagedusele.

Maatriksi mooduli tihvt - Arduino tihvt

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

Pietsosummer - Arduino Pin

Must - GND

Punane - võimsus

Minu selle ülesande kõige raskem ülesanne on välja selgitada, kuhu iga traat on ühendatud. Ülalpool pakun teile kiiret ja lihtsat juhtmete asukohtade liigutamist, kui neid järgitakse ülalt alla, on otstarbekas aeg ja veenduge, et iga tihvt on õigesti õigesse pesasse sisestatud.

*Näpunäide on jälgida, kus iga traat asub ühest otsast teise.

Kõik Tinkercadi konkreetsete komponentide juhtmete visandid on värvikoodiga õigesti, nii et järgige neid hoolikalt

Samm: helianduri moodul ja RGB LED

Helianduri moodul ja RGB LED
Helianduri moodul ja RGB LED
Helianduri moodul ja RGB LED
Helianduri moodul ja RGB LED
Helianduri moodul ja RGB LED
Helianduri moodul ja RGB LED

Helianduri moodul ja RGB LED

Teooria

Helianduri moodul võimaldab teil tuvastada, kas heli on ületanud teie valitud seadepunkti. Heli tuvastatakse mikrofoni kaudu ja suunatakse LM393 op -võimendisse. Kui helitase ületab seatud punkti, süttib moodulil LED ja väljund.

Eesmärk

Nende komponentide eesmärk kogu projekti jaoks on saada helianduri mooduli heli/helitugevuse näit ja selle kaudu aktiveerib RGB LED -i heli jaoks õige värv.

Helianduri moodul - Arduino tihvt (kasutage 3 -kontaktilist hüppaja traati)

  • Väljund - A0 analoogpistik
  • GND - mis tahes avatud GND tihvtipesa
  • VCC - 3V

RGB ühine anood (+) LED - Arduino tihvt

  • Punane - 9
  • Võimsus - 5V
  • Roheline - 10
  • Sinine - 11

Pidage meeles, et juhtmestik, iga juhtmest läbi 330 oomi takisti. Kasutage ülaltoodud pilti viitena.

Minu selle ülesande kõige raskem ülesanne on välja selgitada, kuhu iga traat on ühendatud. Ülalpool pakun teile kiiret ja lihtsat juhtmete asukohta jõudmist, kui neid järgitakse ülalt alla, on otstarbekas võtta aega ja veenduda, et iga tihvt on õigesti sisestatud õigesse pesasse, et vältida edasist silumist.

*Näpunäide on jälgida, kuhu iga traat mõlemal viisil sisestatakse

Kõik Tinkercadi konkreetse komponendi juhtmete visandid on õigesti värvikoodiga, nii et järgige neid

4. samm: kood

Kood

See kood võimaldab kõigil komponentidel koos töötada, kasutades äsja määratletud funktsiooni, mis sisaldab kõiki juhtelemente ühe komponendina, millel on palju muutuvaid muutujaid. Need komponendid olid RGB -juhitud ja kasutasid värvi muutmiseks sisselülitamisel rgb -värvi ning piesosummerit ja heli, mida see teeks sõltuvalt nupuvajutusest.

Selle koodi jaoks peab olema klahvistiku kogu

Link siin:

Pärast allalaadimist lisage uus raamatukogu arduino, seejärel sisestage selle aktiveerimiseks vajalik koodirida.

Koodi ajal tekkisid raskused äsja määratletud funktsioonide paigutamisel, kuna katse -eksituse meetodil sain aru, et see peab olema seadistuses, mitte silmus.

Kood

#include // Klaviatuuri kogu

int rohelinePin = 11; // RGB roheline tihvt on ühendatud digitaalse tihvtiga 9

int redPin = 10; // RGB punane tihvt on ühendatud digitaalse tihvtiga 9

int sininePin = 9; // RGB sinine tihvt ühendatud digitaalse tihvtiga 9 int kõlarPin = 12; // kõlar ühendatud digitaalse tihvtiga 12 const baiti ROWS = 4; // neli rida const bait COLS = 4; // neli coloums const int soundPin = A0; // heliandur kinnitatakse A0 külge

sümboliklahvid [ROWS] [COLS] = {

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

bait rowPins [ROWS] = {2, 3, 4, 5}; // ühendada klaviatuuri ridade pistikutega

bait colPins [COLS] = {6, 7, 8, 13}; // ühendada klahvistiku klambritega

Klahvistiku klaviatuur = Klaviatuur (makeKeymap (võtmed), rowPins, colPins, ROWS, COLS); // Loob võtmed

tühine seadistus () {

pinMode (kõlarPin, OUTPUT); // määrab kõlariPin väljundiks

pinMode (redPin, OUTPUT); // määrab punase tihvti väljundpinmaksMode (greenPin, OUTPUT); // määrab rohelise tihvti väljundpinnaksMode (bluePin, OUTPUT); // määrab väljundiks sinise tihvti

Seriaalne algus (9600);

} void setColor (int punane, int roheline, int sinine) // Uus määratletud funktsioon, mis võimaldab RGB -l kuvada värvi RGB -koodi kaudu {#ifdef COMMON_ANODE red = 255 - red; roheline = 255 - roheline; sinine = 255 - sinine; #endif analogWrite (redPin, red); analogWrite (rohelinePin, roheline); analogWrite (sininePin, sinine); }

tühine piiks (allkirjastamata sülekõlarPin, int sagedusInHertz, pikk aegInMillisekundid) {// heli tekitavad funktsioonid

int x; long delayAmount = (pikk) (1000000/frequencyInHertz); long loopTime = (long) ((timeInMilliseconds*1000)/(delayAmount*2)); jaoks (x = 0; x

void loop () {

sümbol klahv = keypad.getKey (); int väärtus = analogRead (soundPin); // loe väärtust A0 Serial.println (väärtus); // prindi väärtus

kui (võti! = NO_KEY) {

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

Samm: viimased mõtted

Image
Image

Lõplikud mõtted

Selle projekti lõplikud mõtted on selle kavandatud eesmärk olla mänguasi, pakkuda lõbusat ja lihtsat rõõmu. Kuna see projekt on täielik ja töötab, usun ma seda konstruktsiooni ja seda saab täiendada võib -olla rohkemate komponentidega, näiteks salvestuselemendiga või koopia/simon ütleb elemendiga või isegi LCD -ga, kus noodid näivad esitavat konkreetset laulu.

Tahaksin teada teie arvamust klaviatuurimooduli kohta, milliseid komponente oleks teie arvates võinud lisada. Kas kasutate seda mõnes oma projektis? Palun postitage oma ideed allpool olevasse kommentaaride sektsiooni.

Palun jagage kindlasti, kui teile see arduino projekt meeldis.

Soovitan: