Innehållsförteckning:

Arduino Piezo Buzzer Piano: 5 steg
Arduino Piezo Buzzer Piano: 5 steg

Video: Arduino Piezo Buzzer Piano: 5 steg

Video: Arduino Piezo Buzzer Piano: 5 steg
Video: MKS Gen L — Марлин 1 1 9 (configuration.h) 2024, November
Anonim
Arduino Piezo Buzzer Piano
Arduino Piezo Buzzer Piano
Arduino Piezo Buzzer Piano
Arduino Piezo Buzzer Piano

Här kommer vi att göra ett Arduino -piano som använder en piezo -summer som högtalare. Detta projekt är lätt skalbart och kan fungera med mer eller mindre anteckningar, beroende på dig! Vi kommer att bygga den med bara fyra knappar/tangenter för enkelhetens skull. Detta är ett roligt och enkelt projekt som kräver lite skicklighet, men kan göras till något mycket mer komplext eller större.

Tillbehör:

  • 1x Arduino Uno (andra Arduino -brädor ska vara bra men testades inte)
  • 1x halvbröd eller större brödbräda
  • 1x aktiv piezo -summer
  • 4x kortvarig tryckknapp
  • 11x brödbrädans trådar (6 svarta för negativa och 5 färgglada för knappar och summer

Steg 1: Kabeldragning

Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning

För att komma igång placerar vi 4 knappar nära varandra och piezo -summern på andra sidan av brödbrädet, som visas på den första bilden. Därefter kommer vi att ansluta de negativa trådarna. Först ansluter vi den negativa skenan på brödbrädet till en negativnål märkt "GND" på Arduino. Sedan ansluter vi ett ben på varje knapp till den negativa skenan. Piezo -summern har ett ben kortare, vilket är det negativa. Vi kommer också att ansluta den till den negativa skenan.

Nu är det dags att ansluta resten av ledningarna. Vi ansluter knapparnas andra ben till stift 2-5, som visas på bilden. Slutligen ansluter vi det positiva benet till piezo -summern (den längre) till pin 10. Pin -numren kan enkelt ändras i koden senare. Se bilderna för tydligare kabeldragning.

Steg 2: Programmering

Programmering
Programmering

Koden är ganska enkel och självförklarande. Överst tilldelar vi variablerna pin -nummer. Sedan deklarerar vi var och en som en ingång eller utgång. Slutligen anger vi vad vi ska göra när en viss knapp trycks in. Knapparna märkta men1-men4 motsvarar vardera en frekvens som ska spelas när de trycks in. But1 är den lägsta frekvensen på 100 Hz, medan 4 har den högsta frekvensen på 400 Hz. Vi använder ton () -funktionen för att spela tonerna i Hertz. Det är uppbyggt så här:

ton (buzzerPin, [frekvens i hertz], [varaktighet]);

Om du vill lägga till fler knappar måste du skapa en ny variabel och en ny if -sats när du trycker på den. Det är väldigt enkelt att kopiera.

Tänk dock på att Arduino bara kan spela en ton i taget. Om du trycker på flera knappar samtidigt blir ljudet inte korrekt eftersom Arduino snabbt växlar mellan olika frekvenser.

Steg 3: Visa tonerna på ett oscilloskop

Se tonerna på ett oscilloskop
Se tonerna på ett oscilloskop
Se tonerna på ett oscilloskop
Se tonerna på ett oscilloskop
Se tonerna på ett oscilloskop
Se tonerna på ett oscilloskop
Se tonerna på ett oscilloskop
Se tonerna på ett oscilloskop

När vi ansluter ett oscilloskop till den negativa skenan och summern får vi några olika fyrkantiga vågor. Ju högre frekvens, desto närmare är spikarna. Den första bilden visar den högsta frekvensen i vårt program (400hz), och den sista bilden den lägsta frekvensen (100hz). Kvadratvågorna kommer längre och längre isär när frekvensen sänks. Undersök bilderna för att se effekten.

Från vänster till höger:

400hz, 300hz, 200hz och 100hz

Steg 4: Faktiska pianotangenter?

Faktiskt pianotangenter?
Faktiskt pianotangenter?

Om du har tillgång till en 3D -skrivare kan du vara intresserad av att göra några nycklar till ditt Arduino piezo -summer -tangentbord. Dessa ger de små tryckknapparna en bättre känsla. Du hittar dem här på prusaprinters.org.

Steg 5: Slutsats

Slutsats
Slutsats

Jag hoppas att du tyckte om att skapa ett Arduino piezo -summer -tangentbord, och jag uppmuntrar dig också att justera koden. Om du gillade detta projekt, vänligen lägg upp din make nedan eller lämna en kommentar. Tack!: D

Rekommenderad: