İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Babam, reklamların eşlik eden programdan çok daha yüksek sesle olmasının ne kadar sinir bozucu olduğu konusunda sürekli sızlanır. Şikayeti gerçek reklamlardan daha sinir bozucu olmaya başladığından, her iki sorunu da aynı anda çözecek küçük bir alet yapmaya karar verdim. Oluşturduğum cihaz, TV'nin sesi çok yükseldiğinde otomatik olarak sesini azaltacak ve IR tabanlı uzaktan kumanda kullanan herhangi bir cihazda çalışacak şekilde programlanabilir.
Adım 1: Bileşenler ve Araçlar
Araçlar ve Malzemeler
- Havya
- Lehim
- ekmek tahtası
- Bağlantı teli
Bileşenler
- 1x 16x2 LCD ekran
- 1x Arduino Nano (Ebay'den ucuz bir klon kullandım)
- 3x 12mm anlık butonlar
- 1x Elektret Mikrofon Koparma. Kıvılcım eğlencesi. Ada meyvesi.
- 1x trimpot
- 1x PN2222 transistör
- 1x TSOP38238 IR Alıcı
- 1x IR LED'i
- 1x 100 ohm direnç
- 1x 220 ohm direnç
Adım 2: Bağlayın
Bunu babama hediye ettiğim ve güzel görünmesini istediğim için profesyonelce yapılmış bir PCB yaptırmaya karar verdim. Şemayı ve kartı oluşturmak için Eagle'ı kullandım. Breadboard'um oldukça dağınık görünüyordu, bu yüzden bağlantı sürecinizi yönlendirmek için şemayı kullanırdım. İşte pinout'un kısa bir özeti.
- A0 mikrofon çıkışına gider
- Pin 2 "Program" düğmesine gider
- Pin 3, transistör kapısına gider
- Pin 4, IR Alıcı çıkışına gider
- Pin 5 "Aşağı" düğmesine gider
- Pin 6 "Yukarı" düğmesine gider
- 7, 8, 9, 10, 11 ve 12 numaralı pinler LCD'ye gider.
- Mikrofonun karşısına 3,3 volt koyun
- Transistör/IR LED, potansiyometre ve LCD'ye 5 volt koyun.
Adım 3: Nasıl Kullanılır
Kodun ağır kaldırma kısmı aslında çevrimiçi bulduğum diğer şeylerden ödünç alındı. Hem TV uzaktan kumandasının sinyallerinin kodunu çözmek hem de sinyali TV'ye tekrarlamak için bir IR kitaplığı kullandım. Arduino'nun ADC'sinin referans voltajını doğru bir şekilde ölçmek için başka bir kod parçacığını da ödünç aldım, çünkü küçük hatalar bile mikrofonun ses okumalarında büyük fark yaratacaktır. Bana nasıl çalıştıklarını sormayın, çünkü bu beni aşıyor. Deneme yanılma yoluyla onları nasıl kullanacağımı buldum.
Temel olarak Arduino, üç düğmenin durumunu ve ses seviyesini sürekli olarak kontrol eder. Yukarı veya Aşağı düğmelerinden birine basılırsa, ses eşiği veya sistem TV'nin sesini azaltmak için tetiklenmeden önceki maksimum ses düzeyi yükseltilir veya alçalır. Eşik aşıldığında gönderilen IR Kodunu ayarlamak için Program düğmesine ve ardından Yukarı düğmesine basın. Ekranda -Volume düğmesine basmanız istendiğinde, TV'nizin uzaktan kumandasını IR alıcısına doğrultun ve ekranda TV'nizin -Volume komutuna karşılık gelen onaltılık bir değer görünene kadar -Volume düğmesine basın. (Bunu akıl sağlığı kontrolü olarak ekledim). Bazen işe yaraması için birkaç deneme gerekir, neden olduğundan emin değilim.
Hacmin eşiğin üzerinde olduğu ölçülürse, Arduino -Volume komutunu gönderecektir. "Patlama uzunluğunu" veya eşik aşıldığında kaç tane -Volume komutunun gönderileceğini Program düğmesine ve ardından Aşağı düğmesine basarak değiştirebilirsiniz. Ekran, Yukarı ve Aşağı düğmeleri kullanılarak değiştirilebilen ve ardından Program düğmesine tekrar basılarak kaydedilebilen mevcut seri çekim uzunluğunu gösterecektir.
Tüm bu bilgiler EEPROM'da saklanır, böylece sistem, fişini çekseniz bile ön ayarlarınızı hatırlar.
Başka bir akıl sağlığı testi olarak, Arduino her başlatıldığında bir -Volume komutu gönderir. Bu şekilde, cihazın çalışıp çalışmadığını test etmek için Arduino'nun sıfırlama düğmesine basabilirsiniz.
Adım 4: Test Edin
İşe yarıyor!
Adım 5: Hepsini Bir Araya Getirin
Çalıştığını onayladıktan sonra PCB'yi sipariş ettim ve ardından her şeyi üzerine lehimledim. Ayrıca, küçük bir MDF kutusu yapmak için üniversitemin lazer kesicilerini kullandım, ancak bunların ikisi de tamamen gerekli olmayan ekstra adımlar. Bunlar yapıldıktan sonra proje tamamlanmış oldu! Bunların hepsini final haftasında bir araya getirdim ve bazı ayrıntıları atlamış olabilirim, bu yüzden bir şeyi kaçırırsam bana bildirin!
6. Adım: Hatalar
Bu ekstra adımı ek olarak ekledim. Eagle'ı ilk kez kullanıp PCB yaptığım için, birkaç hata yaptım.
Birincisi: Arduino Nano'nun bir klonunu kullandığım için, PCB'nin aslında kontrolör için dört ekstra pini var. Ancak, denetleyiciyi doğru pimlere lehimlediğiniz sürece kart çalışmaya devam eder.
İkincisi: LCD ile birlikte gelen potansiyometre, kartı tasarlamak için kullandığım potansiyometre ile eşleşmiyordu. Uydurmak için kabloları bükebilirsiniz, ancak doğru tencere kullanılmışsa o kadar güzel görünmez veya güvenli hissettirmez.
Ayrıca gelecekte farklı yapacağım birkaç şey var. İlk olarak, arkadan aydınlatmalı bir LCD kullanmış olsaydım, güçten tasarruf etmek için ekran bir süre güncellenmedikten sonra LCD'ye giden gücü kesmenin bir yolunu eklerdim. İkincisi, daha parlak hale getirmek için IR LED'in önündeki 100 ohm'luk direnci gerçekten kaldırabilir veya azaltabilirsiniz. LED sadece kısa patlamalar için açık olduğundan muhtemelen yanmaz. Ancak, bunu henüz test etmedim. Ayrıca kazancı ayarlanabilir bir mikrofon kullanmanızı tavsiye ederim. Sparkfun mikrofonunu kullandım ve istediğim kadar hassas değildi.
2017 Uzaktan Kumanda Yarışmasında İkincilik Ödülü