Arduino'da dinamik monitör arka aydınlatması. Dinamik TV arka ışığı

  • 10.05.2019

İyi akşamlar bayanlar ve baylar.
Bugün size beş ila on dakika içinde, bir havya, üç kablo ve müstehcen bir kelime (peki, ayrıca ws2812b'de bantlı bir arduino) kullanarak Phillips'ten bir Ambilight analogunu nasıl monte edeceğinizi anlatacağım. parametreler.

Dikkat! Kesimin altında bir sürü fotoğraf var!

Güncelleme 11/22/14: Android'de özelleştirme, bir nevi ...

Güncelleme 11/26/16: Oyunlarda ve videolarda alan performansına sahip yeni Prismatic çatalı


Ws2812b kontrollü LED'lere uzun süre yakından baktım, birkaç "oynat" aldım, ancak kurbağa büyük bir siparişe izin vermedi, ancak daha sonra hala olgunlaştım, kurbağamı boğdum ve 4 metre, 60 diyotlu bir bant sipariş ettim. Metre başına. Sipariş nispeten hızlı geldi. Çin'de resepsiyon 3.11 - 17.11 alma.

134g ağırlığında bir paket (veya daha doğrusu küçük bir paket) geldi, her şey içinde sivilce tabakası olan bir kağıt torbaya paketlendi, bandın kendisi LED şeritler için standart olan bir tutturuculu gümüş bir torbaya paketlendi.

Teybin kendisi böyle görünüyor.

Yapışkan tabaka.

Konektörler her iki taraftaki bantlara lehimlenmiştir. Bir yandan, denetleyiciyi ve güç kaynağını bağlamak için, diğer yandan bandın uzunluğunu uzatmak için (bantlar bir zincire bağlanabilir). Set, gücü ve bir denetleyiciyi bağlamak için konektörler içerir.

Teybi hızla arduinoya bağlayıp güç sağladı, bolca isim aldı ve yaktı, onunla bir şeyler yapmanın zamanının geldiğine karar verdi. Çok uzun süre düşünmedim, çok uzun zamandır 3D monitörüm için arka plan aydınlatmasını kurmak istiyordum ve aksesuarlar da elimdeydi, bu yüzden hemen işe koyuldum. Biraz değiştirilmiş bir Adalight aydınlatması toplayacağız.

Bu arka ışık, kişisel bir bilgisayar veya bir android medya oynatıcı ile birlikte çalışacak, ancak bu makalede yalnızca bir PC'ye bağlanma seçeneğini ele alacağım.

Kendi monitörünüzü veya TV arka ışığınızı oluşturmak için şunlara ihtiyacınız vardır:

  • Arduino (ATmega328'deki Arduino Nano ideal olurdu)
  • ws2812b'de LED bant (benim durumumda 23 "monitörde 1 metreden biraz fazla bant aldı)
  • Düşük güçlü havya (akı ve lehim)
  • Üç kablolama
  • Beş voltluk güç kaynağı (bir metrelik bant maksimum 14,4 watt tüketir)
Monitörü arkası bize gelecek şekilde koyduk. Arka taraftan monitör kasasına bant uygulayarak her bir taraf için ne kadar bant ihtiyacımız olduğunu ölçüyoruz. Altını vurgulamadan bırakırken sadece üç tarafı vurgulamaya karar verdim. aşağıda pek hoş olmayan bir stant var. Bandı sol alt kenardan ve saat yönünde ölçmeniz gerekir (monitörü bize geri döndürmeniz gerektiğini unutmayın) TV'niz veya monitörünüz duvarda asılıysa, tüm çevresine bir arka ışık yapmak mantıklıdır. çevre. daha sonra alt kenarın ortasından ve saat yönünde ölçmeniz gerekir (Bu, yazılımı son aşamalarda yapılandırmayı kolaylaştıracaktır. , onlar aracılığıyla arka ışığımızı bağlayacağız. sadece parçalar kesilir. Bandın başı ve sonunun birlikte lehimlenmesine gerek yoktur. Yönü gözlemleyin, karıştırmayın! Bant üzerinde, kontrolörden bandın sonuna kadar sinyalin doğru yönünü gösteren oklar vardır. .

Şu şekilde ortaya çıkacak:

Tüm bölümleri birbirine lehimledikten sonra, bandımızı monitörün tüm çevresine yapıştırabilirsiniz (bant üzerindeki konektörlerden başlayarak sol taraftan ve saat yönünde)

Bu işlemden sonra şunu almalısınız:

Kırmızı kabloyu (+ 5v) lehimliyoruz veya arduino üzerindeki + 5v pinine bağlıyoruz, beyaz kabloyu toprağa ve yeşil (merkezi) kabloyu D6 pinine bağlıyoruz.

Güç kaynağını iki kabloyla ikinci tam konektöre bağlarız: kırmızıdan + 5v'ye, beyazdan eksiye. Besleme voltajının 5-5.2v aralığında olması önemlidir. Diyotlar arasında büyük bir voltaj düşüşünü önlemek için uzun bir bandı birkaç noktadan beslemek daha iyidir.

İşte bu, ana fiziksel çalışma bitti.

kullanıcı gelgit avcısı titreyen diyotlarla ilgili bir sorununuz varsa bu çizimi kullanmanızı önerir

Arduino IDE'yi uygun herhangi bir yere paketinden çıkarıyoruz, arşivdeki FastLED klasörü, içindeki dosyaların bulunduğu ArduinoIDE c klasöründe bulunan kitaplıklar klasörüne atılıyor. Dosyayı arduino.exe ile çalıştırın, bu, belgelerin bulunduğu klasörde bir "arduino" klasörü oluşturacak, içinde NeoPixel klasörünü oluşturacak ve taslağımızı içine bırakacaktır. Arduino IDE'den çıkın.

Arduino'muzu bilgisayara bağlıyoruz, sürücüler otomatik olarak kurulmalı, bu olmadıysa, sisteme Arduino IDE ile klasörümüzün yolunu belirtiyoruz ve sürücülerin yüklenmesi gerekiyor.

arduino.exe'yi başlatın.

Aşağıdakileri görüyoruz:

Çizimimizi açıyoruz

Servis-> Pano menüsünde nano'muzu seçin
Araçlar -> İşlemci menüsünde ATmega328'i seçin
Araçlar -> Bağlantı Noktası menüsünde, arduinka'mızın listelendiği sanal Com bağlantı noktasını seçin (genellikle com1 olmayanı)

Sarı ile vurgulanan yerde, arka ışığımızdaki toplam diyot sayısını belirtiyoruz (69 tane aldım).

Bu düğmeye tıklayın:

Bu, taslağı derleyecek ve nano'muza yükleyecektir. Bu işlem sırasında arduin üzerindeki diyotlar yoğun bir şekilde yanıp sönmelidir. Krokiyi yükledikten sonra IDE'yi kapatın, arduino'yu bilgisayardan ayırın, 3 telli konektörümüzü kullanarak şeride bağlayın ve güç kaynağını şeride bağlayın. Şimdi nano'yu USB'ye yeniden bağlayın.

Harika Prismatik yazılımını indirin
Harika Lightpack projesinden ve kurun.

Güncelleme: yeni çatalı buradan indirin

Masaüstünde, videoda ve en önemlisi oyunlarda işlemciye neredeyse sıfır yük!
Bunu başlangıçta göreceksiniz:

Sonrakine tıkla"

Adalight'ı seçin ve "İleri" ye tıklayın

Buraya port numaramızı yazıyoruz gerisine dokunmuyoruz

Ardından beğendiğiniz ismi seçin

Burada diyotlarımızın toplam sayısını belirtmeniz gerekiyor.

Ekranın çevresi boyunca sayılarla gri dikdörtgenler göreceksiniz - bunlar diyotlarımızdan sorumlu bölgelerdir. Diyotlar konektörden numaralandırılmıştır. Bunları diyotlarımıza göre düzenlemek gerekir. Ayrıca takımyıldızların isimlerinin olduğu butonlara tıklayarak hazır hazır ayarlar arasında geçiş yapabilirsiniz.
Bölgeleri ayarladıktan sonra daha ileri gidiyoruz. Bu anda, diyotlar zaten açık olmalıdır.

Saatin yanındaki tepside güneş görüntüsünün bulunduğu bir simge görünecek, üzerine sağ tıklayın ve ayarlara gidin.

Ekran Yakalama'nın seçili olduğundan emin olun

Kurulum tamamlandı. Prizmatik ayarlarda gama, parlaklık vs. ayarlarla da oynayabilirsiniz ama ben bunları sökmeyeceğim, bu kılavuzu inceleyerek kendiniz inceleyebilirsiniz.

HERŞEY! ARKA IŞIĞIMIZ HAZIR! Tebrikler!

Çarpıcı arka ışık efekti. Monitör daha büyük görünmeye başladı, karanlık bir odada video izlerken gözler daha az yoruldu.

Arka ışığı bir araya getirmek 10 dakikamı aldı, yazılımı kurmak için bir on dakika daha harcadım.

Şu anda dikkatli bir okuyucu kızmalı ve “Bir dakika! Ve küfür nerede?" ve aydınlanmamı test etmeye başladığımda bu kelime ağzımdan çıktı ve sadece gördüklerimden aldığım hazzı ifade etti.

Neden Ambilight'tan daha iyi? 69 bağımsız arka ışık bölgem var ve bildiğim kadarıyla bu, Philips'inkinden çok daha fazlası.

Nasıl geliştirebilirsin? Diyotları daha güçlü alın, örneğin

Ek olarak, bandı öne yapıştırın ve ışık saçan bir çerçeveyle kapatın ve bir Philips Aurea analogu alın. Ayrıca benim durumumdaki diyotların etkisiz kullanıldığını fark ettim, onları biraz monitörün yanlarına çevirerek ışık akısını yönlendirmek çok daha iyi olurdu.

Bu arka ışık android ile nasıl kullanılır? Burada adam, android için XBMC senaryosuna bir bağlantı veriyor. Bilmediğim başka seçenekler de var.

Oyunlarla çalışır mı? Evet işe yarıyor ama herkesle değil. Ve tüm bindirmeleri (steam, msi afterburner) devre dışı bırakmanız gerekir. Ambibox programının oyunlarla daha iyi başa çıktığı bilgisi var, ancak benim için işe yaramadı.

Bu kurdele ile başka ne yapabilirsiniz? Bir LED matrisi (ekran) monte edebilir ve glediator programını kullanarak bir gif yayınlayabilirsiniz, programın web sitesinde arduino için bir taslak bulunabilir.

Dikkat! Arka ışık bölgeleri ne kadar fazlaysa, bilgisayar işlemcisi üzerindeki yük o kadar büyük olur. 240 diyot için bir test düzeneğinde bir arduino asılıydı.

Güncelleme:

Harika haber! Artık performans sorunu yok! Harika ve ücretsiz Ambibox programını denedim
ve işte intel baytrail'li bir tablette performans testi sonuçları

Gördüğünüz gibi, tablet bile 300 diyot ile arka ışığı kolayca çekiyor ve yenileme hızı 40 fps'den fazla!
xbmc için bir eklentisi var.
Ücretli bir playclaw aracılığıyla da olsa, oyunlarla iyi uyumluluk da beyan edilir.

Ne yazık ki, arka ışığın çalışmasını android üzerinde test edemedim çünkü hiçbir cihazımda çekirdekte arduino için sürücüler yok.

21.11.14 güncellemesi

Ambibox'ı kurma

Sonunda Prismatic'ten Ambibox'a geçtim ve şimdi size arka ışığınızı onunla çalışacak şekilde nasıl ayarlayacağınızı anlatacağım.

Programın en son sürümünü buradan indirin

Ve kurulumunu yapıyoruz. Kurulum işleminin en sonunda böyle bir pencere görünecektir.

"Adalight" seçiyoruz ve kurulum işlemi bitiyor. Kurulumdan sonra programı çalıştırın, saatin yanındaki tepside renkli bir kare belirecek, üzerine çift tıklayın, ayarlar penceresi açılacaktır. Program dili program ayarlarında değiştirilebilir ve ana arka ışık ayarları burada bulunur

Şimdi dikkat! Bu yüzden mi programı ilk kez kuramadım? Çünkü hiçbir yerde ayar yok. Ama orada oldukları ortaya çıktı, ancak pencereye sığmadılar, bu yüzden pencereyi sağ alt kenardan uzatıyoruz ve "Diğer ayarlar" düğmesine basıyoruz.

Ve görünen ayarlarda arduinki bağlantı noktamızı ve diyot sayısını seçin. Port seçildiğinde program yeniden başlayabilir. Burada mevcut profil için çalışma modunu ve oyunlarda yakalama yöntemini seçebilir, oyun modlarını playclaw ile ve sinema için Windows 8 modunu (bence en hızlısı) seçebilirsiniz.
Ek ayarlar etkinleştirildiğinde, "Yakalama bölgelerini göster" düğmesine basın, çevre çevresinde renkli kareler ve menüde ek düğmeler görünecek, "Bölge ayarları sihirbazı"na basın.

Bu yapılandırıcıda çok sayıda bölge yapılandırmak çok uygundur, arkadan aydınlatmalı taraf sayısını, diyot sayısını dikey ve yatay olarak seçebilir, ofseti ayarlayabilir, yakalanacak alanın biçimini, kesme boyutunu seçebilirsiniz. stand için alt kenarda, yakalanacak monitör ve hatta 3d görüntülerin formatı (TV'ye yan yana veya aşırı formatta 3d sinyali veriyorsanız). Yapılandırdıktan sonra, "Uygula"ya tıklayın, ardından ana menüdeki ayarları kaydedin. Sistem ayarlarım için ekran görüntüsüne bakın.

Her şey! Bu, programın temel ayarını tamamlar, ancak bu program hala ÇOK çok sayıda ayara sahiptir! Her diyot için renk kanallarını ayrı ayrı ayarlayarak arka ışığı ayarlayabilir, kenar yumuşatma, gama, dinamikler ve daha fazlasını ayarlayabilirsiniz... Geniş ekran sinema için ayrı profiller oluşturabilir ve bir klavye kısayolu ile veya açtığınızda otomatik olarak geçiş yapabilirsiniz. programı açın ve hatta wineamp'ı açtığınızda renkli müzik modunu açın! Deney!

Güncelleme 11/22/14

Android'de ayar

Bütün gece android'de arka ışığı çalıştırmaya çalıştım ... ileriye bakarak şunu söyleyeceğim araştırma sonucu: -1 arduin mega, ama yine de bazı sonuçlar var: mega'mın kesinlikle kenetlenmek istemediği ortaya çıktı kurdele ile, ne tek bir pim üzerinde ne de bir eskiz ile ve pencerelerde de programlarla ve sonunda, sabahları iyice "burnunu gagalamak" onu aptallıktan yaktı. Ancak kaseti kontrol edememesine rağmen, her şey yolunda gitti, veriler alındı, arka ışık programlar tarafından tespit edildi, bu yüzden arka ışığın çalıştığını tam olarak söyleyemem.

Yorumlarda zaten yazdığım gibi, android cihazlarımın çekirdeğinde arduino nano için veya daha doğrusu ft232r yongası için sürücü yok, bu yüzden Mega'yı başka bir projeden çıkardıktan ve akıllı telefonumun onu doğru bir şekilde algıladığından ve taktığından emin olduktan sonra ttyACM0 olarak deneylere başladım. Ve evet, köke ihtiyacımız var.

İlk olarak, android için xbmc'nin en son kararlı sürümünü indirdim ve yükledim.

Sonra senaryoyu bu adamdan indirdim
ayrıca libboblight.so modülünü gerektiriyordu, onu Google'da buldum, indirdim, öyle görünüyor ki, buradan

XBMC'yi açın ve ayarlar -> Eklentiler'e gidin ve resmi depodan boblight adlı bir eklenti kurun, ardından XBMC'yi kapatın

Dosya yöneticisini kullanarak Android / data / org.xbmc.xbmc / files / .xbmc / addons klasörünü açın ve script.xbmc.boblight klasörünü youtube'dan aldığımız klasörle değiştirin. (Bu prosedürü, indirilen klasörü bırakırsam betiğin doğru şekilde yükleneceğinden emin olmadığım için gerçekleştirdim).

libboblight.so dosyasını / system / lib / içine atıyoruz ve emin olmak için onu Android / data / org.xbmc.xbmc / files / .xbmc / addons / script.xbmc.boblight / Resources / lib'e de yükledim /

XBMC'yi başlattıktan sonra, komut dosyası hata vermeyi bıraktı (bağlı bir arduino olmadan başlattığım zamanki gibi), arka ışığımı belirledi ve rx / tx üzerindeki diyotlara bakılırsa beklendiği gibi çalışmaya başladı, ancak zaten yazdığım gibi, kaset kendisi yanmadı.

Bu komut dosyası, komut dosyası klasöründeki hyperion.config.json dosyasında yapılandırılır, buradan HyperCon.jar yapılandırıcısı ile düzenleyebilirsiniz.

Kullanıcıdan ek bilgi andryvlad:

Android'e ihtiyaç duyanlar için - Arduino Uno R3 kartıyla çalıştı. Amlogic AML8726-M6 (MX) işlemcili, Android 4.2.2, Kodi 14.2 Helix ve Boblight eklentili TV-Box üzerinde test ettim. Bir uyarı - arduina orijinal şemaya göre monte edilmelidir (USB-Com olarak ATmega16U2 ile) - Android'de ttyACM0 olarak tanımlanır (bunu aldım). Arduino Nano (FT232RL ile), ne yazık ki algılanmadı. HyperCon.jar yardımcı programında, ilk sekmede şunu yazın:
Cihaz Tipi: Adalight
Çıktı: / dev / ttyACM0
Baud hızı: 115200
peki, LED'lerin yerini ve sayısını belirtiyoruz (arduino'da bir çizim doldururken, aynı sayıda kaydetmeniz gerekir), geri kalan parametrelere dokunmadık. Oluşturulan hyperion.config.json dosyası, komut dosyası klasörüne yerleştirilir. Eklentinin kendisinde Boblight hiçbir şeyi yapılandırmadı.
Şimdi, Kodi başladığında, eklentinin bağlı olduğunu ve şeridin sırayla üç renkte yanıp söndüğünü belirten bir mesaj görünür (bu bir test türüdür, Boblight ayarlarında devre dışıdır). Filmi açıyoruz, iyi eğlenceler!)

Muhtemelen hepsi bu kadar ... Ali'nin eskisini değiştirmesi ve ona uno r3 eklemesi için yeni bir "mega" sipariş ettim ve daha sonra denemeye devam edeceğim, ancak şimdi "nano" ile kontrol edilen monitör arka ışığımdan oldukça memnunum harika bir program Ambibox ve evet ... satın almanızı tavsiye ettiğim ürün ;-)

not Birkaç gün sonra, bir monitör için metre başına 60 diyot yoğunluğunun aşırı olduğunu söyleyebilirim: çok fazla parlaklık ve küçük ışık hareketleri biraz yorucu. Program ayarlarında parlaklığı minimuma indirdim, kenar yumuşatmayı yükselttim ve dinamikleri azalttım. Sonuçta, bu bir arka ışık ve monitörün devamı değil. Uzun bir mesafeden, böyle bir sorun yoktur ve arka ışık karışmaz.
Oyunlarda arka aydınlatma ile ilgili olarak: Playclaw 5'in demo versiyonu anladığım kadarıyla oyunlarda arka aydınlatma için yeterli, başlangıçtaki pencere hariç, şu ana kadar arka ışıkta herhangi bir kısıtlama görmedim

Kullanıcı galerisi

kullanıcı vre Kendi arka ışığımla küçük bir video yayınladım (TV 42", 3 taraftan arka ışık, 125 diyot).

kullanıcı ventura ayrıca videoyu sistemimle paylaştım

kullanıcı chaloc ws2812b bant ile monitörümün bir fotoğrafını gönderdi

kullanıcı fp777 bir bant yerine büyük LED'lerin kullanıldığı arka ışığının bir fotoğrafını ve videosunu yayınladı (sistemini tekrarlarsanız, ışık akısının duvara yönlendirilmesi için diyotların döndürülmesi gerekir)

110 diyot WS2812B + ARUINO Nano + AmbiBox 2.1.7.
Foobar oynuyor ve MilkDrop2 eklentisi tarafından 50 "lik bir resim görüntüleniyor ...

Kullanıcıdan gelen video Ernesto

Samsung 40 "81zone üzerine kurulu WS2811 + Arduino nano

Kullanıcı monitörü ile harika video daha yaşlı

27 "monica'da 112 diyot ...

yoldaşın televizyonu nukezzz

- 29" TV setinde 120 piksel (tam 2 metre),
- IP65 korumalı bandı aldım (harika bir seçenek).
- CH340 üzerinde arduino nano

kullanıcı TV Fedor


Alt bunu yapmadı. 55 inç televizyon seti.

Güzel video arkadan aydınlatmalı kullanıcı Bron888


Bu konu henüz orada olmadığında uzun süre topladım, oh ve sonra bilgi ararken acı çektim))) Mükemmel bir makale ve burada titreyen diyotlarla bir aksaklığı gideren yeni bir eskiz var, savaştım Watchdog'un yardımı) işte sonucum.

Ev yapımı arka ışığın bir gün daha ve bir memnun kullanıcısı.
kullanıcı lesha_01 arka ışığım hakkında bir video gönderdi.
Uzun zamandır yapıyorum, bir yıldır kullanıyorum - Amnibox ile her şey stabil çalışıyor, bir metre bant tam olarak 3 tarafa gitti.

çılgın kaya monitörümün çok güzel bir fotoğrafını gönderdi

AlexNerf monitörümü de paylaştım

Monitör 20", Windows 8, güç kaynağı sistem ünitesinin güç kaynağı ünitesinden, izolasyonlu bant

kullanıcı TV Dante


Ben de öyle yaptım. Bandı köşelerden büktüm, yiyecekleri çoğaltmadım, gerekli olmadığını düşünüyorum. 60" panel, 118 diyot ve bölge çıktı, altta stant için bir oyuk var. Aracın taslağı titriyor diye yorumlardan bir kroki kullandım.

kullanıcı monitörü Alber

AVR ATmega32U4 - 1 adet (~ 3 $)
LED şerit ws2812b - 100 adet (~ 9 $)
PSU Xiaomi 5V 10W - 1 adet
LCD Acer 24" - 1 adet
Yazılım - Ambibox

Mevcut güç kaynağı ve monitör olmadan maliyet 12 dolardı.

Beyaz tülden 15 cm uzaktaki bir kolda monitörle elde çekilen akıllı çekim.


kullanıcı monitörü hedef

Detaylı inceleme için teşekkürler TS, tk. adafruit'in kılavuzunda bazı nüanslar belirtilmemiş.
Bandı 3 pim için köşelerle bağladım, çok uygun.
Güç + 1000μF 6.3v için bir kondansatör, yine çok uygun.
Tüm kabloları dikkatlice bağlayın ve 470 ohm rezistörü lehimleyin - Arduino nano onu kinder sürprizinden "yumurtaya" koydu.

Ve ayarların güncellenmiş bir versiyonu

kullanıcı TV tauntik

Kendime bir kasetten 55 "metre başına 60 diyot yaptım, 233 diyot çıktı (yaklaşık 4 metre)

Ayrıca videolarınızı ve fotoğraflarınızı da gönderebilirsiniz, memnuniyetle incelemeye ekleyeceğim

+605 almayı planlıyorum Favorilere ekle incelemeyi beğendim +305 +714
  • öğretici

Piksel arka aydınlatmasını gösteren videolar oldukça etkileyici görünüyor - çok renkli flaşlar, dinamik yansımalar harika görünüyor ve diğer benzer arka aydınlatma türlerine kıyasla daha hareketli görünüyor.
Arduino kullanarak kontrollü ışıklarla çalışma isteği beni böyle bir sistem kurmaya yöneltti. Görünüşe göre, bu, toplamda sadece birkaç saatin harcandığı oldukça basit bir olaydır (aslında, yapının kendisi 10 dakikadır, gerisi yazılımdır). Montaj ve programlama sürecinin detaylarını bu yazıda anlatacağım. Yazılım, sonuçlar ve demo ektedir.

donanım parçası

Böyle bir arka ışık için aşağıdaki öğelere ve cihazlara ihtiyacımız var:

Diyagram (bu gurur verici kelime iki ürünü dört telli bağlamak için uygunsa) şekilde gösterilmiştir:

Montaj işlemi son derece basittir. Bunu ayrıntılı olarak açıklamanın bir anlamı yok (aynı nedenle, bitmiş "ürünün" fotoğrafları yok - İnternette dört telli çok sayıda arduin var).

  1. Her şeyi şemada gösterildiği gibi lehimleyin.
  2. Kabloları arduino'ya bağlayın, arduino'nun kendisini PC'ye bağlayın, güç kaynağını bağlayın.
  3. Krokiyi Arduino'ya dökün (aşağıya bakın), yürütülebilir dosyayı bilgisayarda çalıştırın (yazılımın bağlantıları da aşağıya bakın), programda istediğiniz COM bağlantı noktasını kurun.
    Windows Vista / 7 kullanıyorsanız - Aero'yu devre dışı bıraktığınızdan emin olun. Aksi takdirde, çalışma hızı basitçe içler acısı, anladığım kadarıyla Aero açıkken düşük ekran yakalama hızı sorununa bir çözüm yok.
  4. Her şeyin çalıştığından emin olun, kapatın.
    Yazılımın çalıştığı belirtilmelidir. yalnızca 32 bit renkte... Bu kolayca düzeltilebilir ama bence böyle bir düzenlemenin pek bir anlamı yok.
  5. Bandı monitöre takın. Bandı çevre çevresinde sol alt köşeden saat yönünde başlatmanız gerekir (LN-> LV-> PV-> PN-> LN). Hiçbir şeyi kesmenize gerek yok, bant neredeyse her yerde iyi bükülüyor, bu yüzden herhangi bir sorun olmamalı. Sabitlemek için çift taraflı bant kullandım - bant çok hafif ve bu fazlasıyla yeterli.
Bu, montajı tamamlar. Dikey ve yatay olarak piksel sayısını hesaplamak ve ayarlamak için kalır ve videoları izleyebilir, oynatabilir vb. ve sevinin.

Yazılım bölümü

Yazılım bölümü iki bileşenden oluşur:
  • Arduino için eskiz;
  • PC için kontrol programı.
Arduino için eskiz
Arduino'da aşağıdaki kodu doldurmanız gerekiyor. SmallUART kitaplığı kullanılır (ancak, özellikle olağanüstü bir şey yapmaz, isterseniz standart araçlarla yapabilirsiniz).
/ *** PİKSEL IŞIK İÇİN ARDUINO KODU *** / #include #Dahil etmek imzasız uzun lastTime; // Zaman şeridi son kez güncellendi const unsigned long fadeTimeout = 3000; /////////////////////////////////////////// // //////// // geçersiz kurulum () (UART_Init (115200); SPI.begin (); SPI.setBitOrder (MSBFIRST); SPI.setDataMode (SPI_MODE0); SPI.setClockDivider (SPI_CLOCK_DIV8); blackoutAll () ; gecikme (1); son Zaman = milis ();) ///////////////////////////// //// //////////////////// // void döngüsü () (uint8_t verisi; UART_SendByte ("R"); // Bayt "Biz" hazırız "bool geçerli = false; veri = uartRead (geçerli); if (geçerli) (uint16_t pix_num = veri * 3; // (uint16_t i = 0; i) için toplam izleyen bayt< pix_num; i++) { data = uartRead(valid); if (!valid) break; SPI.transfer(data); // Transfer byte to SPI } lastTime = millis(); } if (millis() - lastTime >fadeTimeout) blackoutAll (); ) ////////////////////////////////////////// // ///////// // Mümkün olan tüm 256 led'i kapatın void blackoutAll () ((int16_t i = 0; i için)< 768; i++) SPI.transfer(0); //погасить все пикселы ленты } //////////////////////////////////////////////////////////// // Read byte with timeout unsigned char uartRead(bool& valid) { uint8_t res = 0; valid = false; for (uint8_t i = 0; i < 255; ++i) { // Max timeout 256*10 if(UART_ReadByte(res)) { valid = true; break; } delayMicroseconds(10); } return res; }

Burada her şey son derece basit:

  1. Arka ışık verilerini almaya hazır olduğumuza dair bir sinyal gönderiyoruz;
  2. Kısa bir süre için veri bekliyoruz;
  3. Veri geldiyse, bu verinin ilk baytı servis verilen diyotların sayısıdır. İzlenecek bayt sayısını bulmak için 3 (RGB) ile çarpın;
  4. Alınan verileri kasete iletiyoruz;
  5. Feed'in son güncellemesinin zaman damgasını güncelleriz (bu, feed'in tüm piksellerinin zaman aşımına uğraması ve boş bırakılması için gereklidir).
bilgisayar programı
Bunun için hazır çözümler var gibi görünüyor, ancak gördüklerim kategorik olarak hoşuma gitmedi ve genel olarak sportmenlik dışı, Arduino'nun kullanılması boşuna. Bu nedenle, bir sandviçi çiğnerken, ekranın alanlarını yakalamak, işlemek ve gerekli verileri teybe aktarmak için sol ayakla bir program yazılmıştır. Sakatat içeren programın tamamı github.com/sergrt/pixie adresindeki github'da mevcuttur (kod için tekme atmayın).
Qt 5.0.1 kullanılır - ilgi uğruna, bu özel sürümde bulunan hiçbir özel şey dahil değildir, bu nedenle oldukça iyi çalışır ve son 4 düzenleme yeni sınıflar kullanılarak yapılmıştır, bu nedenle artık kaynak kodu ile uyumlu değil 4. sürüm Eğlencemin çoğunu Windows altında yaptığım için proje bunun için yapıldı - Visual Studio 2012, GDI veya DirectX yakalama. Dürüst olmak gerekirse, Qt Creator için .pro dosyaları oluşturmaya çalıştım, ancak yeni VS Qt Eklentisi ile bu işlem çok can sıkıcı, sonuç olarak bu dosyalar hemen çalışmadı, anlamadım. Ancak her şey linux altında sorunsuz bir şekilde derlenebilir, bkz. UPD #3.
Program ayarları
Ana ayar, LED'lerin sayısını dikey ve yatay olarak belirlemek ve ayrıca yakalanan alanların boyutunu ayarlamaktır. Benim 22" dikey olarak 10 parça ve yatay olarak 17 parça sığdırır:


Çerçeve hızı sınırını yaklaşık 30 olarak ayarlamak mantıklıdır. Mümkün olan en yüksek hızda çalışmak için "0" değeri kullanılır.

Ayrıca Arduino ile iletişim için bağlantı noktasını ve baud hızını doğru bir şekilde belirtmeniz gerekir. Varsayılan çizim hızı 115200'dür:

Parlaklığı, tetik eşiğini ve sınırlayıcıyı ayarlamak için ayrı bir "İşleme" sekmesi yapılmıştır. Orada sunulan parametreler gerçek zamanlı olarak ayarlanır:

Programla çalışmanın rahatlığı için, başlangıçta yakalamayı otomatik olarak çalıştıracak şekilde yapılandırabilir ve ayrıca bildirim alanına simge durumuna küçültülmüş olarak başlatabilirsiniz.

İlgilenenler için yazılımın içi hakkında biraz
Ana fikir, belirli bir mekanizmaya göre alanları yakalayan, ayarlanabilir bir fps ile bir iş parçacığı başlatmak ve bu alanları işlemek ve ardından banda aktarmak için aktarmaktır. Alanlar ayarlara göre yakalanır (kimin aklına gelirdi), pikselin rengi, ekranın karşılık gelen alanının üç RGB kanalının basit ortalaması ile belirlenir. İsteğe bağlı olarak (önişlemci yönergeleri ile) Lab'de dönüştürmeyi ve kuvvetlerine göre ortalamayı etkinleştirebilirsiniz, ancak bu kod parçası hiçbir şekilde optimize edilmemiştir (İnternetten olduğu gibi), yavaşlar, bu nedenle devre dışı bırakılır. varsayılan. Ayrıca, Lab'in herhangi bir özel avantajı bu görev bağlamında fark edilmez, dolayısıyla bu üzülmek için bir neden değildir.
Alanlar dikey ve yatay olarak işlenir ve kasete sol alt köşeden başlayarak ve çevre boyunca saat yönünde (tıpkı montaj sırasında bandı monitöre sardığımız gibi) bir renk dizisi gönderilir.
DirectX'i hızda yakalamak, GDI'dan yakalamaya yaklaşık olarak eşittir, ilk durumda tüm ekran yakalanır ve ikincisinde - sadece gerekli parçalar. Muhtemelen burada bir miktar optimizasyon marjı vardır.
Memcpy'nin bol kullanımı, öncelikle işin hızıyla ilgilidir - diğer tüm yöntemler, bir dereceye kadar daha yavaş olduklarını göstermiştir.

Sonuçlar ve izlenimler

Şeridin büyük bir parlaklık marjı vardır, bu iyidir - diğer ışık kaynaklarıyla bile kullanabilirsiniz. Tamamen karanlıkta, kaydırıcıları hareket ettirmek ve daha yumuşak hale getirmek daha iyidir. Bandın kendisi bağımsız bir aydınlatma kaynağı olarak hizmet edebilir, sadece taslağı yeniden yapmanız gerekir.
Monitörün / TV'nin köşegeninin küçük bir önemi olmadığını düşünüyorum. Daha büyük daha iyi.
Ayrıca ekranı, LED'lerin yansıdığı yakınlarda hiçbir yüzey olmayacak şekilde kurmalısınız (benim durumumda bunlar hoparlörlerin yan yüzeyleridir) - bu özellikle kritik değildir, ancak keskin bir şekilde ayırt edilen piksellerin olması daha iyidir. hiç görünmüyor - aralarında adil bir mesafe olduğu için resmi en iyi şekilde etkilemiyor.

Neyi beğendik:
Böyle bir arka ışıkla video izlemek ve oyun oynamak, gözleri öznel olarak rahatlatır - monitör resmine sert odaklanma kaybolur. Parlaklık ile aşırıya kaçmazsanız, göz yorgunluğu hissi daha sonra gelir. Videoyu izlemek en azından olağandışıdır, bütünlük adına bunu uzaktan yapmak daha iyidir.

Neyi beğenmedi:
Arka ışık sisteminin kendisi hakkında özel bir şikayet yoktur, ancak daha önce de belirtildiği gibi, zevkin doygunluğu için doğru ortama ihtiyacınız vardır - parlama yüzeylerinin olmaması, ekranın arkasında tek tip bir renk arka planı vb. Çalışma sırasında, monitörümün tasarım zevklerinin bandın normal çalışmasına biraz müdahale ettiği ortaya çıktı - ön panel şeffaf plastikten yapılmıştır ve tüm çevre boyunca arka kapağın birkaç milimetre üzerinde, özellikle alttan çıkıntı yapar. Bu nedenle, bandın nispeten uzağa sabitlenmesine rağmen, bu panelin kenarlarında ayrı ayrı LED'ler görülebilir. Sanırım bununla çok az insan karşılaşacak, ama yine de bilginin önceden mevcut olmasına izin verin.

Aşağıda dinamik olarak nasıl göründüğünü gösteren bir video var. Operatör engellenen ufuk için özür diler.

Ekran çerçevesi etrafında dinamik arka aydınlatmaya sahip TV'ler, Philips'in tescilli yongalarından biridir. Ve diğerlerinden farklı olarak, işe yarıyor. Ancak her şeyin bir bedeli vardır ve Ambilight ve sürükleyici varlığı olan TV'ler diğer birçok modelden daha pahalıdır.

Rus geliştiriciler, herhangi bir üreticinin monitörlerini dinamik arka aydınlatma ile donatacak bir yöntem önerdiler. Bunu yapmak için cihazı bir servis merkezine götürmeniz bile gerekmez: sadece biraz zamana ve azim gerekir.

Genel olarak, böyle bir arka ışık, radyo bileşenleri olarak satın alınabilir ve bağımsız olarak yapılandırılabilir. Ancak, uygulamanın gösterdiği gibi, bu, PaintPack'in hazır seçenekleriyle neredeyse karşılaştırılabilir.

İki ana model mevcuttur: monitör versiyonu (30 LED) ve TV versiyonu (60 LED). Ayrıca çok basit bir tane var - 10 LED için, ancak yalnızca en küçük monitörler için uygundur.

TV versiyonu harici bir güç kaynağı ile donatılmıştır. Ayrıca, daha fazla sayıda LED lehine konuşur, bu da daha büyük bir aydınlatma alanı sağlar (başka bir deyişle, daha geniş ve daha yüksek parlar). Bu seçenekler herhangi bir nedenle uygun değilse, geliştiricilerle iletişime geçebilirsiniz: küçük bir ek ücret karşılığında değiştirilmiş bir sürüm sunacaklar.

mindrunway.ru

Aslında PaintPack, çıkarılabilir LED şeritlerin her iki taraftan bağlandığı küçük bir kasadır. Dolgulu kutu, bir PC'ye bağlanmak için göstergeler ve bir güç konektörünün yanı sıra microUSB'yi taşır. Ayrıca iki cihazı zincirleme bağlamak için bir ana konektör (tescilli) vardır.

Cihaz gövdesi TV'nin veya monitörün arkasında bulunur. Daha sonra talimatlara uygun olarak LED şeritler döşenir, elektrik bağlanır ve büyücülük başlar. PaintPack'i USB aracılığıyla bir bilgisayara bağlarken, sürücülerin yüklenmesi ve aygıtın birlikte verilen programda yapılandırılması gerekir.


mysku.ru

Ayar, AmbiBox paketi kullanılarak yapılır. "Akıllı arka ışık" menüsüne gitmek, bir ekran yakalama yöntemi ve programda sunulan çalışma modlarından birini seçmek gerekir:

  1. Statik arka plan - herhangi bir renk ayarlanabilir, LED ışıması düzenlenir.
  2. Renkli müzik - arka ışık, müziğin sesiyle birlikte zamanında yanıp sönecektir. Arka ışık rengi yeşil-sarı olarak ayarlanmıştır.
  3. Dinamik arka plan - bir rengin diğerine düzgün akışı.
  4. Ekran yakalama, ana çalışma modudur.

Bu modda, izlenen filmlerden ve oyunlardan renk yakalamak mümkündür. Arka ışık rengi, ekrandaki görüntüye göre üst, alt ve yan bölgelere (her biri ayrı ayrı) bölünmüş olarak değişecektir.

PaintPack, resmi Philips muadilinden biraz daha yavaştır. Ancak maliyet farkı ve herhangi bir cihazı yükseltme olasılığı göz önüne alındığında, seçim açıktır.

Amilight adı verilen Philips TV'lerde dinamik arka aydınlatmanın nasıl çalıştığını muhtemelen herkes görmüştür. Bu makale, bir TV veya monitör için dinamik bir arka ışık oluşturmanıza olanak tanıyan bir cihaz sunar. TV / monitör, video içeriğinin oynatılacağı bilgisayara bağlı olmalıdır.

Yani, cihazı monte etmek için ihtiyacınız olacak:
1. Arduino denetleyicisi
2. Metre başına 30 adet LED yoğunluğu ile (32 "" TV'm için 2 metre sürdü)
3. TLC5940 LED sürücü
4. 12V güç kaynağı

Aşağıda arka ışık cihazının şematik bir gösterimi bulunmaktadır:

TV'nin arkasına yapıştırılmış 4 adet LED şerit vardır (solda, solda üstte, sağda üstte, sağda). Her şerit bir TLC4950 LED sürücüsüne ve bir 12V güç kaynağına bağlanır. TLC4950 LED sürücüsü, her rengin parlaklığının PWM kontrolünü sağlar: kırmızı, yeşil ve mavi. LED sürücüsü, PC'den komutları alan Arduino denetleyicisi tarafından kontrol edilir. Bilgisayarda, video görüntüsünün her karesini analiz eden ve Arduino'ya karşılık gelen komutları veren işleme dilinde yazılmış özel bir program çalışıyor.

Ardından, LED şeritler hazırlamanız gerekir. 32" televizyonum için her bantta 15 led var. Bantların üzerinde kestikten sonra güvenle lehimleyebileceğiniz özel yerler var.

Her RGB şeridine dört tel lehimlenmelidir. Uçlarda, gerektiğinde bantların çıkarılabilmesi için ortak otomotiv konektörleri kullandım.

Arduino ve TLC5940 bağlantısı:
Arduino TLC5940
Pim 2 ======= Pim 27 (VPRG)
Pim 3 ======= Pim 26 (SIN)
Pim 7 ======= Pim 25 (SCLK)
Pim 4 ======= Pim 24 (XLAT)
Pim 5 ======= Pim 23 (BOŞ)
Pim 6 ======= Pim 19 (DCPRG)
Pim 8 ======= Pim 18 (GSCLK)

TLC5940 pinlerinin geri kalanı aşağıdaki tabloya göre bağlanır:
Pin 22 (GND) === Arduino Topraklaması
Pin 21 (VCC) === Arduino + 5V
Pin 20 (IREF) === 2kΩ direnç üzerinden Arduino Topraklaması
Pin 1-15.28 === PWM Çıkışı

+ 12V güç kaynağından LED şeritlere ve güç kaynağından Arduino Ground'a "ortak" bağladım.

Aşağıdaki fotoğraflarda TV'mde yüklü kasetler var. Şimdiye kadar LED bandı geçici olarak elektrik bandı ile sabitledim, sonra normal görünmesi için yeniden yapacağım.

Bir bilgisayarda çalışan bir program dilde yazılmıştır. İşleme(resmi site http://www.processing.org). Program sürekli olarak ekranın ekran görüntülerini alır ve ardından ekrandaki farklı yerler (sol, sol üst, sağ üst, sağ) için üç rengin (kırmızı, yeşil, mavi) ortalama değerlerini hesaplar. Hesaplamalardan sonra program Arduino denetleyicisinin bağlı olduğu porta veri gönderir.

Arduino programı, porttan kendisine gelen verileri okur ve TLC5940 LED sürücüsüne kırmızı, yeşil veya mavi renkler için hangi seviyede parlaklık gerektiğini kontrol komutları verir. Ardından TLC5940, LED'leri sürmek için bir PWM sinyali sağlar.

Philips, 2007'de inanılmaz derecede basit ama abartısız harika bir TV arka ışık teknolojisinin patentini aldı. Bu uyarlanabilir arka aydınlatma ile karanlıkta görüntülerken göz yorgunluğunu azaltır, varlığın etkisi artar, görüntüleme alanı genişler, vb. Ambilight yalnızca video ve fotoğraf içeriğine değil, oyunlara da uygulanabilir. Ambilight, Philips TV'lerin ayırt edici özelliği haline geldi. O zamandan beri Philips, büyük üreticilerin hiçbirinin böyle bir şey yaratarak kutsalı ihlal etmeye cesaret edememesi için çok dikkatli davrandı. Muhtemelen, bu teknoloji lisanslanabilir, ancak koşullar aşırı ve diğer piyasa oyuncuları bunu yapmaya özellikle istekli değil. Küçük şirketler de benzer teknolojiyi ayrı kitler halinde sunmaya çalıştı (şimdi bunu yapan şirketler var), ancak Philips otomobili kaçınılmazdı. Bu nedenle, en iyi durumda, şirket bir şekilde patenti veya türevini yenilemezse, diğer üreticiler ancak 2027'de benzer bir şey yayınlayabilecekler.

Ancak biz sıradan tüketiciler için bu ceza geçerli değildir. Gerekli gördüğümüzü yapmakta kendi başımıza özgürüz. Bugün size Philips Ambilight (bundan sonra sadece Ambilight olarak anılacaktır) gibi bir TV veya monitör için bağımsız olarak nasıl uyarlanabilir bir arka ışığın yapılacağını ayrıntılı olarak anlatacağım. Bazıları için makale kendi içinde yeni bir şey içermeyecek, tk. Bu tür onlarca proje var, farklı dillerde yüzlerce makale yazıldı ve bunu zaten kendisi için yapmış binlerce insan var. Ancak birçokları için tüm bunlar çok ilginç olabilir. Herhangi bir özel beceriye ihtiyacınız yok. Lise 8. sınıf için sadece temel fizik bilgisi. Eh, ve oldukça fazla tel lehimleme.

Neden bahsettiğimi daha iyi anlamanız için, olanlardan bir örnek vereceğim. TV 42 "için gerçek maliyetler yaklaşık 1000 ruble ve 2 saatlik çalışmadır.


Video, tüm duyumları ve etkiyi tam olarak aktarmıyor, ancak çocuklar ilk kez ağızları açık oturdu.

Olası uygulama seçenekleri

Ambilight'ı uygulamak için birkaç seçenek vardır. Video sinyali kaynağına bağlıdırlar.

En ucuz, en basit ve en etkili seçenek, sinyal kaynağının bir Windows PC, Mac OS X veya Linux olmasıdır. Günümüzde, Atom işlemcilerdeki Windows tabanlı kutular çok yaygın ve maliyeti 70 dolardan başlıyor. Hepsi Ambilight uygulaması için mükemmeldir. Birkaç yıldır medya oynatıcı olarak çeşitli Windows kutuları (bir TV kabininde) kullanıyorum, küçük bir avuç inceleme yazdım ve bunları medya içeriği için en iyi TV kutuları olarak görüyorum. Bu seçeneğin donanım uygulaması, listelenen tüm işletim sistemleri için aynıdır. Makalede bahsedeceğim bu seçenek hakkında... Yazılım kısmı Windows sistemi ile ilgili olacak, AmbiBox evrensel bir kontrol programı olarak görev yapacak. Mac OS X ve Linux ile kullanılabilir.

İkinci seçenek - sinyalin kaynağı, aynı zamanda çok sayıda olan Android tabanlı bir medya ekidir. Bu seçenek en sorunlu. İlk olarak, vurgulama yalnızca Kodi medya birleşiminde (ve bu projenin dallarında) çalışacaktır. İkincisi, çoğu durumda, her şey yalnızca çoğu kutu için kabul edilemez olan devre dışı bırakılmış donanım video kod çözme ile çalışır. Projenin donanım uygulaması da belirli gereksinimler getirir. Buna dokunmayacağım, ancak özel bir şey varsa, yorumlarda cevaplamaya çalışacağım.

Üçüncü seçenek, kaynaktan bağımsız bir çözümdür. Bu en pahalı, ancak kesinlikle evrensel çözümdür. sinyal doğrudan HDMI kablosundan alınır. Bunun için yeterince güçlü bir mikro bilgisayara (Raspberry Pi gibi), HDMI ayırıcıya (bölücü), HDMI-RCA AV dönüştürücüye, USB 2.0 analog video yakalama cihazına ihtiyacınız var. Yalnızca bu seçenekle Ambilight'ı HDMI çıkışı olan herhangi bir TV seti / alıcı, Android kutuları, Apple TV, oyun konsolları (örneğin, Xbox One, PlayStation 4) vb. cihazlarla kullanmanız garanti edilebilir. 1080p60 desteği olan varyant için, bileşenlerin maliyeti (LED şeridi olmadan) yaklaşık 70 $, 2160p60 desteği ile yaklaşık 100 $ olacaktır. Bu seçenek çok ilginç, ancak bunun üzerine ayrı bir makale yazmanız gerekiyor.

donanım parçası

Uygulama için üç ana bileşene ihtiyacınız olacak: kontrol edilebilir bir RGB LED şeridi, bir güç kaynağı, bir Arduino mikro bilgisayarı.

İlk olarak, birkaç açıklama.

WS2811, RGB LED'ler için tek kablolu kontrollü (isteğe bağlı bir LED'e adreslenebilir) üç kanallı bir kanal denetleyicisi / sürücüsüdür (IC). WS2812B, halihazırda yerleşik bir WS2811 denetleyicisine sahip olan SMD 5050 paketindeki bir RGB LED'dir.

Projeye uygun LED şeritler, sadelik açısından WS2811 veya WS2812B olarak adlandırılmaktadır.

WS2812B bant, WS2812B LED'lerinin seri olarak yerleştirildiği bir banttır. Bant 5 V gerilim ile çalışmaktadır. Farklı LED yoğunluklarına sahip bantlar bulunmaktadır. Genellikle bunlar: metre başına 144, 90, 74, 60, 30. Farklı koruma dereceleri vardır. Bunlar çoğunlukla şunlardır: IP20-30 (katı parçacıkların girişine karşı koruma), IP65 (toz ve su jetlerine karşı koruma), IP67 (toza karşı koruma ve 1 m derinliğe kadar suya kısmi veya kısa süreli daldırma sırasında koruma ). Siyah beyaz alt tabaka.

İşte böyle bir kasetin bir örneği:


WS2811 bandı, üzerine WS2811 denetleyicisinin ve bir tür RGB LED'in seri olarak yerleştirildiği bir banttır. 5 V ve 12 V için seçenekler vardır. Yoğunluk ve koruma önceki seçeneğe benzer.

İşte böyle bir kasetin bir örneği:


Aşağıdaki fotoğrafta olduğu gibi, büyük ve güçlü LED'lere sahip WS2811 "bantları" da vardır. Bazı büyük paneller için Ambilight'ı uygulamak için de uygundurlar.


Hangi bant seçilir, WS2812B ve WS2811?

Önemli bir faktör, biraz sonra bahsedeceğim kasetin beslemesidir.

Evde uygun bir güç kaynağınız varsa (genellikle güç kaynakları evdeki eski veya hasarlı ekipmandan kalır), güç kaynağının voltajına göre bir bant seçin, yani. 5V - WS2812B, 12V - WS2811. Bu durumda, sadece paradan tasarruf edeceksiniz.

Kendi adıma tavsiye verebilirim. Sistemdeki toplam LED sayısı 120'den fazla değilse, WS2812B. 120'den fazla ise, 12 V çalışma voltajına sahip WS2811. Bunun neden böyle olduğunu, bandı güç kaynağına bağlama konusunda anlayacaksınız.

Hangi düzeyde bant koruması seçmeliyim?

Çoğu için IP65 uygundur, çünkü bir tarafı "silikon" (epoksi reçine) ile kaplanmıştır ve diğer tarafında 3M kendinden yapışkanlı yüzey bulunmaktadır. Bu bandı bir TV veya monitöre monte etmek uygundur ve tozu silmek uygundur.

Hangi LED Yoğunluğu Seçilmelidir?

Proje için metre başına 30 ila 60 LED yoğunluğuna sahip bantlar uygundur (elbette 144 mümkündür, kimse yasaklamaz). Yoğunluk ne kadar yüksek olursa, Ambilight çözünürlüğü (bölge sayısı) ve maksimum genel parlaklık o kadar yüksek olur. Ancak projede ne kadar fazla LED varsa, bant güç devresinin o kadar karmaşık olacağı ve daha güçlü bir güç kaynağına ihtiyaç duyulacağı unutulmamalıdır. Bir projedeki maksimum LED sayısı 300'dür.

bant satın almak

TV'niz veya monitörünüz bir duvarda asılıysa ve 4 tarafında da yan yana çok fazla boş alan varsa, bant en iyi şekilde maksimum etki için 4 kenarın tamamında arka tarafa yerleştirilir. TV'niz veya monitörünüz bir stand üzerine kuruluysa veya altta yeterli boş alan yoksa, bant 3 taraftan arkaya (yani bantsız alt) yerleştirilmelidir.

Kendim için, metre başına 30 LED'li beyaz bir bant WS2812B IP65 seçtim. Zaten uygun bir 5V güç kaynağım vardı. Metre başına 60 veya 30 LED olup olmadığına karar verdim, ancak videoyu hazır uygulama örnekleriyle inceledikten sonra ikincisini seçtim - parlaklık ve çözünürlük bana uygun ve gücü organize etmek daha kolay, daha az kablo var. Aliexpress'te çok miktarda WS2812B kaseti var. 16 dolara 5 metre sipariş ettim. TV'm için (42 ", 3 taraf) sadece 2 metreye ihtiyacım vardı, yani 10 dolara, kalan üç metreyi bir arkadaşım için satın alabilirdim. Fiyatlar genellikle satıcılardan değişiyor, birçok teklif var, bu yüzden sadece bir tane seçin Aliexpress'de yüksek puanlı ucuz lot (arama anahtar kelimeleri - WS2812B IP65 veya WS2811 12V IP65).




Bant için güç kaynağı satın alma

Güç kaynağı ünitesi güç ve voltaja göre seçilir. WS2812B için - voltaj 5 V. WS2811 için - 5 veya 12 V. Bir WS2812B LED'inin maksimum güç tüketimi 0,3 W'dir. WS2811 için çoğu durumda aynıdır. Onlar. güç kaynağının gücü en az N * 0,3 W olmalıdır, burada N, projedeki LED sayısıdır.

Örneğin 42" bir televizyonunuz var, metre başına 30 ledli bir WS2812B bant üzerine yerleştiniz, 4 tarafı da 3 metre bant gerekiyor. Maksimum gücü 0,3*30 olan 5 V güç kaynağı ünitesine ihtiyacınız olacak. * 3 = 27 W , yani 5 V / 6 A. Uygulamamda sadece 3 taraf kullanılıyor, toplam 60 LED (kesin olarak 57) - 18 W'tan güç, yani 5 V / 4 A.

ORICO CSA-5U (8 A) çok bağlantı noktalı USB şarj cihazını uzun süre boşta kullandım, eski incelemeden arta kalan. Bağlantı noktalarının güç kaynağı buna paraleldir (bu çok önemlidir), bu şarj cihazı benim için bir güç kaynağı birimi olarak idealdir, çünkü Bandı 2 paralel bağlantı üzerinden bağlayacağım (açıklamalar yazının biraz ilerisinde olacak).


Bu belleğe sahip olmasaydım, seçerdim (bu PSU'da dahililerin 2,5 A'ya yerleştirildiği bilgisi var, bu nedenle bu konuyu satıcıdan daha ayrıntılı olarak incelemeniz veya diğerlerine bakmanız gerekir) modeller).

Mikrobilgisayar satın almak

Ambilight, Arduino mikrobilgisayar tarafından kontrol edilecektir. Aliexpress üzerinde Arduino Nano'nun maliyeti yaklaşık bir adettir.

Sürümüm için maliyetler (TV 42 " için):

10 - 2 metre WS2812B IP65 (metre başına 30 LED)
4 $ - 5 V / 4 A güç kaynağı (PSU'ya para harcamadım, netlik için maliyeti teklif ediyorum)
2.5 $ - Arduino Nano
-----------
16,5$ veya 1000 ruble

Donanım uygulaması

En önemli şey, bandın beslemesini uygun şekilde organize etmektir. Bant uzun, voltaj yüksek akımda, özellikle 5 V'ta düşüyor. Kendilerini Ambilight yapanlar için ortaya çıkan sorunların çoğu, güç kaynağına bağlı. Kuralı kullanıyorum - 5 V'ta her 10 W maksimum güç tüketimi ve 12 V'ta 25 W güç tüketimi için ayrı bir güç kaynağı yapmanız gerekiyor. Güç kaynağının uzunluğu (güç kaynağından bandın kendisine) özellikle 5 V'ta minimum (marjsız) olmalıdır.

Genel bağlantı şeması aşağıdaki gibidir (şema benim versiyonum için güç bağlantısını göstermektedir):


Teybe her iki uçtan güç sağlanır - iki paralel bağlantı. Örneğin, arka ışığı 4 taraftan da yapsaydım ve bant metre başına 60 LED olsaydı (yani maksimum güç 54 W ise), o zaman aşağıdaki güç kaynağını yapardım:


Besleme kabloları uygun şekilde kullanılmalıdır, gösterge (AWG) ne kadar küçükse, o kadar iyidir, böylece hesaplanan akım gücü için fazlasıyla yeterli olurlar.

Banttan Arduino'ya giden iki pin var. Arduino'daki ilgili pime bağlanması gereken GND. Ve 300-550 Ohm'luk bir direnç (tercihen 470 Ohm) aracılığıyla altıncı dijital pime bağlanması gereken DATA. Bir direnciniz yoksa, çoğu durumda onsuz her şey yolunda gider, ancak bir tane olması daha iyidir. Herhangi bir radyo mağazasında birkaç kopek için bir direnç satın alınabilir. Arduino mikrobilgisayarın kendisi herhangi bir uygun duruma yerleştirilebilir, çoğu bunun için Kinder sürpriz yumurtasını kullanır. Arduino, DATA kablolarının mümkün olduğunca kısa olması için banda mümkün olduğunca yakın yerleştirilmelidir.

Telleri banda lehimlemek basittir. Ana kural, havya ile temas süresinin minimum olması gerektiğidir;

Benim durumumda, şöyle çıktı:



Güç için iki siyah yüksek kaliteli USB kablosu ve bilgisayara bağlanmak için beyaz bir kablo kullanıldı. Beyaz ısıyla daralan makaronum bitti, kırmızı olanları kullandım. Çok “güzel” değil, ama bana uyuyor (hala televizyonun arkasına gizlenmiş).

Önemli bir soru, bandın dik açılarda nasıl büküleceğidir? 60 LED şeridiniz varsa, şeridin kesilmesi ve kısa kablolarla bağlanması gerekir (tüm bunları ısıyla daralan bir tüpe yerleştirerek). LED şeritler için üç pim için özel açılı konektörler satın alabilirsiniz (resimde sadece örneğin 4 pim vardır):


30 adet led şeritiniz varsa ledler arası mesafe geniş ise kesmeden kolayca köşe yapabilirsiniz. "Silikon" kaplamanın bir parçasını çıkarın, temas yüzeyini izole edin ("bant" bile kullanabilirsiniz) ve aşağıdaki şemaya göre bükün:

Pratik yapmak için bir parça bant kestim. Ana şey aşırıya kaçmamak - bir kez hafifçe büküldüler ve hepsi bu. Oradan oraya eğilmenize gerek yok, büküm çizgisini kuvvetlice sıkmanıza gerek yok.


İşte TV'nin arkadan görünüşü, tüm teller delikten kabine giriyor:

Yazılım bölümü

Bu en basiti.

Arduino mikrobilgisayarını USB üzerinden bağlarız. Sürücü (seri arayüz CH340) otomatik olarak kurulacaktır. Bu olmadıysa, Arduino IDE klasöründe ihtiyacınız olan her şeyi içeren bir Sürücüler klasörü vardır.

Arduino IDE'yi başlatın ve Adalight.ino dosyasını açın.


Koddaki LED sayısını değiştiriyoruz. 57'm var.


Araçlar> Tahta> Arduino nano
Araçlar> Bağlantı Noktası> COM bağlantı noktasını seçin (istenen seçenek olacaktır)

"İndir" düğmesine basın:


İndirme tamamlandığında program sizi bilgilendirecektir (bu, kelimenin tam anlamıyla birkaç saniyedir).

Hazır. Arduino'yu USB'den ayırmanız ve yeniden bağlamanız gerekir. Şerit sırayla kırmızı, yeşil ve mavi olarak yanacaktır - Arduino etkinleştirildi ve çalışmaya hazır.

Programı indirin ve kurun. Programda "Diğer ayarlar" ı tıklayın ve cihazı belirtin - Adalight, COM bağlantı noktası ve LED sayısı. Yakalanacak kare sayısını seçin (60'a kadar).


Ardından, Yakalama Bölgelerini Göster> Bölge Yapılandırma Sihirbazı'nı tıklayın. Şerit yapılandırmanızı seçin.


Uygula ve Ayarları Kaydet'e tıklayın. Bu, temel ayarları tamamlar. Ardından, yakalama bölgelerinin boyutunu deneyebilir, bandın renk düzeltmesini vb. yapabilirsiniz. Programın birçok farklı ayarı vardır.


Bir profili etkinleştirmek için Windows bildirim alanındaki ilgili simgeye (AmbiBox profilleri) çift tıklamanız yeterlidir. Bant hemen yanacaktır. Ayrıca çift tıklama ile kapanır.

Temelde bu. Sonucu makalenin başında gördünüz. Karmaşık, ucuz ve harika bir şey yok. Eminim daha iyisini yapacaksın, bu yüzden el sanatlarını yorumlarda paylaş.