İçindekiler:

Arduino Gürültü Makinesi: 4 Adım
Arduino Gürültü Makinesi: 4 Adım

Video: Arduino Gürültü Makinesi: 4 Adım

Video: Arduino Gürültü Makinesi: 4 Adım
Video: Arduino ile Adım Sayar Yapımı! #shorts #arduino 2024, Temmuz
Anonim
Arduino Gürültü Makinesi
Arduino Gürültü Makinesi
Arduino Gürültü Makinesi
Arduino Gürültü Makinesi
Arduino Gürültü Makinesi
Arduino Gürültü Makinesi

Eski bir PC'yi yıkarken küçük bir hoparlör buldum. geri dönüşüm için Arduino Tone() işlevini kullanmanın nasıl bir şey olduğunu göreceğimi düşündüm. Perdeyi kontrol etmek için bir adet 10Ω potansiyometre ile başladım ve biraz ses çıkarmaya başladım. Tone() işlevi, basit bir darbe deseni kullanır. Sesi kare dalga deseninde farklı frekanslarda açar ve kapatır. Etrafta iki potansiyometre daha vardı, bu yüzden onları ekledim ve ton süresini kontrol etmek için kullandım. Biri tonun uzunluğunu kontrol etmek için diğeri tonlar arasındaki sessiz boşluğu kontrol etmek için. Temelde başka bir kare dalga modeli kullanıyor ama çok daha düşük bir frekansta. Bu devre ile çok çeşitli gürültüler elde edebilirsiniz. Piezo buzzer ile de iyi çalışır, ancak bir hoparlörün bas tepkisinden yoksundur.

Adım 1: İhtiyacınız Olan Parçalar

Arduino Uno'su

Breadboard ve atlama telleri

1 Küçük hoparlör veya Piezo buzzer

1 Buton anahtarı

3 10Ω Potansiyometre

1 22Ω direnç

1 10kΩ direnç

Adım 2: Devreyi Oluşturun

Devreyi İnşa Et
Devreyi İnşa Et

Breadboard'u Arduino 5V pininize ve GND'ye bağlayın. Basmalı düğmeyi devre tahtasının en sağına veya soluna yerleştirin ve 10kΩ direnci kullanarak 5V'a ve toprağa bağlayın. Arduino'nuzdaki pin 2'ye anahtar devresinden bir kablo bağlayın.

Breadboard'un diğer tarafında hoparlör/piezo devresini 5v'ye kurun ve 220Ω direnç kullanarak topraklayın. Bu direnç akımı kontrol eder ve böylece hacmi kontrol eder; Daha yüksek veya daha düşük hacim için burada farklı dirençler deneyebilirsiniz.

Potansiyometrelerinizi, düğmelerle oynamak için yeterli alan bırakarak devre tahtasının ortasına yerleştirin. Her bir tencerenin 5V'a ve toprağa bağlanması gerekir ve her birinin üzerindeki merkez pinleri A0, A1 ve A2 analog pinlerine bağlanır.

Adım 3: Kod

Potansiyometre veya pot, Arduino'ya bağlandığında 0 ile 1023 arasında bir değer döndürecek değişken bir dirençtir. Bu değerleri kendi ihtiyaçlarımıza göre değiştirmek için map() işlevini kullanacağız. map() işlevi beş argüman alır ve bizim durumumuzda makul bir işitilebilir ses üretmek için aralığı 220 ile 2200 arasında yeniden eşleştirmemiz gerekir.

İşlev şuna benzer:

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

Daha yüksek ve daha düşük frekans tonları için son iki değerle oynayabilirsiniz, sadece köpeğinizi üzmemeye dikkat edin.

Noise_Machine.ino

/* Analog girişlere bağlı üç potansiyometre kullanan gürültü makinesi
ve bir piezo veya küçük hoparlör. Bir buton sesi açar, potansiyometreler
Arduino tone() işlevini kullanarak perdeyi kontrol edin ve iki gecikme
her tonun uzunluğunu ve aradaki uzunluğu kontrol eden değerler
her ton. Potansiyometreler, değiştirilen analog değerleri verir.
map() işlevini, ihtiyaçlarınıza uyacak şekilde daha büyük veya daha küçük aralıklarda kullanarak
müzik zevkleri
Bu kod kamu malıdır.
Matt Thomas 2019-04-05
*/
constint buttonPin = 2; // Buton pimi 2
sabit konuşmacı = 9; // Pin 9'da hoparlör veya piezo
int düğmeDurumu = 0; // Buton için değişkenler
int potSıfır; // ve potansiyometreler
int potOne;
int potİki;
voidsetup() {
pinMode(9, ÇIKIŞ); // Hoparlör/piezo çıkış pini
}
boşluk döngüsü() {
buttonState = digitalRead(buttonPin); // Buton durumunu oku
potZero = analogRead(A0); //Analog değerleri okumak için değişkenler
potOne = analogRead(A1);
potTwo = analogRead(A2);
int htz = harita(potZero, 0, 1023, 0, 8800); // Analog okumaları şu şekilde eşleştirin
int yüksek = harita(potOne, 0, 1023, 0, 100); // yeni sayı aralıkları oluştur ve oluştur
int low = map(potTwo, 0, 1023, 0, 100); // yeni değişkenler
if (buttonState == HIGH) { // Butona basılırsa…
ton(hoparlör, htz); // Ses açık
gecikme(yüksek); // Ton uzunluğu
noTone(hoparlör); // Sesi kapamak
gecikme (düşük); // Bir sonraki tona kadar geçen süre
} Başka {
noTone(hoparlör); // Düğme bırakılırsa ton yok
}
}

GitHub tarafından ❤ ile barındırılan rawNoise_Machine.ino'yu görüntüle

4. Adım: Son

Yani hepsi bu kadar. Koddaki değerlerle oynayın, daha fazla pot/düğme ekleyin ve başka neleri kontrol edebileceğinizi görün. Herhangi bir hata yaptıysam bana bildirin ve umarım müziği beğenirsiniz.

Önerilen: