INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Dit is 'n eenvoudige toongeneratorprojek wat Arduino Pro Mini gebruik. 'N Deel van die super -trefferliedjie "Jimikky Kammal" van die film "Velipadinte Pusthakam" is monotonies ontwikkel.
Musieknote kom in die natuur voor as gladde en rollende sinusvormige golwe. In hierdie projek, in plaas van gladde sinusgolwe, produseer ons klank met vierkantige golwe. Vierkante golwe lewer 'n toon, maar dit is meer skerp en metaalagtig as 'n normale sinusgolf. 'N Musieknoot kan geskep word deur frekwensie te genereer. Elke frekwensie het 'n unieke toon. Hier word Arduino gebruik om hierdie frekwensie te skep.
Stap 1: hardeware -opstelling
Dit is baie maklik om hardeware op te stel. Vir die ontwikkeling van hierdie projek vra ons
- Arduino Pro Mini
- Spreker
- FTDI USB na seriële adapter (vir die oplaai van program na Arduino Pro Mini)
Koppelvlak FTDI USB na seriële adapter na Arduino Pro Mini vir programmering soos getoon in die stroombaan diagram. Koppel een pen van die luidspreker aan die digitale pen 11 (u kan die speldnommer in die program verander) van die Arduino Pro Mini en die ander een op die aarde.
In hierdie kring voeg ons geen versterkerbaan by nie, sodat die volume baie laag kan wees. U kan dus 'n klankversterker -kring byvoeg, u kry baie klank by die uitvoer, of u kan 'n rekenaarluidspreker gebruik met 'n verstelbare volumebeheer.
Stap 2: sagteware -ontwikkeling
Musieknotas kan geskep word deur ossillasie in Arduino te genereer. Die frekwensie van ossillasie is die toonhoogte van die snelsnelheid van musieknote wat gespeel word Beats is die tydperk van elke deuntjie wat gespeel word. Ons moet dus presiese toonhoogte, maat, tempo vir elke musikale noot maak.
In hierdie program genereer ons nie alle frekwensies vir alle klanke nie. Slegs die klank wat benodig word vir die musiek "Jimikky Kammal" word bygevoeg. Die frekwensies vir alle note word hieronder gegee.
impacttechnolabz.com/fd1_jk.html
Ons moet hierdie frekwensies omskakel na 'n tydsperiode, sodat Arduino die tydsduur kry om die digitale pen aan en uit te skakel. Die berekening van die toon word gemaak volgens die wiskundige bewerking:
timeHigh = 1 / (2 * toneFrequency) = periode / 2
bv:
Om 100 Hz -ossillasies te genereer, ie tydperk = 1/100 S = 0,01 S = 10000 uS
Ons moet dus speld HOOG maak vir 5000 uS en LAAG vir 5000 uS
dws timeHigh = 1/(2*100)
= 0,005 S
= 5000 uS
Laai die volledige kode af
Stap 3: Simulasie
Ons het 'n simulasie geskep met behulp van Proteus Proffessional -sagteware wat op Windows PC geïnstalleer is, sodat die klankuitset op die rekenaar via die klankkaart geverifieer kan word. U moet die Arduino -biblioteek eksplisiet by Proteus voeg.
Stap 4: Kode
Laai die volledige kode af