İlan
PC'nizde veya medya merkezinizde çok fazla film izliyorsanız, eminim ışık ikilemiyle karşı karşıyasınız; tüm ışıkları tamamen kapatır mısın? Onları tam bir patlamada mı tutuyorsun? Ya da bir yerde donuk sarı bir parlaklık sağlamak için bir kısma anahtarı mı kullanıyorsunuz? Artık acı çekmeyin.
100 dolardan daha düşük bir fiyata, ekrandakileri yansıtacak inanılmaz bir aydınlatma sistemi kurabilirsiniz; video mavi bir gece çekimi ise ışıklar mavi olacaktır; turuncu bir alev yangını yanıp söndüğünde, ışıklarınız da yanacaktır. Ortam RGB aydınlatma dünyasına hoş geldiniz.
Bileşenler
- RGB ışık şeridi - Bu, eBay'den satın alınabilen ve her biri 20 £ 'dan daha ucuza Hong Kong'dan gönderilebilen 5 metrelik bir RGB LED şerididir. Elektronik mağazalarından satın alırsanız, sayaçla ödeme yapacaksınız ve 5m'lik bir makara bunun üç veya dört katına mal olacak, bu yüzden çevrimiçi satın alın. Bu tip LED şeritleri herhangi bir renge değiştirilebilir, ancak sadece bir kerede - ayrı ayrı ayarlanamazlar.
- 12v güç kaynağı - gereken güç (amper), bağlayacağınız LED şeridine bağlıdır. Her sayaç yaklaşık 0,6 amper çeker, ancak bu LED'lerinizin yoğunluğuna bağlıdır, bu nedenle özel LED şeridinizi kontrol ettiğinizden emin olun. 3A, yukarıda bağladığım 5 metrelik şerit için yeterli olacaktır ve başka bir yerde kaynak sağlayamazsanız 10 £ karşılığında ayrı güç kaynakları satın alınabilir.
- 3 x MOSFET N transistörler - probaby'yi daha ucuza bulabilirsiniz, ancak 6 paket aldım (STP16NF06FP yazın) £ 10 civarında. Bunlar akımı Arduino'dan izole etmek için kullanılır - şeritleri doğrudan Arduino'ya bağlamak, çizdikleri akım miktarı ile kızartır. Kırmızı, Yeşil ve Mavi için LED renk kanalı başına 1 MOSFET transistöre ihtiyacınız vardır.
- Arduino Arduino Nedir ve Bununla Ne Yapabilirsiniz?Arduino, dikkat çekici küçük bir elektronik cihazdır, ancak daha önce hiç kullanmadıysanız, tam olarak bunlar nedir ve bir cihazla ne yapabilirsiniz? Daha fazla oku - Bu öğenin maliyetini, zaten bir tane alacağınız varsayıldığı için dahil etmedim ve resmi bir tane alamazsanız satın alabileceğiniz çeşitli klonlar var.
Toplam maliyet bu nedenle £40 Arduino dahil değil.
Giriş
Proje iki bölümden oluşmaktadır. İlk olarak bilgisayardan komutları dinleyen ve RGB LED'leri uygun bir renge ayarlayan temel bir Arduino devresi oluşturacağız. İkincisi, yeni bir uygulamanın İşleme ve bilgisayar tarafındaki Java - şu anda ekranda hangi renklerin bulunduğunu bulmak, ortalamak ve Arduino'nun tepki vermesi için seri iletişim portuna çıkarmak.
Bölüm 1: Devre ve Arduino
Kullandığımız devre aşağıdaki şemadan görebileceğiniz gibi çok basit. LED şeridinin bir ucunda doğrudan breadboard'a yerleştirebileceğiniz bir erkek fişi bulunmalıdır.
LED şeridiniz değişebilir, ancak yakından bakarsanız, 12v, R, G, B bir yere raylar üzerinde yazılı. Bu şeritler aslında bu bakır noktalarda kesilebilir (sahip olduklarımdaki her 3 LED'de), bu yüzden şeritleri kesmek istiyorsanız TV'nizin köşelerini güvenli bir şekilde yapabilirsiniz - 5 metreyi de kullanmanıza gerek yoktur, bu nedenle gelecek için bir miktarınız kalmış olabilir projesi. Pozitif 12v'yi doğrudan harici güç kaynağına bağlayın.
MOSFET'lerin üç pimi vardır; kapı, tahliye, ve kaynak. Kapı, Arduino'nun kontrol edeceği elektronik anahtar gibidir. Bu daha sonra kaynak ve tahliye arasındaki akımı belirler. Her bir MOSFET'in tahliyesi, kaynak LED şerit kanallarına bağlanırken Arduino'nun topraklamasına ve güç kaynağının topraklamasına bağlanmalıdır.
Devreyi tamamladığınızda, indir ve çalıştır test kodu (aslen LadyAda'dan, pinler değiştirildi). LED şeridinizin çeşitli renklerde döndüğünü görmelisiniz.
Bölüm 2: İşleme
İndir İşleme ve koş. Görünüşünü bulmak sizi şaşırtabilir neredeyse aynen Arduino geliştirme ortamı gibi; çünkü her ikisi de farklı işlevler yerine getirse de, Arduino ortamı buna dayanıyordu. Bu kodu al – aslen tarafından Silikon Cumhuriyeti ancak ekran boyutu ayarlarını otomatik ve daha iyi renk temsili yapmak için benim tarafımdan büyük ölçüde değiştirildi - ve bir göz atın. Temelde şu Java sınıfını kullanır: Robot her ekran görüntüsü almak için 10ms; daha sonra her tek pikseli alır ve toplam rengin ortalamasını alır. Performans sizin için önemliyse, skipValue daha fazla piksel atlamak için 3 veya 4 olarak değişir - genel efekt aynı olmalıdır, ancak daha az piksel inceledikçe daha hızlı çalışacaktır. Son olarak, maksimum değeri artırarak ve minimum RGB değerlerini azaltarak rengi doyurmaya yardımcı olan bir filtre ekledim (bu olmadan, renkleri çok beyaz buldum).
Uygulamayı çalıştırın; ilk kez, yanlış seri bağlantı noktasına erişmeye çalışırken muhtemelen bir hata alırsınız.
Geçerli seri bağlantı noktalarının listesi için hata ayıklama penceresini kontrol edin ve Arduino'nuzun takılı olduğu şeyin yanındaki numarayı not edin. Bir Mac bilgisayarımda, USB bağlantısı bağlantı noktası 4'tür. Bu satırdaki numarayı doğru bağlantı noktasına değiştirin:
port = yeni Seri (bu, Seri.listesi () [4], 9600); // baud hızını ayarla
Kaydet ve yeniden çalıştır; küçük bir pencere açıldığını görmelisiniz - bu, ekrandaki her şeyin ortalama rengini temsil eder. Test etmek için bir boyama uygulaması veya güçlü renklerle bir şey başlatın, aksi takdirde muhtemelen karanlık bir gri tonu gösterecektir. Arduino'yu programlamak için seri port erişimine ihtiyacımız olduğundan testi tamamladığınızda uygulamayı durdurun.
Son olarak, bu kodu yükle Arduino'nuza. LED şeridine rastgele renkler göndermek yerine, bu kod seri bağlantı noktasından (İşleme'nin çıktığı) değerleri okur. Anlamak oldukça kolaydır, tek zor kısım seri verilerde bir işaretleyici kullanmak olabilir:
eğer (Seri.available ()> = 4) { if (Serial.read () == 0xff) { kırmızı = Seri.read (); yeşil = Seri.read (); blue = Serial.read (); } }
Bu, doğru bayt değerlerini okumamızı sağlar - İşleme uygulaması bir işaretleyici “kesme noktası” olarak verir Arduino'nun senkronizasyondan çıkmaması ve yeşil değerin mavi vb.
Arduino kodu yüklendikten sonra (başlangıçta LED şeridinde çıkış olmamalıdır), ardından İşleme uygulamasını yükleyebilir ve çalıştırabilirsiniz; hemen ortam ışığınızın çalıştığını görmelisiniz.
İşte rastgele trippy müzik videosu ile benim için nasıl çalıştığına dair bir video demosu.
Ne düşünüyorsun?! Ekranın her bir bölümünü analiz eden ve kullanan bir şey kadar etkileyici olmasa da bireysel LED pikseller, çok daha ucuz ve çok daha parlak. Bunun tek dezavantajı, her şeyin medya merkezi bilgisayarınızda çalıştırılması gerektiğidir - örneğin normal TV yayınlarıyla veya Xbox 360'ınızla çalışmaz. Herhangi bir sorunuz, sorunuz veya öneriniz varsa lütfen sorun. veya tamamlanmış kurulumunuzun bir videosuna bağlanabilir.
James Yapay Zeka alanında lisans derecesine sahiptir ve CompTIA A + ve Network + sertifikalıdır. MakeUseOf'un baş geliştiricisi ve boş zamanlarını VR paintball ve boardgames oynayarak geçiriyor. Çocukluğundan beri bilgisayar yapıyor.