
Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02



Det er utrolig hva et stort utvalg av fantastiske lyder som kan genereres med FM -synteseteknikken, selv med en vanlig Arduino. I en tidligere instruks var dette illustrert med en synthesizer som hadde 12 forhåndsprogrammerte lyder, men en seer antydet at det ville være mye kulere å ha full kontroll over lydparametrene med potensiometre, og det er det også!
I dette lydlaboratoriet kan toner styres av 8 parametere: 4 for ADSR -konvolutten for lydstyrken og 4 for frekvensmodulasjonen som bestemmer teksturen.
Tillegget av de 8 potensiometrene gikk ikke på bekostning av antall nøkler: tre sett med 8 nøkler leses ut noen få mikrosekunder etter hverandre, for totalt 24 nøkler, tilsvarende to hele oktaver. Faktisk er to Arduino -pinner ubrukte, og det er mulig å utvide til 40 nøkler.
Se på videoen for hvordan du lager ville lyder, her er en kort oversikt:
* A = angrep: tid for en tone å nå sin maksimale lydstyrke (område 8ms-2s)
* D = forfall: tid for en tone å gå ned til det jevne lydnivået (område 8ms-2s)
* S = Sustain: jevnt lydnivå (område 0-100%)
* R = utgivelse: tid for en tone å dø ut (område 8ms-2s)
* f_m: forholdet mellom modulasjonsfrekvensen og bærefrekvensverdiene (område 0,06-16) under 1 resulterer i undertoner, høyere verdier i overtoner
* beta1: amplituden til FM-modulasjonen i begynnelsen av notatet (område 0,06-16) resulterer i små variasjoner i lydteksturen. store verdier resulterer i vanvittige lyder
* beta2: amplituden til FM-modulasjonen på slutten av notatet (område 0,06-16) Gi beta2 en annen verdi enn beta1 for å få lydteksturen til å utvikle seg i tide.
* tau: hastigheten der FM-amplituden utvikler seg fra beta1 til beta 2 (område 8ms-2s) Små verdier gir et kort smell i begynnelsen av et notat, store verdier en lang og langsom utvikling.
Trinn 1: Konstruksjon



Tydeligvis er dette fortsatt en prototype, jeg håper en dag jeg eller noen andre vil bygge denne store og sterke og vakre med store taster og ekte urskiver for potensiometrene i et fantastisk kabinett ….
Nødvendige komponenter:
1 Arduino Nano (Det fungerer ikke med Uno, som bare har 6 analoge innganger)
24 trykknapper
8 potensiometre, i området 1kOhm - 100kOhm
1 potensiometer på 10 kOhm for volumkontroll
1 kondensator - 10 mikrofarad elektrolitt
1 3,5 mm øretelefonkontakt
1 LM386 lydforsterkerbrikke
2 1000microfarad elektrolittkondensator
1 keramisk 1microfarad kondensator
1 mikrobryter
1 8 Ohm 2 Watt høyttaler
1 prototavle på 10 x 15 cm
Sørg for at du forstår vedlagte skjemaer. De 24 knappene blir koblet til i 3 grupper på 8, som skal leses ut ved D0-D7 og aktiveres på D8, D10 og D11. Grytene har +5V og jordet på endekranene, og de sentrale kranene mates til de analoge inngangene A0-A7. D9 har lydutgang og blir AC-koblet til et 10kOhm potensiometer for volumkontroll. Lyden kan lyttes direkte med øretelefoner, eller forsterkes med en LM386 lydforsterkerbrikke.
Alt passer på et 10x15cm protoptype -brett, men knappene er for nær til å spille godt, så det er bedre å bygge et større tastatur.
Kretsen kan drives via USB -tilkoblingen på Arduino Nano, eller med en ekstern 5V strømforsyning. En 2xAA batteriboks etterfulgt av en oppgraderingskonverter er en perfekt strømforsyningsløsning.
Trinn 2: Programvare
Last opp den vedlagte skissen til Arduino Nano, og alt skal fungere.
Koden er enkel og enkel å endre, det er ingen maskinkode og ingen avbrudd, men det er et par direkte interaksjoner med registrene, for å samhandle med timeren, for å øke hastigheten på knappavlesningen og for å kontrollere ADCs oppførsel for potensiometeravlesning
Trinn 3: Fremtidige forbedringer
Ideer fra samfunnet er alltid velkomne!
Jeg er mest plaget av knappene: de er små og klikker hardt når de trykkes. Det ville være veldig fint å ha større knapper som er mer behagelige å trykke på. Tast- eller hastighetsfølsomme knapper ville også tillate å kontrollere lydstyrken til notene. Kanskje tre-veis trykknapper eller berøringsfølsomme knapper kan fungere?
Andre fine ting ville være å lagre lydinnstillinger i EEPROM, lagring av korte låter i EEPROM ville også tillate å lage mye mer interessant musikk. Til slutt kan mer komplekse lyder genereres, hvis noen vet hvordan de genererer perkusjon lyder på en beregningsmessig effektiv måte, ville det vært fantastisk …
Anbefalt:
Arduino bilvarslingssystem for omvendt parkering - Trinn for trinn: 4 trinn

Arduino Car Reverse Parking Alert System | Trinn for trinn: I dette prosjektet skal jeg designe en enkel Arduino Car Reverse Parking Sensor Circuit ved hjelp av Arduino UNO og HC-SR04 Ultrasonic Sensor. Dette Arduino -baserte bilreverseringssystemet kan brukes til autonom navigasjon, robotavstand og andre områder
Trinn for trinn PC -bygging: 9 trinn

Steg for trinn PC -bygging: Rekvisita: Maskinvare: HovedkortCPU & CPU -kjøler PSU (strømforsyningsenhet) Lagring (HDD/SSD) RAMGPU (ikke nødvendig) CaseTools: Skrutrekker ESD -armbånd/mathermal pasta m/applikator
Tre høyttalerkretser -- Trinn-for-trinn opplæring: 3 trinn

Tre høyttalerkretser || Trinn-for-trinn opplæring: Høyttalerkretsen styrker lydsignalene som mottas fra miljøet til MIC og sender den til høyttaleren der forsterket lyd produseres. Her vil jeg vise deg tre forskjellige måter å lage denne høyttalerkretsen på:
RC -sporet robot ved hjelp av Arduino - Trinn for trinn: 3 trinn

RC -sporet robot ved bruk av Arduino - Steg for trinn: Hei folkens, jeg er tilbake med et annet kult Robot -chassis fra BangGood. Håper du har gått gjennom våre tidligere prosjekter - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms og The Badland Braw
DIY Arduino robotarm, trinn for trinn: 9 trinn

DIY Arduino robotarm, trinn for trinn: Denne opplæringen lærer deg hvordan du bygger en robotarm selv