Sisällysluettelo:

Arduino -kohinakone: 4 vaihetta
Arduino -kohinakone: 4 vaihetta

Video: Arduino -kohinakone: 4 vaihetta

Video: Arduino -kohinakone: 4 vaihetta
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Marraskuu
Anonim
Arduino -kohinakone
Arduino -kohinakone
Arduino -kohinakone
Arduino -kohinakone
Arduino -kohinakone
Arduino -kohinakone

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

Rakenna piiri
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.

Suositeltava: