Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Löysin pienen kaiuttimen purettaessa vanhaa PC: tä kierrätystä varten ja ajattelin nähdä miltä se kuulostaa käyttämällä Arduino Tone () -toimintoa. Aloitin yhdellä 10Ω: n potentiometrillä äänen säätämiseksi ja aloin tehdä melua. Tone () -toiminto käyttää yksinkertaista pulssikuviota. Se kytkee äänen päälle ja pois päältä eri taajuuksilla neliömäisellä aaltomallilla. Minulla oli kaksi muuta potentiometriä, joten lisäsin ne ja käytin niitä sävyn keston säätämiseen. Yksi ohjaa äänen pituutta ja toinen äänien välistä hiljaista tilaa. Se käyttää pohjimmiltaan toista neliöaaltomallia, mutta paljon matalammalla taajuudella. Tällä piirillä voit saavuttaa hyvän valikoiman melua. Se toimii hyvin myös pietsosummerin kanssa, mutta siitä puuttuu kaiuttimen bassovaste.
Vaihe 1: Tarvitsemasi osat
Arduino Uno
Leipälevy ja hyppyjohdot
1 Pieni kaiutin tai pietsosummeri
1 Painonappi
3 10Ω potentiometriä
1 22Ω vastus
1 10 kΩ vastus
Vaihe 2: Rakenna piiri
Liitä leipälevy Arduino 5V -tappiin ja GND: hen. Aseta painonappikytkin leipälevyn oikealle tai vasemmalle puolelle ja kytke se 5 volttiin ja maadoitetaan 10 kΩ: n vastuksen avulla. Kytke johdin kytkentäpiiristä Arduinon nastaan 2.
Aseta leipälaudan toiselle puolelle kaiutin-/pietsopiiri 5 volttiin ja maadoita 220Ω: n vastuksella. Tämä vastus ohjaa virtaa säätäen siten äänenvoimakkuutta; täällä voit kokeilla erilaisia vastuksia suuremman tai pienemmän äänenvoimakkuuden saavuttamiseksi.
Järjestä potentiometrit leipälaudan keskelle, jotta saat riittävästi tilaa nuppeille. Jokainen kattila on kytkettävä 5 V: n ja maadoitukseen, ja kunkin keskimmäiset nastat on liitettävä analogisiin nastoihin A0, A1 ja A2
Vaihe 3: Koodi
Potentiometri tai potti on muuttuva vastus, joka yhdistettynä Arduinoon palauttaa arvon välillä 0 - 1023. Käytämme map () -toimintoa näiden arvojen muuttamiseen omien tarpeidemme mukaan. Kartta () -funktio sisältää viisi argumenttia, ja meidän tapauksessamme meidän on kartoitettava alue 220 ja 2200 välillä, jotta saadaan kohtuullinen ääni.
Toiminto näyttää suunnilleen tältä:
kartta (potti, 0, 1023, 220, 2200);
Voit leikkiä kahdella viimeisellä arvolla korkeammille ja matalammille taajuuksille, mutta ole varovainen, ettet järkytä koiraasi.
Noise_Machine.ino
/* Kohinakone kolmella potentiometrillä, jotka on kytketty analogisiin tuloihin |
ja pietso tai pieni kaiutin. Painikkeella kytketään päälle melu, potentiometrit |
ohjaa äänenvoimakkuutta Arduino -sävy () -toiminnolla ja kahdella viiveellä |
arvot, jotka säätelevät kunkin sävyn pituutta ja niiden välistä pituutta |
jokainen sävy. Potentiometrit antavat analogisia arvoja, joita muutetaan |
käyttämällä kartta () -toimintoa suurempiin tai pienempiin alueisiin |
musiikillinen maku. |
Tämä koodi on julkinen. |
Matt Thomas 5.4.2019 |
*/ |
constint -painikePin = 2; // Painonappi 2 |
jatkuva kaiutin = 9; // Kaiutin tai pietso nastassa 9 |
int -painike Tila = 0; // Painikkeen muuttujat |
int potZero; // ja potentiometrit |
int potOne; |
int potTwo; |
voidsetup () { |
pinMode (9, LÄHTÖ); // Kaiuttimen/pietson ulostulonappi |
} |
voidloop () { |
buttonState = digitalRead (buttonPin); // Lue painikkeen tila |
potZero = analoginen luku (A0); // Muuttujat analogisten arvojen lukemiseen |
potOne = analoginenLue (A1); |
potTwo = analoginenLue (A2); |
int htz = kartta (potZero, 0, 1023, 0, 8800); // Yhdistä analogiset lukemat |
int korkea = kartta (potOne, 0, 1023, 0, 100); // uusia numeroalueita ja luo |
int low = kartta (potTwo, 0, 1023, 0, 100); // uusia muuttujia |
if (buttonState == HIGH) {// Jos painiketta painetaan… |
ääni (kaiutin, htz); // Ääni päällä |
viive (korkea); // Sävyn pituus |
noTone (kaiutin); // Ääni pois |
viive (alhainen); // Aika seuraavaan sävyyn |
} muuta { |
noTone (kaiutin); // Ei ääntä, jos painike vapautetaan |
} |
} |
katso rawNoise_Machine.ino, jota isännöi GitHub
Vaihe 4: Loppu
Joten siinä kaikki. Pelaa koodin arvoilla, lisää potteja /painikkeita ja katso, mitä muuta voit hallita. Kerro minulle, jos olen tehnyt virheitä ja toivon, että pidät musiikista.