İçindekiler:

Ses Darbeli Anahtar: 6 Adım
Ses Darbeli Anahtar: 6 Adım

Video: Ses Darbeli Anahtar: 6 Adım

Video: Ses Darbeli Anahtar: 6 Adım
Video: Ünal turan Azad yılmaz Karşıma çıkın dedi 2024, Kasım
Anonim
Image
Image

Yatakta kalırken sorun yaşadınız, ancak aniden ışıkların hala açık olduğunu fark ettiniz. Ancak o kadar yorgunsunuz ki, ışıkları kapatmak için yataktan aşağı inmek ya da telefonunuzu kullanarak ışıkları kapatmanızı sağlayacak bir Philip Hue ortam ışığı almak için seksen dolar harcamak istemiyorsunuz. Anahtarlı geleneksel bir ışık kullanıyorsanız, tembelliğinizi gidermek için bu yeni, ancak kolay Arduino projesine neden göz atmıyorsunuz!

Yaklaşık bir yıl önce yeni evime taşındığımda, ışık düğmesinin yatağımın yakınında olmadığını ve her gece yatağıma yattığımda beni yatağımdan ayrılmaya zorladığını öğrendiğimde bu proje fikri aklıma geldi., sadece IŞIĞI KAPATMAK için (ki bu beni her gece rahatsız ediyor)! Bununla birlikte, bu projeyi yaptıktan sonra, baştan sona büyük ölçüde faydalandım ve bu fikri, şu anda uzak ışık anahtarı sorunundan muzdarip olan tüm EĞİTİMLİ kullanıcılarla paylaşmayı umuyorum.

