Innehållsförteckning:

Knappsatsmodul Piano med RGB LED: 5 steg (med bilder)
Knappsatsmodul Piano med RGB LED: 5 steg (med bilder)

Video: Knappsatsmodul Piano med RGB LED: 5 steg (med bilder)

Video: Knappsatsmodul Piano med RGB LED: 5 steg (med bilder)
Video: Голубая стрела (1958) фильм 2024, November
Anonim
Image
Image
Material behövs
Material behövs

Intro

Hej mina damer och herrar, välkommen till min allra första instruerbara! Idag kommer jag att lära dig hur du skapar ett piano med huvudkomponenter som en knappsatsmodul och en piezo-summer och låter den spela DO-RE-MI och så vidare.

Knappsatsmodulen som oftast är avsedd är att vara en knappsats kombinerad med en arduino RFID för att skapa en säker förvaringsbox för värdefulla föremål. I det här fallet ändrade jag knappsatsen, istället för att skydda något som jag bestämmer mig för att använda för att tala om enkel glädje och musik.

Idékoncept

Idékonceptet för denna skapelse, utvecklas från ett enkelt lyckligt minne när jag spelade xylofon när jag var yngre i musikklassen. Mängden glädje och spänning som rann genom min kropp var på topp, jag menar att varje barn var lätt nöjd och min tillfredsställelse spelade xylofon.

Forskning

När din idé glödlampa ovan tänds måste lite forskning göras. Efter att ha surfat på nätet någon gång kan jag komma på min idé som jag först tänkte på! En knappsatsmodul vände piano, någon har skapat samma projektvideo här. När jag tänkte framåt behövde jag lägga till en separat komponent som skulle ytterligare förbättra projektet men göra det mer engagerande och kunna kalla det mitt eget.

Steg 1: Material som behövs

Material behövs
Material behövs
Material behövs
Material behövs
Material behövs
Material behövs

Materiallista

  • Piezo Buzzer 1x ▶
  • 4x4 knappsatsmodul 1x ▶
  • Arduino Uno 1x ▶
  • USB 2.0-kabel typ A/B 1x ▶
  • Ljudsensormodul 1x ▶
  • RGB LED 1x ▶
  • 330 ohm motstånd 3x ▶
  • Manlig till kvinnlig bygelkabel 8x ▶
  • Manlig till manlig bygelkabel 4x ▶
  • 3-stifts han- till hona-kabel 1x ▶

Materiallistan är i ordning med bilderna ovan.

Steg 2: Byggtid

Byggtid!
Byggtid!
Byggtid!
Byggtid!
Byggtid!
Byggtid!
Byggtid!
Byggtid!

4x4 knappsatsmodul och piezo -summer

Teori

Eftersom knappsatsmodulen 4x4 och piezo -summern innehåller så många individuella stiftingångar och jag bestämmer mig för att dela upp komponenterna som används i två par. Fokus på knappsatsen, vanligtvis används som ingång. SunFounder 4*4 Matrix-knappsatsmodul är en matriskodad knappsats som består av 16 tangenter parallellt. Nycklarna för varje rad och kolumn är anslutna genom stiften utanför- stift Y1-Y4 som är märkt bredvid kontrollraderna, när X1- X4, kolumnerna.

Ändamål

Syftet med dessa komponenter för hela projektet är att låta användaren trycka på en knapp som är inställd på ett specifikt ljud som skapas av piezo -summern genom 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 - Power

Min svåraste uppgift i detta bygge är att räkna ut var varje kabel är ansluten till. Ovanför ger jag dig en snabb och enkel väg till trådplatserna, så länge det följs uppifrån och ner, tipset är att ta dig tid och se till att varje stift är korrekt isatt i rätt plats.

*Tips är att följa var varje tråd är placerad från ena änden till en annan.

Alla Tinkercad -skisser av de specifika komponenttrådarna är färgkodade korrekt, så följ noga

Steg 3: Ljudsensormodul och RGB LED

Ljudsensormodul och RGB LED
Ljudsensormodul och RGB LED
Ljudsensormodul och RGB LED
Ljudsensormodul och RGB LED
Ljudsensormodul och RGB LED
Ljudsensormodul och RGB LED

Ljudsensormodul och RGB LED

Teori

Ljudsensormodulen låter dig upptäcka när ljudet har överskridit ett börvärde du väljer. Ljud detekteras via en mikrofon och matas in i en LM393 op -förstärkare. När ljudnivån överskrider börvärdet tänds en lysdiod på modulen och utgången.

Ändamål

Syftet med dessa komponenter för hela projektet är att erhålla en ljud-/volymavläsning av ljudsensormodulen och genom den avläsningen aktiverar en RGB -LED rätt färg för ljud.

Ljudsensormodul - Arduino -stift (använd 3 -stifts bygeltråd)

  • Utgång - A0 analog stift
  • GND - Alla öppna GND -stiftplatser
  • VCC - 3V

RGB Common Anode (+) LED - Arduino Pin

  • Röd - 9
  • Effekt - 5V
  • Grön - 10
  • Blå - 11

Tänk på att leda varje enskild ledning genom ett 330 ohm motstånd. Använd bilden ovan som referens.

Min svåraste uppgift i detta bygge är att räkna ut var varje kabel är ansluten. Ovanför ger jag dig en snabb och enkel väg till trådplatser, så länge de följs uppifrån och ner, tipset är att ta dig tid och se till att varje stift är korrekt isatt i rätt plats för att förhindra framtida felsökning.

*Tips är att följa där varje tråd sätts in åt båda hållen

Alla Tinkercad -skisser av de specifika komponentledningarna är färgkodade korrekt så följ med

Steg 4: Kod

Koda

Denna kod gör att alla komponenter kan arbeta tillsammans genom att använda nydefinierad funktion för att innehålla alla de många kontrollerna en enda komponent som har många variabla variabler, dessa komponenter var RGB -ledda och med hjälp av rgb -färg för att ändra färgen medan den var på och piezo -summern och ljud det skulle göra beroende på knapptryckningen.

Ett måste inom denna kod var knappsatsbiblioteket

Länk här:

När du har laddat ner lägg till det nya biblioteket i arduinoen, sätt sedan in den enda kodraden som behövs för att aktivera det.

Svårigheter jag hade under koden var var man skulle placera de nyligen definierade funktionerna eftersom jag genom försök och fel kom på att det måste vara i installationen och inte i slingan.

Koda

#include // Knappsatsbibliotek

int greenPin = 11; // RGB Green Pin ansluten till digital pin 9

int redPin = 10; // RGB Red Pin ansluten till digital pin 9

int bluePin = 9; // RGB Blue Pin ansluten till digital pin 9 int speakerPin = 12; // högtalare ansluten till digital pin 12 const byte RADER = 4; // fyra rader const byte COLS = 4; // fyra kolum const int soundPin = A0; // ljudsensor kopplad till A0

char nycklar [RADER] [COLS] = {

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

byte rowPins [ROWS] = {2, 3, 4, 5}; // Anslut till knapparna på knappsatsen

byte colPins [COLS] = {6, 7, 8, 13}; // Anslut till knapparna på knappsatsen

Knappsats knappsats = Knappsats (makeKeymap (nycklar), rowPins, colPins, ROWS, COLS); // Skapar nycklar

void setup () {

pinMode (speakerPin, OUTPUT); // anger att speakerPin ska vara en utgång

pinMode (redPin, OUTPUT); // ställer in den röda stiftet som en utgång pinMode (greenPin, OUTPUT); // ställer in den gröna stiftet som en utgång pinMode (bluePin, OUTPUT); // anger den blå stiftet som en utgång

Serial.begin (9600);

} void setColor (int röd, int grön, int blå) // Ny definierad funktion som gör att RGB kan visa färg genom RGB -kod {#ifdef COMMON_ANODE röd = 255 - röd; grön = 255 - grön; blå = 255 - blå; #endif analogWrite (redPin, röd); analogWrite (greenPin, grön); analogWrite (bluePin, blue); }

void pip (osignerad char speakerPin, int frequencyInHertz, long timeInMilliseconds) {// de ljudproducerande funktionerna

int x; long delayAmount = (long) (1000000/frequencyInHertz); long loopTime = (long) ((timeInMilliseconds*1000)/(delayAmount*2)); för (x = 0; x

void loop () {

char key = knappsats.getKey (); int värde = analogRead (soundPin); // läs värdet för A0 Serial.println (värde); // skriv ut värdet

if (key! = NO_KEY) {

Serial.println (nyckel); } 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); }}

Steg 5: Slutliga tankar

Image
Image

Slutgiltiga tankar

Slutliga tankar med detta projekt är dess avsedda syfte är att vara en leksak, att ge rolig och förenklad glädje. Eftersom det här projektet är ett färdigt och pågående, tror jag att detta bygge och kan främjas med kanske fler komponenter som ett inspelningselement, eller kopiera/simon säger element, eller till och med LCD med noterna som verkar spela en specifik låt.

Jag skulle gärna vilja veta din åsikt om knappsatsmodulen, vilka komponenter du trodde kunde ha lagts till. Kommer du att använda den i något av dina projekt? Skriv dina idéer i kommentarfältet nedan.

Vänligen se till att dela om du gillade detta arduino -projekt.

Rekommenderad: