Tartalomjegyzék:
- Lépés: Szükséges anyagok
- 2. lépés: Az idő építése
- 3. lépés: Hangérzékelő modul és RGB LED
- 4. lépés: Kód
- 5. lépés: Utolsó gondolatok
Videó: Billentyűzet modul zongora RGB LED -del: 5 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Intro
Sziasztok hölgyeim és uraim, üdvözöllek legelső oktatható művemben! Ma azt fogom megtanítani, hogyan kell zongorát készíteni, amelynek fő elemei egy billentyűzet modul és egy piezo zümmögő, és hogy képes legyen DO-RE-MI-t játszani.
A billentyűzet modul leggyakrabban rendeltetése az, hogy egy billentyűzet legyen egy arduino RFID -vel kombinálva, hogy biztonságos tárolót hozzon létre az értékes tárgyak számára. Ebben az esetben kicseréltem a billentyűzetet, ahelyett, hogy valamit megvédnék, úgy döntök, hogy az egyszerű öröm és a zene megszólaltatására használom.
Ötlet Koncepció
Ennek az alkotásnak az ötlete egy egyszerű boldog emlékből fejlődik ki, amikor xilofont játszottam, amikor fiatalabb voltam a zeneórán. A testemben futó öröm és izgalom a tetőfokára hágott, vagyis minden gyerek könnyen elégedett volt, és elégedettségem a xilofon.
Kutatás
Miután felgyullad a fenti ötlet izzó, egy kis kutatást kell végezni. A weben való böngészés után rábukkanok az első ötletemre! A billentyűzet modulból zongora lett, valaki itt létrehozta ugyanazt a projektvideót. Előre gondolva hozzá kellett adnom egy külön összetevőt, amely tovább fokozza a projektet, de vonzóbbá teszi, és a magaménak nevezhetem.
Lépés: Szükséges anyagok
Anyagok listája
- Piezo Buzzer 1x ▶
- 4x4-es billentyűzet modul 1x ▶
- Arduino Uno 1x ▶
- A/B típusú USB 2.0 kábel 1x ▶
- Hangérzékelő modul 1x ▶
- RGB LED 1x ▶
- 330 ohmos ellenállás 3x ▶
- Férfi-női áthidaló vezeték 8x ▶
- Férfi -férfi áthidaló vezeték 4x ▶
- 3 tűs hüvely-hüvely áthidaló vezeték 1x ▶
Az anyaglista rendben van a fenti képekkel.
2. lépés: Az idő építése
4x4 -es billentyűzet -modul és Piezo -csengő
Elmélet
Mivel a 4x4 -es billentyűzet modul és a piezo -zümmögő annyi egyedi tűbemenetet tartalmaz, és úgy döntök, hogy a felhasznált összetevőket két párra osztom. A billentyűzetre fókuszálva, általában bemenetként használják. A SunFounder 4*4 mátrix billentyűzet modul egy mátrix kódolatlan billentyűzet, amely 16 párhuzamos billentyűből áll. Az egyes sorok és oszlopok gombjai a külső csapokon keresztül vannak összekötve- Y1-Y4 érintkezők a sorok vezérlése mellett, amikor X1- X4, az oszlopok.
Célja
Ezeknek az összetevőknek a célja az egész projektben az, hogy lehetővé tegye a felhasználó számára, hogy megnyomjon egy gombot, amely a piezo zümmögő által létrehozott meghatározott hangra van beállítva hertzben.
Mátrix modul csap - Arduino Pin
- 4 - 2
- 3 - 3
- 2 - 4
- 1 - 5
- 5 - 6
- 6 - 7
- 7 - 8
- 8 - 13
Piezo Buzzer - Arduino Pin
Fekete - GND
Piros - Erő
A legnehezebb feladatom ebben az összeállításban az, hogy rájöjjek, hová van csatlakoztatva minden vezeték. A fentiekben bemutatom Önnek a gyors és egyszerű módot a vezetékek elhelyezésére, mindaddig, amíg fentről lefelé követi, a tipp az, hogy időt szakít rá, és győződjön meg arról, hogy minden csap megfelelően be van helyezve a megfelelő nyílásba.
*A tipp az, hogy kövesse az egyes vezetékek helyét egyik végétől a másikig.
Az egyes komponensvezetékek Tinkercad vázlata színkóddal van ellátva, ezért gondosan kövesse
3. lépés: Hangérzékelő modul és RGB LED
Hangérzékelő modul és RGB LED
Elmélet
A hangérzékelő modul lehetővé teszi, hogy érzékelje, ha a hang meghaladta a kiválasztott alapértéket. A hangot egy mikrofon érzékeli, és egy LM393 op erősítőbe táplálja. Ha a hangerő meghaladja a beállított értéket, a modul LED -je kigyullad és a kimenet.
Célja
Ezeknek az összetevőknek az egész projektben az a célja, hogy hang-/hangerő -leolvasást kapjon a hangérzékelő modulból, és ezen keresztül az RGB LED olvasása aktiválja a hang megfelelő színét.
Hangérzékelő modul - Arduino pin (3 tűs jumper vezeték használata)
- Kimenet - A0 analóg érintkező
- GND - Bármilyen nyitott GND tűhely
- VCC - 3V
RGB közös anód (+) LED - Arduino Pin
- Piros - 9
- Teljesítmény - 5V
- Zöld - 10
- Kék - 11
Vegye figyelembe, hogy minden egyes vezetéket 330 ohmos ellenálláson keresztül kell vezetni. Használja a fenti képet referenciaként.
A legnehezebb feladatom ebben az összeállításban az, hogy rájöjjek, hová van csatlakoztatva minden vezeték. A fentiekben bemutatom Önnek a gyors és egyszerű módot a vezetékek elhelyezésére, mindaddig, amíg fentről lefelé követi, a tipp az, hogy időt szakít, és győződjön meg arról, hogy minden csap helyesen van behelyezve a megfelelő nyílásba, hogy megakadályozza a későbbi hibakeresést.
*A tipp az, hogy kövesse az egyes vezetékek behelyezésének módját
Az egyes komponensvezetékek Tinkercad vázlata színkóddal van ellátva, ezért kövesse
4. lépés: Kód
Kód
Ez a kód lehetővé teszi, hogy az összes komponens együtt dolgozzon, az újonnan definiált függvény használatával egyetlen vezérlőelemet tartalmazhat, amely sok változtatható változót tartalmaz, ezek az összetevők az RGB ledjei voltak, és az rgb szín használatával változtatták meg a színt, és a piezo zümmere és a hangot ad, a gombnyomástól függően.
A kódon belül kötelező volt a billentyűzet -könyvtár
Link itt:
A letöltés után adja hozzá az új könyvtárat az arduino -hoz, majd illessze be az aktiváláshoz szükséges egyetlen sor kódot.
A kód során felmerült nehézségeim az újonnan definiált függvények elhelyezése voltak, mivel próba és hiba útján rájöttem, hogy ennek a beállításban kell lennie, és nem a ciklusban.
Kód
#include // Kezelőkönyvtár
int greenPin = 11; // RGB zöld tű a digitális tűhöz csatlakoztatva 9
int redPin = 10; // RGB Piros Tű a digitális tűhöz csatlakoztatva 9
int bluePin = 9; // RGB kék tű 9 -es digitális tűhöz csatlakoztatva int hangszóróPin = 12; // hangszóró csatlakoztatva a digitális tűhöz 12 const byte ROWS = 4; // négy sor const byte COLS = 4; // négy coloums const int soundPin = A0; // hangérzékelő csatlakoztatása az A0 -hoz
char billentyűk [ROWS] [COLS] = {
{'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h'}, {'i', 'j', 'k', ' l '}, {' m ',' n ',' o ',' p '}}; // A billentyűzet modul megjelenítése
byte rowPins [SOROK] = {2, 3, 4, 5}; // csatlakozzon a billentyűzet sorkapcsaihoz
bájt colPins [COLS] = {6, 7, 8, 13}; // csatlakozzon a billentyűzet colum pinoutjaihoz
Billentyűzet billentyűzet = Billentyűzet (makeKeymap (billentyűk), rowPins, colPins, ROWS, COLS); // Kulcsokat hoz létre
void setup () {
pinMode (speakerPin, OUTPUT); // a speakerPin kimenetet állítja be
pinMode (redPin, OUTPUT); // beállítja a piros tűt kimeneti pinMode (greenPin, OUTPUT); // beállítja a zöld tűt kimeneti pinMode (bluePin, OUTPUT); // a kék tűt kimenetnek állítja be
Sorozat.kezdet (9600);
} void setColor (int piros, int zöld, int kék) // Új definiált funkció, amely lehetővé teszi az RGB számára, hogy színt jelenítsen meg az RGB kódon keresztül {#ifdef COMMON_ANODE red = 255 - red; zöld = 255 - zöld; kék = 255 - kék; #endif analogWrite (redPin, piros); analogWrite (zöldPin, zöld); analogWrite (bluePin, kék); }
void beep (előjel nélküli char hangszóróPin, int frekvencia InHertz, long timeInMilliseconds) {// a hangképző funkciók
int x; long delayAmount = (hosszú) (1000000/frequencyInHertz); long loopTime = (hosszú) ((timeInMilliseconds*1000)/(delayAmount*2)); mert (x = 0; x
void loop () {
char gomb = keypad.getKey (); int value = analogRead (soundPin); // olvassa el az A0 Serial értékét. println (érték); // az érték kinyomtatása
if (kulcs! = NO_KEY) {
Serial.println (kulcs); } if (kulcs == 'a') {sípolás (speakerPin, 2093, 100); setColor (218, 112, 214); } if (kulcs == 'b') {sípolás (speakerPin, 2349, 100); setColor (218, 112, 214); } if (billentyű == 'c') {sípolás (speakerPin, 2637, 100); setColor (218, 112, 214); } if (kulcs == 'd') {csipogás (speakerPin, 2793, 100); setColor (218, 112, 214); } if (kulcs == 'e') {sípolás (speakerPin, 3136, 100); setColor (218, 112, 214); } if (kulcs == 'f') {sípolás (speakerPin, 3520, 100); setColor (218, 112, 214); } if (kulcs == 'g') {sípolás (speakerPin, 3951, 100); setColor (218, 112, 214); } if (kulcs == 'h') {sípolás (speakerPin, 4186, 100); setColor (218, 112, 214); } if (kulcs == 'i') {sípolás (speakerPin, 2093, 100); setColor (230, 230, 0); } if (billentyű == 'j') {sípolás (speakerPin, 2349, 100); setColor (180, 255, 130); } if (kulcs == 'k') {sípolás (speakerPin, 2637, 100); setColor (130, 255, 130); } if (kulcs == 'l') {sípolás (speakerPin, 2739, 100); setColor (130, 220, 130); } if (kulcs == 'm') {sípolás (speakerPin, 3136, 100); setColor (0, 255, 255); } if (kulcs == 'n') {sípolás (speakerPin, 3520, 100); setColor (0, 220, 255); } if (kulcs == 'o') {sípolás (speakerPin, 3951, 100); setColor (0, 69, 255); } if (kulcs == 'p') {sípolás (speakerPin, 4186, 100); setColor (255, 0, 255); }}
5. lépés: Utolsó gondolatok
Végső gondolatok
Ennek a projektnek az utolsó gondolatai az a célja, hogy játék legyen, szórakoztató és egyszerű örömet szerezzen. Mivel ez a projekt egy komplett és dolgozik, úgy gondolom, hogy ez a konstrukció több további komponenssel is kiegészíthető, mint például egy felvételi elem, vagy a copy/simon mondja elem, vagy akár az LCD, ahol a hangok egy adott dalt játszanak.
Kíváncsi lennék a véleményére a billentyűzet modulról, hogy Ön szerint milyen összetevőket lehetett hozzáadni. Fogja használni valamelyik projektjében? Kérjük, tegye meg ötleteit az alábbi megjegyzések részben.
Kérjük, mindenképpen ossza meg, ha tetszett ez az arduino projekt.
Ajánlott:
Tanuljon zongora billentyűket a Makey Makey segítségével: 6 lépés (képekkel)
Ismerje meg a zongorakulcsokat a Makey Makey segítségével: Ezt az Instuctables éjszakára építettem a The Maker Station -en. Ez a játék segít megtanulni, hogy a zongora billentyűzeten hol találhatók a hangok játék közben. Csoportunkat meghívták a Maker Station Pavilion részeseivé egy oktatási kiállításra. Az oktatással beszélgetve
SMD 555 időzítő zongora!: 4 lépés (képekkel)
SMD 555 időzítő zongora !: Üdv mindenkinek! Ebben az oktatható útmutatóban megmutatom, hogyan készíts egy kis zongorát a közös 555-ös időzítővel, de SMD-komponensekkel! Az SMD felületre szerelhető eszközt jelent, és ezeket az alkatrészeket közvetlenül a nyomtatott felületre szerelik fel vagy helyezik el
Raspberry Pi LED fény Schroeder zongora: 3 lépés (képekkel)
Raspberry Pi LED Light Schroeder Piano: A Raspberry Pi LED Light Schroeder PianoLED (Light Emitting Diode) és LDR (Light Dependent Resistor, or photoresitor) tömböket használják a hangjegyek lejátszására a Raspberry Pi Pygame MIDI szekvenszerrel. 15 párizsi LED és amp; LDR (12 fura
Gyors és piszkos billentyűzet (üres billentyűzet): 3 lépés
Gyors és piszkos Das billentyűzet (üres billentyűzet): A Das billentyűzet a legnépszerűbb billentyűzet neve, amelyen nincs felirat a billentyűkön (üres billentyűzet). A Das billentyűzet ára 89,95 dollár. Ez az útmutató segít eligazítani, bár saját kezűleg készíthet bármilyen régi billentyűzetet, amellyel hever
Az Apple alumínium billentyűzet tisztítása . vagy bármely más puha tapintású billentyűzet: 5 lépés
Az Apple alumínium billentyűzet tisztítása …. vagy bármely más lágy érintésű billentyűzet: Bármilyen tiszta vagy, vagy megpróbáljuk megtartani alumínium alma billentyűzetünket, körülbelül egy év múlva mocskosak lesznek. Ez az utasítás segít tisztítani. Legyen óvatos, mert nem vagyok felelős azért, ha a billentyűzet eltörik közben