Inhoudsopgave:

Arduino Synth / Tone Generator - Ajarnpa
Arduino Synth / Tone Generator - Ajarnpa

Video: Arduino Synth / Tone Generator - Ajarnpa

Video: Arduino Synth / Tone Generator - Ajarnpa
Video: Arduino Synth / Tone Generator 2024, November
Anonim
Arduino Synth / Toongenerator
Arduino Synth / Toongenerator

Dit is een Synth / Tone Generator die het Tone-commando gebruikt dat eigen is aan de Arduino. Het heeft 12 individuele toetsen die kunnen worden ingesteld om elke frequentie van blokgolf te spelen. Het heeft de mogelijkheid om octaven op en neer te gaan met een knop. Het heeft ook een tweede Arduino die een "beat" genereert en je kunt door elke beat bladeren en het tempo van de beat aanpassen met de potentiometer. Het wordt uitgevoerd naar een enkele luidspreker. Het ziet er misschien ingewikkeld uit, maar het is eigenlijk vrij eenvoudig om te maken en je kunt je geluiden aanpassen door de code te wijzigen.

Stap 1: Materialen

  • 2 Arduino-uno's
  • 17 1kΩ Weerstanden
  • 1 50kΩ Potentiometer
  • 16 toetsschakelaars (drukknoppen)
  • 1 4Ω Luidspreker
  • 1 9V batterij
  • Veel draad

Als je het laatste bord wilt solderen en een eindproduct zoals het mijne wilt maken, heb je ook nodig

  • 1 Protoboard
  • 2 28-pins stopcontacten
  • Mannelijke en vrouwelijke kopteksten
  • 1 5V-regelaar
  • 1 47 uF-condensator
  • 2 16 Mhz-kristallen
  • 2 aan/uit-schakelaars
  • Een speelgoedtoetsenbord om de toetsen uit te halen

Stap 2: bedraad de breadboard

Bedraad de Breadboard
Bedraad de Breadboard
Bedraad de Breadboard
Bedraad de Breadboard
Bedraad de Breadboard
Bedraad de Breadboard

Gebruik de bovenstaande afbeelding om het circuit op het breadboard te maken.

Voor de eerste arduino-haak 12 tact-switches tot pinnen 13-2, elk met hun eigen pull-down-weerstand. Sluit op dezelfde manier nog 2 schakelaars aan op A5 en A4. Het laatste dat u moet aansluiten, is de luidspreker. Verbind het ene uiteinde met aarde en het andere uiteinde met pin 0.

Voor de tweede arduino-haak schakelt 2 naar pin 9 en 10 op dezelfde manier als voorheen. Sluit de 50k-potentiometer aan op pin A0, 5V en met een weerstand van 1k op aarde. Sluit ten slotte pin 8 aan op dezelfde draad op de luidspreker als pin 0 op de eerste Arduino. Vergeet niet om het terrein van beide arduino's met elkaar te verbinden.

Stap 3: De code

De code
De code

Upload vervolgens de Tone Keyboard-code naar de eerste Arduino en de Rhythm Section-code naar de tweede Arduino. Als de code niet wil uploaden, probeer dan de luidspreker tijdelijk los te koppelen en probeer het opnieuw.

Ik heb de meeste dingen in de code zelf uitgelegd, dus ik zal je alleen laten zien hoe je verschillende dingen kunt veranderen om verschillende geluiden te bereiken.

Om de frequentie van elke toets op het toetsenbord te wijzigen, moet u het nummer in het Tone-commando in de Tone Keyboard-code wijzigen (ik zet het nummer dat u wijzigt in vet hieronder)

als (cN == HOOG)

{ toon (0, (16.35 * octaaf)); }

Standaard heb ik de basisfrequenties van muzieknoten gezet, maar je kunt ze veranderen in wat je maar wilt.

Om de beats/ritmes te wijzigen, moet u de ritmesectiecode wijzigen. Net als bij de Tone-code hoeft u alleen de frequentie te wijzigen (hieronder vetgedrukt) en het zal veranderen welke noot moet worden gespeeld. U kunt nog een vertraging en toon toevoegen als u meer noten aan het ritme wilt toevoegen.

if (patroon == 1) { toon (8, 55, sensorHalf);

vertraging (sensorwaarde);

toon (8, 58.27, sensorVierde);

vertraging (sensorHalf);

toon (8, 58.27, sensorVierde);

vertraging (sensorHalf); }

U kunt verwijzen naar de bovenstaande tabel met de frequenties voor elke muzieknoot op elk octaaf, zodat u uw eigen ritme kunt creëren.

Stap 4: Het eindproduct maken

Het eindproduct maken
Het eindproduct maken
Het eindproduct maken
Het eindproduct maken
Het eindproduct maken
Het eindproduct maken

Deze stap is optioneel, maar als je wilt doen wat ik deed, moet je een bord solderen met beide microcontrollers erop. Het enige wat je hoeft te doen is de IC's van het Arduino-bord te halen en ze op een lege pcb te solderen (je moet sockets gebruiken). Het enige extra wat je hoeft te doen, is een 16Mhz-kristal aansluiten tussen pin 9 en 10 op elke IC. U moet een 5V-regelaar gebruiken om de 9V van de batterij te verlagen om het circuit van stroom te voorzien. Plaats een 47uF-condensator tussen 5V en aarde om de output stabiel te houden. Massa is pin 8 en 5V is pin 7 op het IC. Raadpleeg het Pinout-diagram om te zien welke pinnen op het IC overeenkomen met de digitale pinnen. Meestal neemt het gewoon het circuit op het breadboard en verplaatst het naar de pcb. Het gebruik van headers kan extra tijd vergen om te solderen, maar ze zullen het oplossen van problemen veel gemakkelijker maken, dus ik zou adviseren om ze te gebruiken. Om de toetsen te maken, heb ik een oud speelgoedtoetsenbord uit elkaar gehaald en de toetsschakelaars onder elke toets geplaatst. Zodra u klaar bent met het maken van elk stuk, kunt u er een case voor maken. Ik heb alles gewoon warm op wat hout gelijmd, maar je zou het er een stuk beter uit kunnen laten zien dan het mijne als je dat zou willen.

Stap 5: Test het uit

Image
Image

Nu kun je plezier hebben met je nieuwe synth. Het heeft maar 1 nootpolyfonie, dus je kunt alleen eenvoudige liedjes spelen, maar met de ritmesectie ingeschakeld kun je echt coole geluiden maken. Veel plezier!

Aanbevolen: