İçindekiler:

Etkileşimli, Açık Kaynak Mood Light: 9 Adım (Resimlerle)
Etkileşimli, Açık Kaynak Mood Light: 9 Adım (Resimlerle)

Video: Etkileşimli, Açık Kaynak Mood Light: 9 Adım (Resimlerle)

Video: Etkileşimli, Açık Kaynak Mood Light: 9 Adım (Resimlerle)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Temmuz
Anonim
Etkileşimli, Açık Kaynak Ruh Hali Işığı
Etkileşimli, Açık Kaynak Ruh Hali Işığı

Bu talimat, etkileşimli, çok işlevli bir ruh hali ışığının nasıl oluşturulacağını anlatacaktır. Bu projenin özü, BlinkM I2C RGB LED'dir. Bir gün internette gezinirken BlinkM dikkatimi çekti ve bunun geçilemeyecek kadar havalı olduğunu düşündüm. Birkaç ay sonra, onu kullanarak bir tür ruh hali aydınlatması yapmaya karar verdim. Ve işte burada!

Adım 1: İhtiyacınız Olan Şeyler

Doğru malzemeleri kullanırsanız bu proje oldukça ucuz olabilir. Yapımını daha ucuz hale getirmek için kullanılabilecek alternatif parçaları not edeceğim. İnşaat sürecini biraz daha kolaylaştırdığı için biraz daha pahalı olan bazı bileşenleri kullandım.

ışık kaynağı:

BlinkM RGB I2C Kontrollü LED

Kontrol eden, denetleyici:

Arduino mikrodenetleyici - Bir 'Arduino Nano' kullandım çünkü her şeyi barındırmak için kullanılan 'dokunmatik ışığın' içindeki mevcut alan miktarı nedeniyle gerçekten küçük bir şeye ihtiyacım vardı

Konut:

Bu ortam ışığı için birçok farklı muhafaza düşündüm ve sonunda hepimizin aşina olduğu bir şeye karar verdim: o ucuz-o, beyaz, 'dokunmatik kubbe ışıkları'. Ev deposunda sadece 4 dolara iki paket buldum. Doğru yaparsanız, bu ışıklardaki alan miktarı tüm bileşenleri sığdırmak için fazlasıyla yeterlidir.

Güç/Konnektörler:

Başlangıçta, bunu pil gücüyle kapatmanın harika olacağını düşündüm (çünkü muhafaza zaten uygun bir şekilde bir pil bölmesine sahip), ancak uzun süre çalıştıracaksanız o kadar pratik değil. Bunun yerine, etrafta yattığım 12V 150Ma'lık bir transformatörle radioshack'ten 5.5mm DC güç jakı kullandım. Arduino'daki regülatör, 12 voltu düşürür ve 150Ma, her şeye güç sağlamak için bol miktarda akımdı. Tel için, etrafta ne varsa onu kullandım. Yine de, sağlam çekirdek tel kullandığınızdan emin olun.

Bileşenler:

Bileşenler, ruh hali ışığı için üç sensör yapmak için kullanılır: ses sensörü, "dokunma" sensörü ve ışık sensörü. Ses sensörü için ihtiyacınız olacak:- LM741 Op-Amp- Elektret Mikrofon (3-lead)- 2.2k direnç- 100k direnç- 200k direnç- 0.47uf elektrolitik kapasitör- 0.047uf seramik kapasitör- 2x 10k direnç- Diyot 'dokunma' sensörü, sadece şunlara ihtiyacınız olacak: - Piezo elemanı (bunu belirli elektronik oyuncaklardan, telefonlardan ve bip sesi çıkaran diğer birçok elektronik cihazdan kurtarabilir veya mouser, radioshack, vb.'den alabilirsiniz). - 1M direnç …Ve ışık sensörü için ihtiyacınız olacak:- CdS hücresi (LDR), tercihen çok büyük bir tane (daha fazla çözünürlük).- 10K direnç- 3 pinli başlık ve kıvrımlı konektör kabloları (isteğe bağlı)

Başka

Çok fazla lehim yapmak istemediğim için breadboard kullandım. Ayrıca tüm bağlantıları daha güvenli hale getirmek için çok sayıda kıvrımlı konektör kablosu kullandım, ancak bunlar isteğe bağlıdır. Alternatif olarak, ATmega168 micro'yu desteklemek için bir homebrew geliştirme kartı kullanabilir ve bir DIP tarzı ATmega168 (daha büyük uçlara sahip uzun olan) kullanabilirsiniz. Bunun ne kadar iyi uyacağından emin değilim ama kesinlikle denemeye değer. Bir devre tahtasına sahip değilseniz/paranız yoksa, normal bir ATmega168'i bir PCB'ye lehimleyebilir ve regülatör, programlama bağlantıları vb.

Adım 2: 'Dokunma Işığı'nı hazırlayın

'Dokunma Işığı'nı hazırlayın
'Dokunma Işığı'nı hazırlayın
'Dokunma Işığı'nı hazırlayın
'Dokunma Işığı'nı hazırlayın
'Dokunma Işığı'nı hazırlayın
'Dokunma Işığı'nı hazırlayın
'Dokunma Işığı'nı hazırlayın
'Dokunma Işığı'nı hazırlayın

İlk olarak, home depot mood'da aldığımız ucuz 'dokunmatik ışığı' ışık dostu hale getirmemiz gerekiyor. Önce ışığı ters çevirin ve pil kapağını ve vidaları çıkarın. Pil bölmesinin içinde ampul armatürünü göreceksiniz. Çıkarın ve ampulü ve ampulü atın. Ardından, kasayı açın. Şimdi güçle başa çıkmamız gerekiyor. Pil bölmesinin ortasındaki metal parçayı ve onu pil kontaklarından birine bağlayan kabloyu çıkarın. Kabloları gösterildiği gibi pil kontaklarına lehimleyin. Farklı renkte teliniz yoksa, bunları etiketlemek de isteyebilirsiniz. Ayrıca bu ruh hali ışığını bir duvar prizi transformatörü ile çalıştırılabilir hale getireceğiz. DC güç jakının çapıyla yaklaşık aynı boyutta bir matkap ucu kullanarak bir delik açın. Ardından kasa ile aynı hizaya gelene kadar vidalayın. Burada yapmamız gereken son değişiklik ise piezo musluk sensörünü eklemek. Daha iyi hassasiyet için plastik 'jant' üzerine monte etmek en iyisidir. Bunu daha sonra başka bir yere monte edilmiş bu talimatta resmettim, ancak bunun nedeni test sırasında kasayı o kadar çok açıp kapatmak zorunda kalmam ki kablolar kopmaya başladı. Sadece plastiğe sıcak tutkalla yapıştırın, ancak movabke kubbesindeki mekanik hareketi engellemediğinden emin olun! (yani çok fazla dışarı çıkmasına izin vermeyin).

Adım 3: Güç Devresi Koruması Ekleyin

Güç Devresi Koruması Ekle
Güç Devresi Koruması Ekle

Bu bölüm, DC güç jakını kullanırken piller takılıysa, duvar transformatörünün/pillerin yanmasını önlemek için diyotlar kullanan basit bir eklentidir. Herhangi bir engelleme diyotu, onlar için maksimum voltaj değeri duvar transformatörünün değerinden daha yüksek olduğu sürece kullanabilirsiniz. Breadboard'daki düzensiz anahtarlı uzatma kablosunda 'VIN' etiketli kısım (arduino'da VIN'e gider). 'DCPower' etiketli kısım DC güç girişidir. Nedense, bu şemayı yapmak için kullandığım program, etiketler konusunda gerçekten seçiciydi, bu yüzden isim vermeme izin verdi. NOT: Bu devreyi yapmazsanız, mod ışığını duvar transformatörüne taktığınız anda pilleri pil bölmesinde tutamazsınız, aksi takdirde zarar verir.

Adım 4: Breadboard, Arduino ve BlinkM'yi ekleyin

Breadboard, Arduino ve BlinkM'yi ekleyin
Breadboard, Arduino ve BlinkM'yi ekleyin

Breadboard'u eklemeden önce, pil kontaklarını metal breadboard desteğinden yalıtmamız gerekiyor (yani metal plaka size yapışmışsa. Değilse bu adımı atlayın). Yalıtılmış olduklarından emin olmak için tüm metal kontakların üzerine biraz bant yapıştırın. Açıkta tel istemiyoruz. Şimdi devre tahtasını pil bölmesinin üstüne yapıştırın (sıcak tutkal kullandım). Neyse ki bizim için mükemmel bir şekilde uyuyor. Şimdi 2. adımdaki pozitif (+) ve negatif (-) kabloları devre tahtasının pozitif ve negatif çoklu prizlerinden birine takın. Artık arduino ve flaşı birbirine bağlayabiliriz. İşte pin bağlantıları:

  • A5 - Saat (BlinkM'de 'c' etiketli)
  • A4 - Veriler (BlinkM'de 'd' etiketli)

Ve bunu yaptığınızda, REGULATED VCC'yi (+) arduino'daki 'VIN' pinine ve REGULATED VCC'yi BlinkM'deki (+) pinine bağlayın. Ardından arduino üzerindeki GND'yi ve anahtarlı uzatma kablosu üzerindeki GND'ye BlinkM'yi bağlayın ve her iki GND anahtarlı uzatma kablosunu birbirine köprüleyin. Bu bağlantıları karıştırmamaya DİKKAT EDİN yoksa BlinkM'i kızartabilirsiniz.

Adım 5: Sensörler - Ses, Dokunma ve Işık

Sensörler - Ses, Dokunma ve Işık
Sensörler - Ses, Dokunma ve Işık
Sensörler - Ses, Dokunma ve Işık
Sensörler - Ses, Dokunma ve Işık
Sensörler - Ses, Dokunma ve Işık
Sensörler - Ses, Dokunma ve Işık

Sırada sensörler var. Işık sensörü, inşa edilmesi en basit olanıdır. Sağa giden tel arduinoya bağlanır. Sensörlerin bağlandığı HANGİ pinler hakkında daha fazla bilgi bir sonraki adımdadır. Ses sensörü biraz daha zor ama gülünç derecede karmaşık değil. LÜTFEN DİKKAT: Burada voltaj bölücü devre göstermedim. Şematikteki 2.5V, 'voltaj bölücü' adı verilen bir şey aracılığıyla sağlanmalıdır. Birden çok sabit dirençten veya bir pottan (potansiyometre) oluşan çok, çok basit bir devredir. Bu devre için 50K'lık bir pot kullanın. Google 'voltaj bölücü' ve bir tane oluşturma konusunda yardım için wikipedia girişine bakın. EDIT 9/27/08: Bu ses devresini kaldırdım ve bunun yerine sesle etkinleşen bir ışıklı pandantiften kurtarılan bir devre kullandım. Buradaki devre iyi çalışmıyor; Neden olduğundan emin değilim, ama tasarım kusurlu; bir şeyler tam olarak doğru değil. Pandantiften gelen devrenin bir SMD LM386 op-amp kullandığını fark ettim. Dirençler LED'lere, VCC'ye ve GND'ye gitmeden önce lehimledim. O zaman tek yapmam gereken yazılımdaki değerleri biraz değiştirmek ve presto! daha iyi çalışan, sese duyarlı ruh hali ışığı. Şu anda, müziğin titreşen ışığının videosu orijinal devrenin kullanıldığı zamandır. Belki geliştirilmiş tasarımı gösteren bir tane daha yüklerim (daha çok yeni devre nedeniyle müziğe yanıt veriyor gibi görünüyor). Piezo elemanını nasıl lehimleyeceğimden emin değildim, bu yüzden gösterildiği gibi tahmin ettim ve lehimledim. Yine de işe yarıyor. Piezo'nun polaritesi önemli değil. Direnç devre tahtasının üzerindedir (gösterilmemiştir). Başka bir ÖNEMLİ NOT: Bu devrelerin değerleri sizinkinden farklı OLACAKTIR, bu nedenle kodda biraz ince ayar yapmanız gerekecektir. Bu değerlerle ilgili herhangi bir sorunuz varsa, bana bildirmekten çekinmeyin.

Adım 6: Sensörler için Yer Bulun ve Hepsini Bağlayın

Sensörler için Alan Bulun ve Hepsini Bağlayın
Sensörler için Alan Bulun ve Hepsini Bağlayın
Sensörler için Alan Bulun ve Hepsini Bağlayın
Sensörler için Alan Bulun ve Hepsini Bağlayın

Bu kısım çok zor olmamalı. 'Dokunmatik ışık' kasası, sığdırmak için ihtiyaç duyduğumuz her şeye sığacak kadar geniş alana sahiptir. Sensörleri sığabilecekleri yere yerleştirdim. Tüm bağlantılar şunlardır:

  • Pin A6: Ses sensörü - NOT: arduino nano olmayan kullanıcılar için, diğer arduinoların 7. analog pini yoktur. Bunu kodda değiştirmeniz gerekecek.
  • Pin A3: Piezo sensörü (dokunma sensörü)
  • Pin A0: Işık sensörü

Sensörlerin (+) uçlarını yanlışlıkla düzensiz uzatma kablosuna bağlamadığınızdan EMİN OLUN, yoksa onları kızartırsınız.

Adım 7: Test Edin

Dene
Dene
Dene
Dene

Güç bağlantılarının iyi olduğundan emin olun; güç adaptörünü kullanarak prize takın ve pilleri kullanarak deneyin. Yaygın bir sorun, pozitif ve toprakla zayıf bağlantılardır. NOT: Resmin ışık sensörünü göstermediğini biliyorum; O kısmı eklemeden önce almıştım.

Adım 8: Programlayın, Kapatın ve Kullanın

Programlayın, Kapatın ve Kullanın
Programlayın, Kapatın ve Kullanın
Programlayın, Kapatın ve Kullanın
Programlayın, Kapatın ve Kullanın
Programlayın, Kapatın ve Kullanın
Programlayın, Kapatın ve Kullanın

Kullandığım kod, Tod E. Kurt (www.todbot.com/blog) ve BlinkM'in (ThingM) yapımcıları tarafından oluşturulan bir kitaplığı kullanıyor. Kodu daha anlaşılır kılmak için elimden geldiğince notlar eklemeye çalışacağım; Şu sıralar biraz meşgulüm. Kodu yüklerken arduino yazılımında kod kitaplığını ("BlinkM_funcs.h" etiketli dosya) açmalısınız, aksi takdirde çalışmayacaktır. Kodu görüntülemek istiyorsanız ancak arduino yazılımınız yoksa, bir kelime işlemci programı (Windows kullanıcıları için wordpad olarak da bilinir) ile açabilirsiniz. Yeni işlevler için fikirler memnuniyetle karşılanmaktadır. Lütfen bunları yayınlamaktan çekinmeyin; Bunu açık kaynak yapmak istiyorum. Kodu yapılandırmamın amacı, yeni işlevlerin kolayca eklenebilmesidir. Bazı işlevler üretici (ThingM) tarafından BlinkM'e programlanmıştır, ancak ikisini ben yaptım; 'Ses Işığı' ve 'Mimik Işığı'. Şu anda aşağıdakilere sahiptir:

  • Mood Light - Yavaş yavaş rastgele renklere dönüşür
  • Mum - Portakallı ve sarılı bir mum gibi titriyor
  • Su Yansımaları - Blues, turkuaz ve camgöbeği renkleriyle 'Pırıltılar'
  • Mevsimsel Renkler - Mevsimsel renkleri açar (bence bunlar mavi, yeşil, mor ve turuncu)
  • Fırtına - Ara sıra yıldırımı simüle eden yanıp söner
  • Stop Light - Kırmızıdan sarıya ve tekrar yeşile döner
  • Mimik Işığı - 50 adede kadar ışık açma/kapama döngüsünden oluşan bir diziyi kaydeder (bir el feneri kullanabilirsiniz), açma/kapama zamanlarını 'hafızaya alır' ve sonra onları hiç bitmeyen bir döngüde oynatır.
  • Ses Işığı - Müziğin sesine göre titreşir

İşlevleri istediğiniz zaman değiştirmek için yarı saydam kubbeye hafifçe vurun. Bu kuralın bir istisnası vardır: 'Işığı taklit' işlevine ulaştığınızda, yeşil renkte yanıp sönecektir. Kubbe yanıp sönerken üzerine dokunursanız, son fonksiyona ('ses ışığı') gidecektir. Sadece beklerseniz, 'mimic light' işlevine gidecektir. 'Ses ışığı' işlevine geldiğinizde, ses sensörünü okuma şekli nedeniyle işlevleri değiştiremez ve birincisine gidemezsiniz. Şimdi zor kısım geliyor. Mood ışık muhafazasını kapatmak için birkaç dikkatli adım atmanız gerekir. İlk olarak, destek yaylarını plastik kubbe üzerindeki küçük tırnaklarla hizalamalısınız. DC güç jakı kenarda olduğundan ve teller devre tahtasına gittiğinden, ÖNCE plastik kubbeyi bu tellerin üzerinden geçirmeniz, ardından dış jantın vida sütunlarını plastik kubbe üzerindeki girintilerle hizalamanız gerekir. Tüm tırnakların, aynı zamanda jant üzerindeki vida sütunlarına ve taban plakasındaki vida deliklerine karşılık gelen destek yaylarının yerleşimi ile aynı hizada olduğundan emin olun. Ardından, her şeyin hizalandığından emin olduktan sonra, dış kenarı taban plakasına oturtun. Ardından, yaylarda hiçbir kablonun sıkışmadığından veya gelecekte olabilecekleri bir yerde olmadığından emin olun. Bu, plastik kubbenin hareketini engelleyecektir. Son olarak, vidaları değiştirin ve keyfini çıkarın! Son notlar: ÖNEMLİ: Pilleri ve duvar adaptörünü aynı anda KULLANMAYIN. Ne olacağından emin değilim ama güçle bağlantılı her şeyi yok edeceğinden eminim!!

9. Adım: EKSTRALAR

İşte bazı videolar: Bu, BlinkM'de yerleşik olarak bulunan önceden programlanmış 6 işlevden biridir: …Bu, eklediğim özel ses/müzik duyarlı kodudur (hangi şarkı olduğunu tahmin edebilir misiniz…?: …Ve son olarak, ama kesinlikle değil en azından, en havalı (sanırım) ve hepsinden yapılması en zor olan işlevdir; 'ışık taklidi' işlevi:

Önerilen: