Daftar Isi:

Mesin Kebisingan Arduino: 4 Langkah
Mesin Kebisingan Arduino: 4 Langkah

Video: Mesin Kebisingan Arduino: 4 Langkah

Video: Mesin Kebisingan Arduino: 4 Langkah
Video: pendeteksi tingkat kebisingan dengan arduino 2024, November
Anonim
Mesin Kebisingan Arduino
Mesin Kebisingan Arduino
Mesin Kebisingan Arduino
Mesin Kebisingan Arduino
Mesin Kebisingan Arduino
Mesin Kebisingan Arduino

Saya menemukan speaker kecil saat merobohkan PC lama. untuk didaur ulang dan saya pikir saya akan melihat seperti apa rasanya menggunakan fungsi Arduino Tone(). Saya mulai dengan satu potensiometer 10Ω untuk mengontrol nada dan mulai membuat beberapa kebisingan. Fungsi Tone() menggunakan pola pulsa sederhana. Itu menyalakan dan mematikan suara pada frekuensi yang berbeda dalam pola gelombang persegi. Saya memiliki dua potensiometer lain sehingga saya menambahkannya dan menggunakannya untuk mengontrol durasi nada. Satu untuk mengontrol panjang nada dan satu lagi untuk mengontrol ruang diam di antara nada. Ini pada dasarnya menggunakan pola gelombang persegi lain tetapi pada frekuensi yang jauh lebih rendah. Anda dapat mencapai berbagai kebisingan yang baik dengan sirkuit ini. Ini bekerja dengan baik dengan buzzer piezo juga, tetapi tidak memiliki respons bass dari speaker.

Langkah 1: Bagian yang Anda Butuhkan

Arduino Uno

Papan tempat memotong roti dan kabel jumper

1 Speaker kecil atau buzzer Piezo

1 Sakelar tombol tekan

3 10Ω Potensiometer

1 22Ω resistor

1 resistor 10kΩ

Langkah 2: Bangun Sirkuit

Bangun Sirkuit
Bangun Sirkuit

Hubungkan papan tempat memotong roti ke pin Arduino 5V dan GND Anda. Tempatkan sakelar Tombol Tekan di ujung kanan atau kiri papan tempat memotong roti dan sambungkan ke 5V dan arde menggunakan resistor 10kΩ. Hubungkan kabel dari rangkaian sakelar ke pin 2 di Arduino Anda.

Di sisi lain papan tempat memotong roti, atur sirkuit speaker/piezo ke 5v dan ground menggunakan resistor 220Ω. Resistor ini mengontrol arus sehingga mengontrol volume; Anda dapat mencoba resistor yang berbeda di sini untuk volume yang lebih tinggi atau lebih rendah.

Atur potensiometer Anda di tengah papan tempat memotong roti, berikan ruang yang cukup untuk mengutak-atik kenop. Setiap pot perlu dihubungkan ke 5V dan ground dan pin tengah pada masing-masing terhubung ke pin analog A0, A1 dan A2

Langkah 3: Kode

Potensiometer atau pot adalah resistor variabel yang ketika terhubung ke Arduino akan mengembalikan nilai antara 0 dan 1023. Kita akan menggunakan fungsi map() untuk mengubah nilai-nilai ini sesuai dengan kebutuhan kita sendiri. Fungsi map() membutuhkan lima argumen dan dalam kasus kami, kami perlu memetakan ulang rentang antara 220 dan 2200 untuk menghasilkan suara yang terdengar masuk akal.

Fungsinya terlihat seperti ini:

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

Anda dapat bermain-main dengan dua nilai terakhir untuk nada frekuensi yang lebih tinggi dan lebih rendah, berhati-hatilah agar anjing Anda tidak kesal.

Noise_Machine.ino

/* Mesin derau menggunakan tiga potensiometer yang terhubung ke input analog
dan piezo atau speaker kecil. Tombol tekan menyalakan suara, potensiometer
mengontrol nada menggunakan fungsi Arduino tone(), dan dua penundaan
nilai yang mengontrol panjang setiap nada dan panjang antara
setiap nada. Potensiometer memberikan nilai analog yang diubah
menggunakan fungsi map() menjadi rentang yang lebih besar atau lebih kecil yang sesuai dengan Anda
selera musik.
Kode ini berada di domain publik.
Matt Thomas 2019-04-05
*/
tombol constintPin = 2; // Pin tombol tekan 2
pembicara konstan = 9; // Speaker atau piezo di pin 9
int keadaan tombol = 0; // Variabel untuk tombol
int potZero; // dan potensiometer
int potSatu;
int potDua;
voidsetup() {
pinMode(9, OUTPUT); // Pin keluaran speaker/piezo
}
batal () {
buttonState = digitalRead(buttonPin); // Baca status tombol tekan
potZero = analogBaca(A0); //Variabel untuk membaca nilai analog
potOne = analogRead(A1);
potTwo = analogRead(A2);
int htz = peta(potZero, 0, 1023, 0, 8800); // Petakan pembacaan analog ke dalam
int tinggi = peta(potOne, 0, 1023, 0, 100); // rentang angka baru dan buat
int rendah = peta(potDua, 0, 1023, 0, 100); // variabel baru
if (buttonState == HIGH) { // Jika tombol ditekan…
nada (speaker, htz); // Suara aktif
penundaan (tinggi); // Panjang nada
tidakNada(pembicara); // Matikan suara
penundaan (rendah); // Waktu sampai nada berikutnya
} lain {
tidakNada(pembicara); // Tidak ada nada jika tombol dilepaskan
}
}

lihat rawNoise_Machine.ino dihosting dengan ❤ oleh GitHub

Langkah 4: Akhir

Jadi itu saja. Bermain-main dengan nilai-nilai dalam kode, tambahkan lebih banyak pot /buttons dan lihat apa lagi yang bisa Anda kendalikan. Beri tahu saya jika saya membuat kesalahan dan saya harap Anda menikmati musiknya.

Direkomendasikan: