İçindekiler:
- Adım 1: Hall Etkisi Sensörleri
- Adım 2: Elektronik Donanım
- 3. Adım: Uygulama Mucidi
- Adım 4: Arduino Kodu
- Adım 5: Konut
- Adım 6: Montaj/Sonuç
Video: Arduino/App Kontrollü Masa Lambası: 6 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Bu proje için elektronik/yazılım hakkında kendime daha fazla şey öğretmemi sağlayacak bir şey istedim, henüz tam olarak içine girmediğim bir şey.. Bunun için bir ışığın iyi bir platform olacağına karar verdim.
Geldiğim tasarım, renk ve parlaklık ayarına sahip bir uplighter içindi. Üründe, sıcaktan soğuğa beyaz renk sıcaklığı ve parlaklığı 'paket' aracılığıyla kontrol edilir, konumu ve yönü bunları bağımsız olarak değiştirir - oldukça benzersiz/eğlenceli bir etkileşim.
Ayrıca, bazı RGB LED'leri kontrol etmek ve bir gün doğumu alarmı ayarlamak için ek işlevler eklemenin yanı sıra bunları ayarlamak için bir Uygulama oluşturdum (kendime meydan okuyabilirim). Gün doğumu alarmı, uyanmanıza yardımcı olmak için parlaklığı 30 dakikanın üzerinde kademeli olarak artırır.
Bu benim ilk Arduino/App projem olduğu için, kodu yapmanın kesinlikle daha iyi yolları olacağını varsayıyorum, bu yüzden bana kolay gelsin! Çalışıyor, bu yüzden mutluyum. İyileştirmeler vb. ile ilgili önerileriniz varsa duymak iyi olur..
Bu proje için tüm dosyalar (arduino/app mucit kodu, uygulama grafikleri vb.) ve Uygulama apk. bu linkte bulabilirsiniz.
Bunu Raspberry Pi ve FULL SPECTRUM LASER yarışmalarına dahil ettim, bu yüzden buna değer olduğunu düşünüyorsanız, bir oy çok takdir edilecektir!
Neye ihtiyacın var….
Elek. Bileşenler:
- Arduino Mikro
- 12 Lineer Radyometrik Hall Etkisi Sensörü
- DC jakı
- 12V Güç Kaynağı
- 2x 1W Soğuk Beyaz LED'ler (6000K)
- 2x 1W Sıcak Beyaz LED'ler (2800K)
- 4x Adafruit RGB Neopiksel
- Sparkfun Picobuck 350mA sabit akım sürücüsü
- HC06 Bluetooth modülü
- Prototip kurulu
- Terminal blokları
- teller
Malzemeler:
- Kalıp yapım malzemeleri (karton veya silikon vb.)
- Poliüretan Döküm Reçinesi
- kontrplak
Sarf malzemeleri:
- Lehim
- Sprey boya
- zımpara kağıdı
- Karıştırma kapları/karıştırıcılar
Aletler:
- Havya
- Tutkal tabancası
- Pense/tornavida/bıçak vb.
- Lazer Kesici
Yazılım:
- Arduino
- MIT App Inventor (ücretsiz web tabanlı)
- Uygulama grafikleri oluşturmak için Photoshop veya başka bir şey
Adım 1: Hall Etkisi Sensörleri
Ürün kontrolü/etkileşimi için sadece bir kadran ya da başka bir şey değil, biraz farklı bir şey bulmaya çalışıyordum.
Farklı elektronik bileşenler üzerinde biraz araştırma yaptıktan sonra, lineer radyometrik salon etkisi sensörleri buldum. Bunlar temel olarak çıkışı manyetik alanlardan etkilenen bir sensördür. Genellikle sensör çıkışı, giriş voltajının yarısı kadardır. Ancak yanına bir mıknatıs getirildiğinde, mıknatısın kuzey veya güney kutbuna bağlı olarak çıkış ya giriş voltajına yükselir ya da 0V'a (doyma limitleri) düşer.
Bunu, tek bir salon sensöründe iki farklı ayarı kontrol etmeme izin vermek için kullanabileceğimi fark ettim - 'pak' fikri doğdu. Lazerle kesilmiş diskte bir mıknatıs gizlidir ve sensörlere hangi ucun baktığına bağlı olarak parlaklığı veya renk sıcaklığını kontrol eder. Arduino koduna daha sonra giriyorum, ancak esasen bu sensörleri okuyorum ve çıktının bir 'yüksek tetikleme'nin üzerine çıkıp çıkmadığına veya 'düşük tetiklemenin' altına düşüp düşmediğine bakıyorum. Diski yay etrafında kaydırdıkça tetiklenen, her birine belirli bir renk sıcaklığı ve parlaklık değeri eşlememe izin vermek için birden fazla salon efekti sensörü kullanıyorum.
Adım 2: Elektronik Donanım
Bu projenin ilk adımı elektronik donanımı bağlamaktı. Çok sayıda analog okuma pinine sahip olduğu için bir Arduino Micro kullanmayı seçtim - ayar ayarı için yeterli çözünürlük sağlamak için birden fazla salon efekti sensörü kullanmama izin verdi. 12V DC güç kaynağı, Arduino ve LED sürücüsüne güç sağlamak arasında bölünmüştür.
Kontrol arkı, ışığı kapatmak için kullanılan diğer 1 ile birlikte 11 salon sensörü kullanır. Bunlar A0->A5 ve 4, 6, 8, 9, 10, 12 pinlerine bağlandı. Ortak bir 5v ve toprak rayını/pinini paylaşırlar.
Kullandığım LED'ler 1W ve sabit akım sürücüsü gerektiriyor. Sparkfun PicoBuck, 3 adede kadar çıkış kanalına sabit bir 350mA sağladığı için kullanıldı. 12V besleme, sürücülerin Vin pinlerine bağlanır. Sürücü, çıkışların PWM'sini kontrol etmek için giriş pinlerine sahiptir, bunlar Arduino'nun 3 ve 5 pinlerine bağlanmıştır.
Daha sonra bluetooth modülü bağlandı. Bluetooth Rx-> Arduino Tx, Tx-> Rx ve 5v.ground.
LED'ler ayrı bir panoya monte edildi. Sıcak olanlar gibi iki soğuk beyaz LED de seri olarak bağlanmıştır. Bunlar sürücünün Çıkış 1 ve 2'sine bağlanır. RGB LED'ler Adafruit Neopikselleridir; bunlar tek bir Arduino pininden renk ve parlaklığını ayrı ayrı kontrol edebileceğiniz zincirlenebilir modüllerdir. Bunlar pin 11 ve 5V/toprak pinlerine bağlanır.
3. Adım: Uygulama Mucidi
Uygulamayı oluşturmak için MIT App Inventor kullandım, ücretsiz ve öğrenmesi/kullanımı oldukça kolay. İlk önce Uygulama ekranlarını/grafiklerini oluşturmam gerekiyordu - bu photoshop vb.'de yapılabilir. Ekranları ayrı görüntüler/dosyalar olarak oluşturan tüm bileşenlere sahipseniz, bu App Inventor'da işinizi kolaylaştırır.
App Inventor'ın iki görünümü vardır, ön uç görsel öğeleri için 'Tasarımcı' sekmesi ve kod için 'Bloklar' sekmesi vardır.
'Tasarımcı' sekmesini kullanarak uygulama ekranlarını oluşturdum. Bulduğum bir sorun, bluetooth bileşeninin birden fazla ekranda çalışmamasıdır, bu nedenle 'hoş geldiniz' ekranından sonra diğerlerinin tümü (bağlantı, RGB, renk sıcaklığı, alarm) aynı ekranda oluşturulur - etkin bir şekilde açtığım katmanlar /kapalı.
Kullandığım ana araçlar 'düzen/hizalama' ve 'tuval' içindir. Tuval, resim olarak gösterebileceğiniz dokunmaya duyarlı bir alandır.
Görseller kurulduktan sonra 'Bloklar' sekmesine geçme ve kodu yazma zamanı. Bunu kısaca anlatacağım, ancak dosyamı App Inventor'a aktarırsanız ve etrafınızda bir oyun oynarsanız muhtemelen daha kolay…
Bu ilk bloklar bağlantı ekranları içindir. Uygulamanın Arduinos bluetooth modülüne otomatik olarak bağlanmayı denemesine izin vermek için HC06 adresime bir değişken oluşturup ayarladım. Bağlanırken arka plan görüntüsünü değiştirmek için bir zamanlayıcı kullanıyorum. Bağlantı başarılı olursa, renk sıcaklığı ekranını yükler. Bluetooth otomatik olarak bağlanamazsa, 'cihaza bağlan' düğmesine basmanız gerekir. Bu, telefonunuzun görebileceği tüm bluetooth cihazlarının bir listesini getirecektir. 'bluetoothclient1.connect' komutu, bağlanmak için o listeden seçtiğiniz cihaz adresini kullanır.
Bu bloklar, menü düğmelerinin her birine dokunduğunuzda ne olacağını kontrol eder - RGB, renk sıcaklığı ve alarm arasında geçiş yapın. Dokunuldukça uygulanabilir görsel katmanlar açılır ve kapanır. Yani RGB menü düğmesine dokunduğunuzda, düğmeler tuvalinin arka plan görüntüsünü koyu simgeye çevirir, RGB ekranını açar ve diğerini kapatır.
Güç ve parlaklık kontrolü, RGB ve renk geçici ekranları arasında paylaşılır. Arduino'nun hangi LED'leri kontrol edeceğini bilmesi için hangi ekranın yüklü olduğunu söylemem gerekiyor. (ekran) biçiminde bir metin dizesi? BluetoothClient1. SendText komutu kullanılarak telefonunuz bluetooth tarafından gönderilir.
Bu blok dizeyi (Güç) gönderir mi? güç düğmesine her dokunulduğunda.
Bu bloklar renk sıcaklığı ayarını kontrol eder. Tuvale dokunduğunuzda, 'cool' değişkenini ayarlamak için temas noktanızın Y koordinatı kullanılır. Y değeri tuvalin piksel boyutu tarafından yönlendirilir, bu yüzden benim durumumda 0 ile 450 arasında bir değer. Çarpanı bunu kullanılabilir bir PWM değerine (0-255) dönüştürmek için kullanıyorum. Daha sonra bu değere sahip bir dize ve (Tempvalue)? biçiminde bir tanımlayıcı gönderirim.
Yukarıdakine benzer bloklar ancak parlaklık kontrolü için. Bu sefer X koordinatını ve farklı çarpanları kullanarak 'Parlak' değişkeni 10 ile 100 arasında bir değere ayarlayın.
Bu bloklar RGB kontrolü içindir. Parmağınızın dokunduğu pikselin RGB değerini almak için kullanılabilecek 'GetPixelColor' adlı bir komut var. Bir nedenden dolayı sonunda fazladan bir 255 değeri ile çıktı veriyor, bu yüzden değeri formata sokmak için biraz çalışıyorum (RGBredvalue.greenvalue.bluevalue.)? Yine bu daha sonra Arduino'ya gönderilir, ancak dizide tanımlayıcı olarak RGB bulunur.
Blokların sonraki bölümü alarm ayarları içindir. İlk blok, güneşe dokunduğunuzda/sürüklediğinizde ne olacağını kontrol eder. Yine, 'Geçerli X ve Y'yi al' komutları, parmağınızın bulunduğu yer için bir değer almak ve güneşin yüksekliğine bağlı olarak arka plan görüntüsünü değiştirmek için kullanılır. Güneşin konumu da alarmın etkin veya devre dışı olup olmadığını yönlendirir, bu bluetooth ile gönderilir.
Güneşi hareket ettirmeye dokunduğunuzda veya bitirdiğinizde, bir alarm saati ayarlamanıza izin vermek için zaman seçiciyi açar. Bu sonraki bloğun ana kısmı, alarm ayarına kadar kaç milisaniye kaldığını hesaplamak için mevcut zamanı kullanmaktır. Bu değer daha sonra Arduino'ya gönderilir.
Bir sonraki adımda Arduino'nun dizeleri nasıl okuduğunu ve kullandığını ele alacağım…
Adım 4: Arduino Kodu
Uygulama kodunda olduğu gibi, bunu kısaca ele alacağım….
İlk önce tüm değişkenlerimi ayarlıyorum, sensörleri ve LED'leri doğru pinlere atadım. Hall efekt sensörlerinin çıktısı analogRead işlevi kullanılarak okunacak ve 0 ile 1023 arasında bir değer verilecektir. Daha önce açıklandığı gibi, mıknatıs olmadığında yarı çıktı, yani 500 civarında. pakın sensörün üzerinde olduğunu bildiğinde ayarlayın.
Neopikseller, burada tanımlanan bir kitaplık gerektirir.
Void kurulumu serileri başlatır, Micro için Rx/Tx pinleri (bluetooth) Serial1'i kullanır. Daha sonra pinler giriş veya çıkış olacak ve LED'ler kapalı olacak şekilde ayarlanır.
Şimdi ana döngü…
Bu ilk bölüm, Uygulamadan herhangi bir veri alınıp alınmadığını kontrol ediyor. Serial1.available(), seriyi okuyor ve dizedeki bayt sayısını alıyor. Bu > 0 ise, gelen verileri biliyorum.
Hatırlarsanız, Uygulamadan gönderdiğim tüm dizeler bir soru işareti ile bitiyor…. yani (Bright100)?
Soru işaretine (Bright100) kadar seri verileri okumak ve BTstring değişkenini buna ayarlamak için.readStringUntil işlevini kullanıyorum. Tam komutların alındığından emin olmak için BTstring'in bir ')' ile bitip bitmediğini kontrol ediyorum. Eğer öyleyse, BluetoothProgram döngüsü çağrılır… bu aşağıda açıklanmıştır..
Bu sonraki bit, gün doğumu alarmını kontrol eder. Temel olarak, alarm etkinleştirilmişse ve saat doğruysa, LED'ler sönmeye başlayacaktır. İnsan gözünün ışığı logaritmik olarak algılaması nedeniyle, her türlü LED sönümlemesini doğrusal yerine üstel bir eğri ile yapmak daha iyidir. Dolayısıyla bir denklem PWM değerlerini yönlendiriyor…
Diskin Uygulama kontrolüne müdahale etmesini önlemek için, Uygulamayı kullandığınızda devre dışı bırakılır. Diski yeniden etkinleştirmek için, onu 5 saniye boyunca üründen uzaklaştırmanız gerekir. Bu kod biti önce tüm sensörlerin sabit durum değeri (mıknatıs yok) verip vermediğini kontrol eder ve ardından bir zamanlayıcı başlatır. 5 saniye tamamlandığında BTinControl değişkeni tekrar false olarak ayarlanır.
Şimdi diskin kodu.. Önce sensörlerin okunması gerekiyor.
Işık şu anda kapalıysa, sensörlerden herhangi birinin tetik noktalarının üstünde veya altında olup olmadığını, yani diskin yay üzerine yerleştirilip yerleştirilmediğini kontrol edecektir. Eğer öyleyse, nereye yerleştirdiğiniz önemli değil, beyaz LED'leri son ayarınıza getirecektir.
LED'leri, tetiklediği sensörlerle ilişkili değerleri güncellemek yerine son ayarınızda tutmak için MovedSinceStandby değişkeni false olarak ayarlanır. Bu sonraki kod parçası, temelde diski başlangıç konumundan belirli bir miktarda hareket ettirip ettirmediğinizi kontrol eder….
Diski hareket ettiriyorsanız, parlaklık/renk sıcaklığını güncellemek için 'Ana Program' çağrılır. Bu daha aşağıda açıklanmıştır.
Bu ana döngüdeki son bit, diskin bekleme yuvasına geri yerleştirilip yerleştirilmediğini kontrol eder - sensör 12, bir tetik noktasının üstünde/altında bir değer okur. Eğer öyleyse, LED'i tekrar kapatır..
Bluetooth döngüsü:
Yukarıda açıklandığı gibi, bluetooth üzerinden veri alındığında, dizi okunur. Şimdi bu dizenin ne söylediğini kontrol etmemiz gerekiyor…
Parlaklık, renk sıcaklığı ve RGB dışındaki tüm dizelerle başa çıkmak oldukça kolaydır. BTstring'in Uygulamadan gönderilen metne eşit olup olmadığını kontrol edersiniz.
Hatırlarsanız, Uygulamadaki ekranları her değiştirdiğinizde bir bluetooth komutu gönderir. Burada bunun için soru soruyoruz ve bazı değişkenleri doğru veya yanlış olarak ayarlıyoruz, böylece hangi ekranda olduğunuzu biliyoruz.
Her bölümün sonunda BTinControl değişkenini true olarak ayarladım ve BTstring değerini temizledim.
Uygulamadaki güç düğmesine dokunduğunuzda, LED'ler yukarı veya aşağı sönecektir. Hangi ekranda bulunduğunuz için yukarıda ayarlanan değişkenler, kontrol edilecek ekranın RGB mi yoksa beyaz LED mi olduğuna karar vermek için kullanılır.
Parlaklık, renk sıcaklığı ve RGB için dizeleri biraz farklı bir şekilde okumam gerekiyor. Dizenin sayı kısmı değişeceğinden, dizenin tam dizeyle değil tanımlayıcılardan biriyle başlayıp başlamadığını sorguluyorum, bu yüzden sadece (burada parlak..
Şimdi gerçek parlaklık değerini dizeden ayırmam gerekiyor. Uygulamadan gönderilen dizenin biçimi (Parlak değer) olduğundan, parlaklık değerinin 't' ve ')' arasında olacağını biliyorum. 't'nin konumu sabit kalacak, her zaman dizedeki 7. karakter olacaktır. Ancak parlaklık değeri 10 ile 100 arasında olabileceğinden ')' nin konumu değişecektir. ')' öğesinin nerede olduğunu, hangi karakter olduğunu bulmak için.indexOf komutunu kullanıyorum ve ardından 7. karakter ile ')' karakter konumu arasındaki dizeyi okumak için.substring komutunu kullanabilirim. Bu bana ekrana bağlı olarak RGB veya beyaz LED'leri ayarlamak için kullanabileceğim parlaklık değeri veriyor.
Renk sıcaklığı ayarı yukarıdakine benzer bir işlemdir ancak bu sefer değer 'p' ile ')' arasında olacaktır…
RGB ayarı için dizeden çıkarılacak üç değerimiz var, ancak bu yine benzer bir süreç. Uygulamadan (RGBvalue.value.value) biçiminde dizeler alıyoruz
Bu yüzden kırmızı değerin 'B' ile ilk nokta arasında olacağını biliyorum. Yeşil değer 1./2. tam durak arasındadır ve mavi değer 2. tam durak ile ')' arasındadır.
Değerlere sahip olduğumuzda neopixles yeni renge ayarlanır…
Burada alarmın etkin mi yoksa devre dışı mı olduğunu kontrol ediyoruz. Alarm zamanı değiştirilirse, bundan sonra alarma kadar geçen milisaniye sayısını içeren bir dizi gönderilir. Yine bu değer diziden çıkarılır ve gündoğumunun başlama zamanının gelip gelmediğini kontrol edebilmek için şimdiki zamana (milis) bir değişken ayarlamamız gerekir.
Disk kontrolleri:
Daha önce açıklandığı gibi, disk (mıknatıs) bir yönde yukarıdaysa, hall sensörü çıkışını düşük tetikleyicinin altında ve diğer yönde ise yüksek tetikleyicinin üzerinde çalıştıracaktır.
Bu, aynı yay üzerinde hem parlaklığın hem de renk sıcaklığının kontrol edilmesini sağlar.
Sensör değerleri okunur. Bunlardan herhangi biri düşük tetikleme değerinden küçükse, renk sıcaklığını ayarlıyoruz. Ark alanının altında 11 sensör vardır ve bu sensörler, disk üzerlerinde hareket ettikçe çıkışlar tetik noktasının altına iner. Her sensörün kendisine karşı soğuk ve sıcak LED'leri için bir PWM değeri vardır, sensör 1 %100 sıcak, %0 soğukta başlar ve %0 sıcak, %100 soğukta 11.'ye kadar çalışır.
Parlaklık kontrolü de aynı şekilde yapılır.. Sensör çıkışlarının bu sefer yüksek tetiklemenin üzerinde olup olmadığı kontrol edilir ve her sensöre bir parlaklık ağırlık değeri verilir.
Bu parlaklık ağırlığı daha sonra genel çıktı değerini vermek için renk sıcaklığı değeriyle çarpılır. Herhangi bir renk sıcaklığını herhangi bir parlaklığa ayarlamanıza izin vermek…
Adım 5: Konut
- Gövdenin alt kısmı için kartondan bir kalıp yaparak başladım. Kontrol alanı için girintiler oluşturmak için ark şeklinde kesilmiş bir parça kontrplak lazerim vardı ve 'bekleme' yuvası için 5p jeton kullandım. Bunlar, hall efekt sensörleriyle hizalanacak doğru konuma gelmelerine dikkat edilerek karton kalıba yapıştırıldı.
- Sonraki, poliüretan reçineyi karıştırmaktı. Kullandığım malzemenin 1:1 oranında basit bir oranı var ve yaklaşık 20 dakika içinde kürleniyor… bu yüzden oldukça hızlı çalışmam gerekiyor!
- İlk dökme, kalıbın altını doldurmaktı. Bu setten sonra, yan duvarları dökmeme izin vermek için bir karton iç duvar ekledim.
- LED'lerin oturacağı üst bölümü oluşturmak için, bir açıyla plastik boru/bardak kesip yapıştırdım. Ve yine reçine döküldü ve sertleşmesine izin verildi.
- Artık yuva tamamen hazırdı, birkaç delik açmam ve ona iyi bir kum vermem gerekiyordu.
- Astar uygulandı ve ardından son kat boya ile püskürtüldü.
Adım 6: Montaj/Sonuç
- DC jakı için yuvadan bir yuva kesildi. Daha sonra kriko yapıştırılır.
- LED kartı daha sonra teller alt kısma beslenecek şekilde üst kısımda vidalanabilir.
- LED'lerden ve DC jakından gelen teller daha sonra doğru terminal bloklarına vidalandı.
- Ana kart daha sonra muhafazaya vidalanır
- Daha sonra mahfazanın altını örtmek için bir kontrplak parçası vidalanır.
- Son şey, mıknatısın kutuplarını doğru 'parlaklık' veya 'renk sıcaklığı' uç kapağı ile yönlendirdiğinizden emin olarak 'paketi' birbirine yapıştırmaktır.
Genel olarak ışık oldukça iyi çalışıyor! Yazılımda düzeltilmesi gereken birkaç hata var ve RGB LED'ler daha parlak olabilir. Ayrıca, renk sıcaklığını otomatik olarak değiştiren, gün boyunca 'soğuk'tan gece 'sıcak'a dönüşen bir ortam ışığı sensörü ekleyebilirim.
Okumak için şerefe!
Önerilen:
Akari Masa Lambası: 5 Adım (Resimli)
Akari Masa Lambası: Geçen yaz, döndürüldüklerinde tahta dübelleri yerinde tutmak için gerilmiş bir menteşe mekanizması buldum. Akari masa lambasının (Japonca'da parlayan ışık kaynağı anlamına gelen akari) tasarımını bulana kadar bu fikirden hiç yararlanmadım. İle birlikte
Mumya Lambası - WiFi Kontrollü Akıllı Lamba: 5 Adımda (Resimli)
Mumya Lambası - WiFi Kontrollü Akıllı Lamba: Yaklaşık 230 bin yıl önce insanoğlunun yangını kontrol etmeyi öğrenmesi, ateşin ışığını da kullanarak gece çalışmaya başlamasıyla yaşam tarzında büyük bir değişikliğe yol açmıştır. Bunun İç Aydınlatmanın başlangıcı olduğunu söyleyebiliriz. Simdi ben
Modern Led Infinity Aynalı Masa Lambası: 19 Adım (Resimli)
Modern Led Sonsuz Ayna Masa Lambası: © 2017 techydiy.org Tüm hakları saklıdırBu talimatla ilişkili video veya görüntüleri kopyalayamaz veya yeniden dağıtamazsınız. Bu talimatta, aynı zamanda gerçekten işe yarayan modern tarzda bir sonsuzluk aynasının nasıl yapıldığını anlatacağım. hem de
USB SK6812 Masa Lambası: 5 Adım (Resimli)
USB SK6812 Masa Lambası: Birkaç yazıcı biriktirdim, neden… çünkü sürekli olarak yenilerini almak eskileri için mürekkep satın almaktan daha ucuzdu. Her neyse, onları köşeye yığmaktan yoruldum ve onları ayırmaya karar verdim. Onlar bir hazine hazinesiydi,
DC Motorlu Döner Masa Lambası Nasıl Yapılır: 5 Adım (Resimli)
DC Motorlu Döner Masa Lambası Nasıl Yapılır: Bu, karmaşık veya ağır makinelere ihtiyaç duymayan parlayan bir döner lamba oluşturmanın basit ve etkili bir yoludur, masanızın üzerine veya oturma odasına konabilir, bu özelleştirilebilir bir öğedir. yani kendi ışık renginizi kullanabilir veya yapabilirsiniz