Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
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
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.