Innholdsfortegnelse:
- Trinn 1: Nødvendige materialer
- Trinn 2: Byggetid
- Trinn 3: Lydsensormodul og RGB LED
- Trinn 4: Kode
- Trinn 5: Avsluttende tanker
Video: Tastaturmodul piano med RGB LED: 5 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Intro
Hei mine damer og herrer, velkommen til min aller første instruerbare! I dag skal jeg lære deg hvordan du lager et piano med hovedkomponenter som en tastaturmodul og en piezo-summer og får den til å spille DO-RE-MI og så videre.
Tastaturmodulen som oftest er tiltenkt, er å være et tastatur kombinert med en arduino RFID for å lage en safe for verdifulle gjenstander. I dette tilfellet endret jeg tastaturet, i stedet for å beskytte noe jeg bestemmer meg for å snakke om den enkle glede og musikk.
Idékonsept
Idekonseptet for denne skapelsen, utviklet seg fra et enkelt lykkelig minne mens jeg spilte xylofon da jeg var yngre i musikklassen. Mengden glede og spenning som løp gjennom kroppen min var på topp, jeg mener at hvert barn var lett fornøyd og min tilfredshet var å spille xylofon.
Forskning
Etter at idélampen over lyser, må det undersøkes litt. Etter å ha surfet på nettet en gang, kom jeg over ideen min som jeg først tenkte på! En tastaturmodul dreide piano, noen har laget den samme prosjektvideoen her. Jeg tenkte fremover at jeg trengte å legge til en egen komponent som ville forbedre prosjektet ytterligere, men gjøre det mer engasjerende og kunne kalle det mitt eget.
Trinn 1: Nødvendige materialer
Materialeliste
- Piezo Buzzer 1x ▶
- 4x4 tastaturmodul 1x ▶
- Arduino Uno 1x ▶
- USB 2.0-kabel type A/B 1x ▶
- Lydsensormodul 1x ▶
- RGB LED 1x ▶
- 330 ohm motstand 3x ▶
- Mann til kvinne jumper wire 8x ▶
- Mann til mann jumper wire 4x ▶
- 3-pinners hankabel til mann 1x til ▶
Materialeliste er i orden med bildene ovenfor.
Trinn 2: Byggetid
4 x 4 tastaturmodul og piezo -summer
Teori
Siden 4x4 -tastaturmodulen og piezo -summeren inneholder så mange individuelle pin -innganger, og jeg bestemmer meg for å dele komponentene som brukes i to par. Fokus på tastaturet, vanligvis brukt som inngang. SunFounder 4*4 Matrix-tastaturmodul er et matrisekodet tastatur som består av 16 taster parallelt. Tastene til hver rad og kolonne er koblet gjennom pinnene utenfor- pinne Y1-Y4 som merket ved siden av kontrollradene, når X1- X4, kolonnene.
Hensikt
Formålet med disse komponentene for hele prosjektet er å la brukeren trykke på en knapp som er satt til en bestemt lyd som skapes av piezo -summeren gjennom frekvens i hertz.
Matrix Module Pin - Arduino Pin
- 4 - 2
- 3 - 3
- 2 - 4
- 1 - 5
- 5 - 6
- 6 - 7
- 7 - 8
- 8 - 13
Piezo Buzzer - Arduino Pin
Svart - GND
Rød - Strøm
Min vanskeligste oppgave i denne bygningen er å finne ut hvor hver ledning er plugget inn. Over gir jeg deg en rask og enkel måte å finne frem til trådplasseringene, så lenge det følges topp til bunn, er tipset å ta deg god tid og sørge for at hver pinne er satt riktig inn i det riktige sporet.
*Tips er å følge hvor hver ledning er plassert fra en ende til en annen.
Alle Tinkercad -skisser av de spesifikke komponenttrådene er riktig kodet, så følg dem nøye
Trinn 3: Lydsensormodul og RGB LED
Lydsensormodul og RGB LED
Teori
Med lydsensormodulen kan du oppdage når lyden har overskredet et settpunkt du velger. Lyd oppdages via en mikrofon og mates inn i en LM393 op -forsterker. Når lydnivået overskrider settpunktet, lyser en LED på modulen og utgangen.
Hensikt
Formålet med disse komponentene for hele prosjektet er å oppnå en lyd/volumavlesning av lydsensormodulen, og gjennom denne avlesningen vil en RGB LED aktivere riktig farge for lyd.
Lydsensormodul - Arduino Pin (Bruk 3 -pins jumperwire)
- Utgang - A0 analog pin
- GND - Enhver åpen GND -pinne
- VCC - 3V
RGB Common Anode (+) LED - Arduino Pin
- Rød - 9
- Strøm - 5V
- Grønn - 10
- Blå - 11
Husk å koble hver enkelt ledning gjennom en 330 ohm motstand. Bruk bildet ovenfor som referanse.
Min vanskeligste oppgave i denne bygningen er å finne ut hvor hver ledning er plugget inn. Over gir jeg deg en rask og enkel fremgangsmåte for trådlokasjoner, så lenge det følges fra topp til bunn, er tipset å ta deg god tid og sørge for at hver pinne er satt riktig inn i det riktige sporet for å forhindre fremtidig feilsøking.
*Tips er å følge hvor hver ledning settes inn begge veier
Alle Tinkercad -skissene til de spesifikke komponenttrådene er riktig kodet, så følg med
Trinn 4: Kode
Kode
Denne koden gjør at alle komponentene kan fungere sammen ved å bruke nylig definert funksjon for å inneholde alle de mange kontrollene en enkelt komponent som har mange endrede variabler de komponentene var RGB -ledet og ved hjelp av rgb -farge for å endre fargen mens den var på og piezo -summeren og lyden den vil lage avhengig av knappetrykket.
Et må ha innenfor denne koden var tastaturbiblioteket
Lenke her:
Når det er lastet ned, legger du til det nye biblioteket i arduinoen, og deretter setter du inn den eneste koderaden som er nødvendig for å aktivere det.
Vanskeligheter jeg hadde under koden var hvor jeg skulle plassere de nylig definerte funksjonene, da jeg gjennom prøve og feiling fant ut at det måtte være i oppsettet og ikke løkken.
Kode
#include // Tastaturbibliotek
int greenPin = 11; // RGB Green Pin koblet til digital pin 9
int redPin = 10; // RGB Red Pin koblet til digital pin 9
int bluePin = 9; // RGB Blue Pin koblet til digital pin 9 int speakerPin = 12; // høyttaler koblet til digital pin 12 const byte RADER = 4; // fire rader const byte COLS = 4; // fire kolonner const int soundPin = A0; // lydsensor festet til A0
forkulletaster [RADER] [COLS] = {
{'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h'}, {'i', 'j', 'k', ' l '}, {' m ',' n ',' o ',' p '}}; // Visualisering av tastaturmodulen
byte rowPins [ROWS] = {2, 3, 4, 5}; // koble til radutklippene på tastaturet
byte colPins [COLS] = {6, 7, 8, 13}; // koble til colum pinouts på tastaturet
Tastatur tastatur = Tastatur (makeKeymap (nøkler), rowPins, colPins, ROWS, COLS); // Oppretter nøkler
ugyldig oppsett () {
pinMode (speakerPin, OUTPUT); // angir speakerPin som en utgang
pinMode (redPin, OUTPUT); // setter den røde pinnen til å være en output pinMode (greenPin, OUTPUT); // setter den grønne pinnen til å være en output pinMode (bluePin, OUTPUT); // angir den blå pinnen som en utgang
Serial.begin (9600);
} void setColor (int rød, int grønn, int blå) // Ny definert funksjon for å la RGB vise farge gjennom RGB -kode {#ifdef COMMON_ANODE red = 255 - rød; grønn = 255 - grønn; blå = 255 - blå; #endif analogWrite (redPin, red); analogWrite (greenPin, grønn); analogWrite (bluePin, blå); }
void beep (unsigned char speakerPin, int frequencyInHertz, long timeInMilliseconds) {// de lydproduserende funksjonene
int x; long delayAmount = (long) (1000000/frequencyInHertz); lang loopTime = (long) ((timeInMilliseconds*1000)/(delayAmount*2)); for (x = 0; x
void loop () {
char key = tastatur.getKey (); int verdi = analogRead (soundPin); // les verdien av A0 Serial.println (verdi); // skriv ut verdien
hvis (nøkkel! = NO_KEY) {
Serial.println (nøkkel); } if (key == 'a') {pip (speakerPin, 2093, 100); setColor (218, 112, 214); } if (key == 'b') {pip (speakerPin, 2349, 100); setColor (218, 112, 214); } if (key == 'c') {pip (speakerPin, 2637, 100); setColor (218, 112, 214); } if (key == 'd') {pip (speakerPin, 2793, 100); setColor (218, 112, 214); } if (key == 'e') {pip (speakerPin, 3136, 100); setColor (218, 112, 214); } if (key == 'f') {pip (speakerPin, 3520, 100); setColor (218, 112, 214); } if (key == 'g') {pip (speakerPin, 3951, 100); setColor (218, 112, 214); } if (key == 'h') {pip (speakerPin, 4186, 100); setColor (218, 112, 214); } if (key == 'i') {pip (speakerPin, 2093, 100); setColor (230, 230, 0); } if (key == 'j') {pip (speakerPin, 2349, 100); setColor (180, 255, 130); } if (key == 'k') {pip (speakerPin, 2637, 100); setColor (130, 255, 130); } if (key == 'l') {pip (speakerPin, 2739, 100); setColor (130, 220, 130); } if (key == 'm') {pip (speakerPin, 3136, 100); setColor (0, 255, 255); } if (key == 'n') {pip (speakerPin, 3520, 100); setColor (0, 220, 255); } if (key == 'o') {pip (speakerPin, 3951, 100); setColor (0, 69, 255); } if (key == 'p') {pip (speakerPin, 4186, 100); setColor (255, 0, 255); }}
Trinn 5: Avsluttende tanker
Siste tanker
De siste tankene med dette prosjektet er at det er hensikten å være et leketøy, å gi moro og enkel glede. Ettersom dette prosjektet er et komplett og arbeider med, tror jeg dette bygget og kan videreføres med kanskje flere komponenter, for eksempel et innspillingselement, eller kopi/simon sier element, eller til og med LCD med notene som ser ut til å spille en bestemt sang.
Jeg vil gjerne vite din mening om tastaturmodulen, hvilke komponenter du trodde kunne ha blitt lagt til. Kommer du til å bruke den i noen av prosjektene dine? Vennligst legg ut ideene dine i kommentarfeltet nedenfor.
Husk å dele hvis du likte dette arduino -prosjektet.
Anbefalt:
Elektrifiser Tap-A-Tune Piano: 9 trinn (med bilder)
Electrify Your Tap-A-Tune Piano: Lag eksperimentell punkmusikk og skrekkfilm lydeffekter med dette prosjektet inspirert av Randofos " Electric Cigar Box Guitar " Instructable og EvanKale's "Electric Ukelele with Tone Control" Instructable. Tap-a-tune piano er
PCB Touch Piano: 6 trinn (med bilder)
PCB Touch Piano: Et piano til lommen? Sikker! Ved å bruke en toneroverføring fra skriveren, etseroppløsning for kobber og en Teensy 3.2 lager vi en liten MIDI -kontroller som reagerer på et enkelt fingertrykk. Du trenger noen materialer: 100mm X 70mm kobber PCB Teensy 3.2 Ferric
Arduino - Piano Fliser: 16 trinn (med bilder)
Arduino - Piano Tiles: Hei internett folk, Dette kommer til å handle om hvordan du gjør det DEFINITIVT ikke er et rip off av et mobilspill på en arduino uno r3. Så for å starte, trenger du alle delene, som er som følger ! 1x Arduino Uno r3 ($ 42) 2x LCD -tastaturskjerm ($ 19 hver) 5
Ultralyd Pi -piano med bevegelseskontroller !: 10 trinn (med bilder)
Ultrasonic Pi Piano With Gesture Controls !: Dette prosjektet bruker billige HC-SR04 ultralydsensorer som innganger og genererer MIDI-notater som kan spilles gjennom en synthesizer på Raspberry Pi for lyd av høy kvalitet. Prosjektet bruker også en grunnleggende form for gestkontroll , hvor musikken
Raspberry Pi LED Light Schroeder Piano: 3 trinn (med bilder)
Raspberry Pi LED Light Schroeder Piano: Raspberry Pi LED Light Schroeder PianoLED (Light Emitting Diode) og LDR (Light Dependent Resistor, eller fotoresitor) arrays brukes til å spille musikknotater ved hjelp av Raspberry Pi Pygame MIDI sequencer. Det er 15 paris LED & LDR (12 for en fu