Bu Ses Darbeli Anahtarın temel fikri, KY-037 Ses Dedektörü Sensörünü, kapatmak için gerçek ışık anahtarına basmak üzere servo motoru açmak da dahil olmak üzere bir dizi eylemi gerçekleştirmek üzere tetiklemektir. Peki, KY-037 Ses Dedektör Sensörü tam olarak nasıl çalışır: Temel olarak ortamdaki sesin yoğunluğunu, bu durumda her 20 milisaniyede bir (bu kodlama bölümü, adım 5'te ayarlanabilir) ve ne zaman olduğunu algılar. Osiloskop İzinde alışılmadık derecede yüksek bir ses dalgası bulursa, sayımı tetikler, iki sayıya ulaştığında ise servo motoru etkinleştirerek ışıkları daha da kapatır.

Adım 1: Sarf Malzemeleri

Gereçler
Gereçler
Gereçler
Gereçler

Bu Ses Darbeli Anahtarı oluşturmak için aşağıdaki gibi belirli malzemelere ihtiyacımız var:

Elektronik:

  • Arduino Nano kurulu
  • ekmek tahtası
  • Jumper Telleri (Dişi - Dişi ve Dişi - Erkek ve Erkek - Erkek)
  • KY-037 Ses Dedektörü Sensör Modülü
  • Alüminyum Elektrolitik Kondansatörler 220uF 25V
  • Servo Motor
  • Şarj Bankası
  • Harici Güç Kaynağı *(USB'den iki başlı Du-Pont Kablosuna)
  • 9V Pil
  • 9V Pil Konektörü

Dekorasyon Modeli Malzemeleri:

Karton (veya lazer kesim yapıyorsa ahşap)

Diğerleri

  • Çabuk Kuruyan Yapışkan Tutkal
  • Maket bıçağı
  • Kesme Matı
  • pusula kesici
  • Kalem ve Silgi
  • yapışkan kil
  • Çift taraflı bant
  • Kaset
  • Lehimleme Ekipmanları

Adım 2: Elektronik Bileşenleri Birleştirin

Elektronik Bileşenleri Birleştirin
Elektronik Bileşenleri Birleştirin
Elektronik Bileşenleri Birleştirin
Elektronik Bileşenleri Birleştirin
Elektronik Bileşenleri Birleştirin
Elektronik Bileşenleri Birleştirin

Modeli gerçekten oluşturmadan önce, çok basit olan ve birkaç adımda yapılabilen elektronik bileşenleri bir araya getirmeliyiz:

  1. 9V pil konektörünü Arduino Nano kartına lehimleyin. Bu, herhangi bir lehimleme tekniğine aşina olmayan insanlar için biraz zor olabilir, ancak bu projeyi başarmak için bu çok önemlidir, çünkü kart yeterli güçle beslenmezse, düzgün veya iyi çalışmayabilir. Lehimleme için kırmızı kabloyu VIN pinine bağlayın; ve her ikisi de kartın sağ tarafında duran GND pimine giden siyah kablo.
  2. Jumper kablolarını Arduino Nano kartına bağlayın. Bu projede sadece A0, D2, GND pini ve 5V pinine katkı sağlayacağız.

    • Pinleri bağlamak için breadboard kullanarak, KY-037 Ses Dedektör Sensör Modülünden gelen G pinini breadboard'a bağlamamız gerekiyor; aynı sütunda (buna dikkat edin, aynı sütunda değilse, nihai projeniz çalışmayacaktır), servo motordan gelen siyah kabloyu ve harici güç kaynağınızdan gelen siyah kabloyu bağlayın (bunu GND pimi ancak 5V pimi değil, çünkü Arduino'nuzu yakmamanız durumunda harici güç kaynağının ortak bir topraklama yapması gerekecek), ardından aynı sütuna ve sırasıyla Nano'nuza başka bir Erkek - Dişi atlama teli bağlayın.
    • Ardından, KY-037 Ses Dedektör Sensör Modülünden gelen “+” pimini aynı kolondaki deliklerden birine bağlayın, ardından breadboard üzerindeki aynı kolona ve diğer tarafı Nano'ya bağlayan başka bir Erkek - Dişi jumper teli alın yazı tahtası.
    • Bundan sonra, servo motor üzerindeki kırmızı kabloyu, kullanılanlara rağmen başka bir sütuna bağlayın ve pil bankasına güç vermek için harici güç kaynağından gelen kırmızı kabloyu da aynı sütuna yerleştirin. Gerçekten de, servo motora güç vermesini sağlamak için USB alt başlığını güç bankasına bağlayın.
    • Ayrıca, GND ve 5V pininin durduğu iki sütunun ötesine geçerek, KY-037 Ses Dedektörü Sensörü için nispeten kararlı bir ortam yaratmak için kapasitansın iki ayağını her iki sütuna yerleştirin.
    • Son olarak servo motor üzerindeki beyaz kabloyu Nano üzerindeki D2 pinine bağlayın. Ve sırasıyla KY-037 Ses Dedektör Sensör Modülünden A0'ı A0'a Arduino Nano kartına bağlayın.

Ve tüm elektroniklerle işiniz bitti!

Adım 3: Modelin Tasarımı

Modelin Tasarımı
Modelin Tasarımı

Bu proje için, model oluşturma son derece kolaydır, çünkü yalnızca altı tarafı olan bir kutu oluşturmamız yeterlidir. Ancak tasarımın, aşağıda verdiğim AutoCAD dosyası kadar kesin olması gerekiyordu.

Bu projeyi gerçekten iyi ve kesin yapmak istiyorsanız, bu projenin tasarım fikrini keşfetmek için okumaya devam edin.

Bu Ses Darbeli Anahtar, altı tarafı olan bir kutu içerir, yanlardaki deliklerin her biri, cihazın çalışmasını sağlamak için elektronik bileşenlerin yerleştirilmesi için bir alanı temsil eder.

  1. Üstte, servo motoru yerleştirmek için 3 * genişlik 2 uzunluğunda bir delik vardır, çalışması için alan sağlar ve düğmeye basar;
  2. Bir sonraki, karşıt alt olarak, bunun sadece bir dikdörtgen taban olduğunu, içindeki her şeyi güzelce tutacak ve onaylayacak hiçbir delik içermeyen; daha sonra sağ taraf için, güç bankasına güç sağlamak için güç bankasına bağlanmak üzere harici güç kaynağı kablosunun çıkması için bir deliğe ihtiyacımız var;
  3. Daha sonra, sol taraf için, sağ sol tarafla aynı görünüyor, ancak delik yok;
  4. Son olarak, ön taraf için, 9V pil konektörünün kutudan çıkması için bir tane daha deliğe ihtiyacımız var, böylece güç kesildiğinde pili kolayca değiştirebiliriz, herhangi bir israfı önlemek için düğmeyi kapatabiliriz. pil gücünden, diğeri KY-037'nin mikrofonu içindir, cihazın ortamdaki ses değişimini algılayabilmesini sağlamak için;
  5. Ayrıca altta olduğu gibi, arka taraf delik içermiyor, sadece her şeyi güzel tutmak ve onaylamak için

Adım 4: Modeli Oluşturma

Modeli Oluşturma
Modeli Oluşturma
Modeli Oluşturma
Modeli Oluşturma
Modeli Oluşturma
Modeli Oluşturma

Planımızı iyice yaptıktan sonra, şimdi modeli fiilen oluşturma sürecine geçmemiz gerekecek. Bununla birlikte, bu işlem, bir önceki adıma kıyasla olağanüstü derecede kolay olacaktır, tıpkı bunu yaptığınız gibi:

  1. AutoCAD dosyasında sağlanan ölçekte altı tarafı kartonla kesin veya lazer kesim kullanın
  2. Yapışkan yapıştırıcıyı alın ve bunları bir araya getirmek için parçaların kenarlarına yapıştırın, ancak yine de içindeki bileşenleri düzenleyebilmemiz için arka tarafı dışarıda bırakın.
  3. 9V pil konektörünüzü modelin ön tarafında kestiğimiz deliğe sokun.
  4. KY-037 Ses Dedektör Sensör Modülünüzü açtığımız deliğe sokun ama biraz daha geniş kesmeyi unutmayın, verdiğim çap "benim" bileşeni için yaklaşık bir değerdir, dikdörtgen kısmı da farklı şekillerde değişebilmektedir. yana çarparak yeterince sıkışmamasına neden olabilir, aklınızda bulundurun
  5. Breadboard'unuzun arkasındaki etiketi yırtın ve modelinizin ön parçasının arkasına yapıştırın
  6. Modelin üst kısmında açtığımız deliğe servo motorunuzu iyice yerleştiriniz.

    • Servo motorun arkasına, güçlendirmek için bir miktar yapışkan kil yerleştirmeye çalışın.
    • Ayrıca, daha güçlü hale getirmek için çift taraflı bant koymayı unutmayın.
  7. Harici USB kablonuzu yapının sağ tarafında kestiğimiz delikten dışarı çekin ve güç bankasına bağlayın.
  8. Arka tarafınızı modele yapıştırın, ancak işinizden emin değilseniz ve yine de cihazınızı ayarlamanız veya onarmanız gerekiyorsa, ilk önce yapışkan bantlardan bazılarını kullanın, böylece kolayca yırtabilirsiniz.

Adım 5: Kodlama

kodlama
kodlama
kodlama
kodlama

Ve bu projede hiçbir yerde eğlenceli ama en önemli kısım kodlama olmadan, cihazınız asla çalışmaz, modelinizi ne kadar iyi kurmuş olursanız olun veya devreyi kodlamadan yapmanın doğruluğu, bu hiçbir şey değildir. Yani, burada, sadece bu proje için bir kod yazdım ve koddaki yorum bölümünde her satırın ne anlama geldiğini açıkladım, ancak, herhangi biri hala bir sorun yaşarsa, altına bir yorum bırakmaktan çekinmeyin, mutlu olacağım. anında cevap vermek (inanıyorum).

Bu kodda, servo motorun doksan derece ve yüz sekiz derece dönmesine izin vermeyi seçtim, ancak bu, herkesin evde sahip olduğu farklı anahtar nedeniyle düzenlenebilir ve bunun herkes için ücretsiz olarak değiştirilebileceğine inanıyorum.. Koduma bakarken, bu cihazın ses yöntemini kullanarak ışığı "otomatik olarak" kapatmak için olduğunu unutmayın, lütfen kafanız karışmasın ve kafanız karışırsa, adresindeki videoya tekrar başvurmaktan çekinmeyin. En başta. Artık kodu aşağıda veya bu Arduino Web Sitesi Oluştur bağlantısı aracılığıyla görebilirsiniz.

Arduino Bağlantı Oluştur

Ayrıca, yeterince kişi kodun herhangi bir açıklamasını sorarsa, bunu düşünebilirim LOL…

Arduino-Ses-Darbeli-Anahtarı

#include // servo motor için kütüphaneyi dahil et
int MİK = A0; // A0 bacağına bağlı ses algılama bileşeni
boolean geçiş = yanlış; // geçişin ilk sürümünü kaydetme
int micVal; // algılanan birimi kaydet
Servo servo; // Servo motorun adını servo olarak ayarla
işaretsiz uzun akım = 0; // geçerli zaman damgasını kaydet
imzasız uzun son = 0; //son zaman damgasını kaydet
işaretsiz uzun fark = 0; //iki zaman damgası arasındaki zaman farkını kaydedin
imzasız int sayı = 0; // geçiş sayısını kaydet
void setup() {//bir kez çalıştır
servo.attach(2); // D-pin ayağı 2'ye bağlanmak için servoyu başlat
Seri.başla(9600); // seriyi başlat
servo.write(180); //servoyu ilk açısına döndür
}
void loop() { //sonsuza kadar döngü
micVal = analogRead(MIC); //analog çıkışı oku
Serial.println(micVal); // ortam sesinin değerini yazdır
gecikme(20); //her yirmi saniyede bir
if (micVal > 180) { // burada 180 olarak belirlediğim limitin üzerinde ise
akım = millis(); // geçerli zaman damgasını kaydet
++saymak; // sayılan geçişlere bir tane ekle
//Serial.print("count="); // değiştirilen zamanların çıktısını alın, isterseniz açın
//Seri.println(sayım); // numarayı yazdır, istersen aç
if (count >= 2) { //değiştirilen sayı zaten ikiden fazla veya eşitse, iki zaman damgasının 0,3~1,5 saniye arasında sürdüğünü belirleyin
diff = akım - son; //iki zaman damgası arasındaki zaman farkını hesapla
if (diff > 300 && diff < 1500) { //iki zaman damgasının 0,3~1,5 saniye arasında olup olmadığını belirleyin
toggle = !toggle; // geçişin mevcut durumunu geri al
sayı = 0; // sayımı sıfırla, tekrar test etmeye hazır ol
} else { //eğer kısıtlı sayımlar arasında süre geçmiyorsa, sayımı bire döndürün
sayı = 1; // sayımı sayma
}
}
son = akım; //bir sonraki karşılaştırma için son zaman damgasını güncellemek için geçerli zaman damgasını kullanın
if (geçiş) { // geçişin açık olup olmadığını belirle
servo.write(90); //servo ışığı açmak için 90 dereceye dönecek
gecikme(3000); // 5 saniye geciktir
servo.write(180); //servo orijinal yerine geri dönecek
gecikme(1000); // 5 saniye daha geciktir
sayı = 0; // sayıyı yeniden sayılacak ilk sayıya ayarla
}
Başka {
servo.write(180); // geçiş çalışmazsa, ilk 180 derecede kalmaktansa
}
}
}

GitHub tarafından ❤ ile barındırılan rawArduino-Sound-Pulsing-Switch'i görüntüleyin

Adım 6: Tamamlama

Image
Image
tamamlama
tamamlama

Artık, ışığınızı kapatmak için Ses Darbeli Anahtar ile oynayabileceğiniz projeyi bitirdiniz, tembelliğinizin artık bir sorun olmayacağını gösteriyor! Ve bu projeyi yaptıysanız, projenin harikalığını göstermek için çevrimiçi olarak benimle ve dünyayla paylaşın!

Meraklı olun ve keşfetmeye devam edin! İyi şanlar!

Önerilen: