Innholdsfortegnelse:

Tastaturmodul piano med RGB LED: 5 trinn (med bilder)
Tastaturmodul piano med RGB LED: 5 trinn (med bilder)

Video: Tastaturmodul piano med RGB LED: 5 trinn (med bilder)

Video: Tastaturmodul piano med RGB LED: 5 trinn (med bilder)
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, Juli
Anonim
Image
Image
Materialer som trengs
Materialer som trengs

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

Materialer som trengs
Materialer som trengs
Materialer som trengs
Materialer som trengs
Materialer som trengs
Materialer som trengs

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

Byggetid!
Byggetid!
Byggetid!
Byggetid!
Byggetid!
Byggetid!
Byggetid!
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
Lydsensormodul og RGB LED
Lydsensormodul og RGB LED
Lydsensormodul og RGB LED
Lydsensormodul og RGB LED
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

Image
Image

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: