Isi kandungan:

Mesin Bunyi Arduino: 4 Langkah
Mesin Bunyi Arduino: 4 Langkah

Video: Mesin Bunyi Arduino: 4 Langkah

Video: Mesin Bunyi Arduino: 4 Langkah
Video: cara membuat sound engine sederhana tapi nggak kalah sama arduino 2024, Julai
Anonim
Mesin Bunyi Arduino
Mesin Bunyi Arduino
Mesin Bunyi Arduino
Mesin Bunyi Arduino
Mesin Bunyi Arduino
Mesin Bunyi Arduino

Saya menjumpai pembesar suara kecil semasa meruntuhkan P. C. lama untuk dikitar semula dan saya fikir saya akan nampak seperti menggunakan fungsi Arduino Tone (). Saya bermula dengan satu potensiometer 10Ω untuk mengawal nada dan mula mengeluarkan sedikit bunyi. Fungsi Tone () menggunakan corak nadi sederhana. Ia menghidupkan dan mematikan suara pada frekuensi yang berbeza dalam corak gelombang persegi. Saya mempunyai dua potensiometer lain yang berbaring jadi saya menambahkannya dan menggunakannya untuk mengawal jangka masa nada. Satu untuk mengawal panjang nada dan satu untuk mengawal ruang senyap di antara nada. Pada dasarnya ia menggunakan corak gelombang persegi yang lain tetapi pada frekuensi yang jauh lebih rendah. Anda boleh mendapatkan pelbagai bunyi dengan litar ini. Ia berfungsi dengan baik dengan piezo buzzer juga, tetapi tidak mempunyai tindak balas bass pembesar suara.

Langkah 1: Bahagian yang Anda Perlu

Arduino Uno

Papan roti dan wayar pelompat

1 Pembesar suara kecil atau buzzer Piezo

1 Suis butang tekan

3 10Ω Potensiometer

1 perintang 22Ω

1 perintang 10kΩ

Langkah 2: Bina Litar

Bina Litar
Bina Litar

Sambungkan papan roti ke pin Arduino 5V dan GND anda. Letakkan suis Pushbutton di bahagian paling kanan atau kiri papan roti dan sambungkan ke 5V dan arde menggunakan perintang 10kΩ. Sambungkan wayar dari litar suis ke pin 2 pada Arduino anda.

Di bahagian lain papan roti, sediakan litar pembesar suara / piezo ke 5v dan arahkan menggunakan perintang 220Ω. Perintang ini mengawal arus sehingga mengawal kelantangan; anda boleh mencuba perintang yang berbeza di sini untuk kelantangan yang lebih tinggi atau lebih rendah.

Susunkan potensiometer anda di bahagian tengah papan roti memberi ruang yang cukup untuk bermain-main dengan tombol. Setiap periuk perlu disambungkan ke 5V dan tanah dan pin tengah pada masing-masing disambungkan ke pin analog A0, A1 dan A2

Langkah 3: Kodnya

Potensiometer atau pot adalah resistor berubah-ubah yang apabila disambungkan ke Arduino akan mengembalikan nilai antara 0 dan 1023. Kami akan menggunakan fungsi peta () untuk mengubah nilai-nilai ini agar sesuai dengan keperluan kita sendiri. Fungsi peta () memerlukan lima argumen dan dalam kes kita, kita perlu memetakan ulang jarak antara 220 hingga 2200 untuk menghasilkan suara yang dapat didengar.

Fungsinya kelihatan seperti ini:

peta (periuk, 0, 1023, 220, 2200);

Anda boleh bermain-main dengan dua nilai terakhir untuk nada frekuensi yang lebih tinggi dan lebih rendah, hanya berhati-hati agar anda tidak mengganggu anjing anda.

Kebisingan_Machine.ino

/ * Mesin bising menggunakan tiga potensiometer yang disambungkan ke input analog
dan pembesar suara piezo atau kecil. Tombol tekan menghidupkan bunyi, potensiometer
mengawal nada menggunakan fungsi nada Arduino (), dan dua kelewatan
nilai yang mengawal panjang setiap nada dan panjang antara
nada masing-masing. Potensiometer memberikan nilai analog yang berubah
menggunakan fungsi peta () ke dalam julat yang lebih besar atau lebih kecil agar sesuai dengan anda
citarasa muzik.
Kod ini berada dalam domain awam.
Matt Thomas 2019-04-05
*/
butang konstantaPin = 2; // Pin butang tekan 2
pembesar suara Constint = 9; // Pembesar suara atau piezo di pin 9
int buttonState = 0; // Pemboleh ubah untuk butang
int potZero; // dan potensiometer
int potOne;
int potTwo;
kekosongan () {
pinMode (9, OUTPUT); // Pembesar suara / pin output piezo
}
kekosongan () {
buttonState = digitalRead (buttonPin); // Baca keadaan butang tekan
potZero = analogRead (A0); // Pemboleh ubah untuk membaca nilai analog
potOne = analogRead (A1);
potTwo = analogRead (A2);
int htz = peta (potZero, 0, 1023, 0, 8800); // Petakan bacaan analog ke dalam
int tinggi = peta (potOne, 0, 1023, 0, 100); // julat nombor baru dan buat
int rendah = peta (potTwo, 0, 1023, 0, 100); // pemboleh ubah baru
if (buttonState == TINGGI) {// Sekiranya butang tekan ditekan …
nada (pembesar suara, htz); // Bunyi dihidupkan
kelewatan (tinggi); // Panjang nada
noTone (pembesar suara); // Matikan suara
kelewatan (rendah); // Masa hingga nada seterusnya
} lain {
noTone (pembesar suara); // Tiada nada jika butang dilepaskan
}
}

lihat rawNoise_Machine.ino dihoskan dengan ❤ oleh GitHub

Langkah 4: Akhir

Jadi itu sahaja yang ada. Main-main dengan nilai dalam kod, tambahkan lebih banyak periuk / butang dan lihat apa lagi yang boleh anda kendalikan. Beritahu saya jika saya melakukan kesilapan dan saya harap anda menikmati muziknya.

Disyorkan: