İçindekiler:
- 1. Adım: Teori
- 2. Adım: Donanım: LED Küp Yapısı
- Adım 3: LED Sıraları
- Adım 4: Katman Montajı
- Adım 5: Küp Kablolama
- Adım 7: Arduino + Bluetooth Kontrol Kartı
- Adım 8: İsteğe Bağlı: Devre Kartlarını Aşındırma
- Adım 9: Küpün Bağlanması
- Adım 10: Yazılım: Çoğullama Döngüsü
- 11. Adım: Özel Animasyonlar
- 12. Adım: Ek: AnimationCreator
- 13. Adım: Bluetooth Uygulaması
- Adım 14: Vitrin
Video: Bluetooth Uygulamalı RGB LED Küp + AnimationCreator: 14 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Bu, bir Arduino Nano kullanarak bir Bluetooth Uygulaması tarafından kontrol edilen bir 6x6x6 RGB LED (Ortak Anotlar) Küpün nasıl oluşturulacağına dair bir talimattır. Tüm yapı, örneğin 4x4x4 veya 8x8x8 Küp'e kolayca uyarlanabilir. Bu proje GreatScott'tan ilham almıştır. Daha az mesafe + Bluetooth iletişimi ekleyerek daha büyük led'ler (8mm) kullanarak daha sofistike bir yapıya gitmeye karar verdim, bu da yeni işlevler eklemeyi çok daha kolay hale getiriyor ve ayrıca küpü kontrol etmek için bir uygulama oluşturma yeteneği de ekliyor. Bu aynı zamanda örn. Bir Yılan Oyunu kodlayın (sondaki 3. tanıtım videosu). Bunun üzerine, küpün bir AUX Girişini görselleştirmesini sağlayan bir Ses Görselleştirici modu ekledim; MSGEQ7 kullanan müzik (sondaki vitrin videosu). Ayrıca, herkesin çok hızlı özel animasyonlar oluşturabilmesi için, Animasyonlar oluşturmak ve düzenlemek için kullanımı kolay bir kullanıcı arayüzüne sahip Java'da bir AnimationCreator uygulaması yazdım. Böylece Sketch + Bluetooth Uygulaması, herhangi bir LED Küp yapılandırması için bir çerçeve sağlar ve Animation Creator ile özel animasyonlar uygulama konusunda endişelenmenize gerek yoktur.
Arduino Sketch ve Bluetooth Uygulamasına Bağlantılar:
RGBCube_Arduino Sketch (Github)+Animation Creator.jar
Cubo Bluetooth Uygulaması (Github)
Küp için parça listesi:
- 216x RGB LED (Ortak Anot) (8mm)(AliExpress / Ebay)-> 6x6x6=216
- Şerit Kablo (1m 40Pin yeterli olmalıdır) (AliExpress / Ebay / Amazon)
- Kadın ve Erkek Başlıklar (her biri en az 4x40pin) (AliExpress / Ebay / Amazon)
- Kalaylı Bakır/Gümüş Tel 0,8 mm (~25 Metre) (AliExpress / Ebay / Amazon)
- Daralan Tüp (AliExpress / Ebay / Amazon)
Kontrol Panoları için parça listesi:
- 7 x TLC5940 LED Sürücü (Ebay / AliExpress)
- 6 x IRF 9540 P-Kanal MOSFET'leri (Amazon / Ebay / AliExpress)
- 8 x 10 uF Kapasitörler (Amazon / Ebay / AliExpress)
- 3 x 1000 uF Kondansatörler (Amazon / Ebay / AliExpress)
- 14x 2.2kOhm Dirençler (Amazon / Ebay / AliExpress)
- 1 x 1kOhm Direnç (Amazon / Ebay / AliExpress)
- 7 x 28pin IC Soketleri (Amazon / Ebay / AliExpress)
- 1 x Arduino Nano (Amazon / Ebay / AliExpress)
- 1 x 1N4001 Diyot (Herhangi bir ortak Diyot) (Amazon / Ebay / AliExpress)
- 8 x 0.1uF Kondansatör (Ebay)
- 1 x DC Jack PCB Montajı (Amazon / Ebay / AliExpress)
- 1 x HC-05 Bluetooth Modülü (Amazon / Ebay / AliExpress)
1. Adım: Teori
Çoğullama ile ilgili teoriyle ilgilenmiyorsanız, gerçek yapının başlangıcı için Adım 2'ye atlayın
Donanım ve yazılım bu projenin eşit derecede büyük parçaları olduğundan, önce teoriye bir göz atalım.
Küpün beyni bir Arduino Nano'dur. Bir HC-05 modülüne ve diğer kontrol donanımına Bluetooth bağlantısı kurmanın yanı sıra, kullanılan LED Sürücüleri ile etkileşim kurmak için yeterli G/Ç sağlar. Diğer LED Küp yapılarına baktıysanız, çoğu kişinin tek tek LED'lerin renklerinin parlaklık değerlerini depolamak için basit Shift kayıtları kullandığını bileceksiniz. Bu yapı, Shift kayıtlarını kullanmaz, bunun yerine "TLC5940" LED Sürücüleri olarak adlandırılır. Daha sonra göreceğimiz gibi, bu bize çok fazla zaman kazandırmanın yanı sıra tonlarca ek donanım (örneğin dirençler) kazandırır.
Küpü kontrol etmenin temel işlevi çoğullamayı kullanır. Bu durumda, küpün 6 katmanını çoğaltıyoruz, yani bir katmandaki tüm LED'lerin tüm Anotları(+) bağlıyken, aynı Sütundaki tüm LED'lerin ayrı Katotları alta doğru bağlanır. Bu, LED'i x=1, y=2, z=3, color: green konumunda yakmak istiyorsanız, Katman 3'ün Anotunda 5V sağlamanız ve GND'yi karşılık gelen Sütunun Katoduna bağlamanız gerektiği anlamına gelir. x=1, y=2'nin Yeşil Pin'i. Yani gerçekte, zamanın bir noktasında, aslında Küpün yalnızca bir katmanı açılır, ancak Kod'da daha sonra göreceğiniz gibi, tek tek Katmanları o kadar hızlı kapatıyoruz ve açıyoruz ki gözümüz tüm küpün açık olduğunu düşünüyor..
Parlaklık, animasyonlar vb. şeyleri kontrol etmek için Arduino Nano'ya bağlı bir HC-05 Bluetooth modülü kullanıyoruz. Modülü Arduino ile kullanmak çok basittir, çünkü sadece 4 Pinli bağlantıya ihtiyacınız vardır ve Arduino'nun varsayılan Seri Haberleşme yoluyla modüle basitçe arayüz kurabilirsiniz. Bu talimatın sonuna doğru, Küpü kontrol etmek için kendi Bluetooth Uygulamanızı yazmanın ne kadar kolay olduğunu göreceksiniz.
NOT
Arduino Devre kartı şematiğimde ayrıca bir MSGEQ7 yongasını Ses Girişini işlemek için arayüzlemek için küçük bir şema görebilirsiniz, bu gerçek küp için kesinlikle gerekli değildir ve eklediğim ek bir işlevdir, bu nedenle işaretli Şemayı görmezden gelebilirsiniz. "MSGEQ7" ile
2. Adım: Donanım: LED Küp Yapısı
Arduino Nano'nun etrafındaki kontrol devresinden bahsetmeden önce, Küp'ün kendisini nasıl oluşturacağımıza bir göz atalım.
Küp Yapısı için Parça Listesi:
- 216x RGB LED (Ortak Anot) (AliExpress / Ebay)-> 6x6x6=216
- Şerit Kablo (1m 40Pin yeterli olmalıdır) (AliExpress / Ebay / Amazon)
- Kadın ve Erkek Başlıklar (en az 4x40pin) (AliExpress / Ebay / Amazon)
- Kalaylı Bakır/Gümüş Tel 0.8mm (~25 Metre) (AliExpress / Ebay / Amazon)
- Daralan Tüp (AliExpress / Ebay / Amazon)
Yapılacak ilk şey ve ben şimdi bu sıkıcı ama gerekli, LED'leri test etmemiz gerekiyor. Bunu yapmak için, basit bir şekilde bir güç kaynağını, örneğin klipsli 9V Pil bloğunu bir devre tahtasına bağlarız. Resim 3'te gördüğünüz gibi LED'lerin en uzun pini Anot (+) olduğu için bu pini pilin +9V'una bağlarsınız. Şimdi GND'yi ayrı renklere bağlamadan önce Katotlar (Kırmızı, Yeşil, Mavi) akımı sınırlamak için her katoda 220Ohm'luk bir direnç ekleyin. Şimdi tüm 216 LED'lerin tüm renklerini test etmenin keyfini çıkarın.
Bir sonraki adımda, test edilen LED'leri daha sonra sütunlar halinde kolayca monte edebilmemiz için hazırlayacağız.
Adım 3: LED Sıraları
LED'leri ilgili sıralarına lehimlemeden önce, uçları büküp kesmemiz gerekir.
İlk resimde görebileceğiniz gibi, bir tahta parçasına basit bir şekilde 8 mm'lik bir delik (8 mm LED'ler için) açtım ve LED deliğinin soluna ve deliğin sağına 3 çok küçük matkap deldim. Bu matkaplar, uçları doğru şekilde bükmek için işaretleyicilerdir ve LED deliğinin ortasından yaklaşık 1 cm'lik bir mesafeye sahip olmalıdır.
Bu teknik Steve Manley'den esinlenmiştir, YouTube'da küçük bir varyasyonda bunu yaptığına dair bir video bulabilirsiniz.
Şekil 2 ve 3'te görüldüğü gibi matkapların etrafındaki uçları kesmeden ve bükmeden önce, uçların yönünün resim 1'e karşılık geldiğinden emin olun (Üstte mavi, sola, sonra yeşil, ardından anot + sağa ve tekrar kırmızı sol). Uçlara büktüğünüz daire, kalaylı bakır tele (0,8 mm) sığacak kadar büyük bir çapa sahip olmalıdır. Bu adım, LED'leri yerinde güzelce lehimlemeyi olağanüstü derecede kolaylaştırır.
Artık tüm LED'ler hazır olduğuna göre, bunları Anotların(+) bağlı olduğu 6'lı sıralar halinde birleştirmek istiyoruz:
- Resim 6'da görüldüğü gibi küçük bir mastar oluşturun, sonraki deliğe 2,5 cm mesafe ile 6 delik (çap 0,8 mm) delin. Bu, bir seferde 6 LED'i jig'e yerleştirmemizi sağlar
- Anotları bağlamak için ~ 16 cm uzunluğunda (biraz fazladan marjlı) düz bir kalaylı bakır tel parçasına ihtiyacımız var. Teli güzel ve düz hale getirmek için telin bir ucunu örneğin bir elektrikli matkaba monte edebilir, bir seferde yaklaşık 2 m kabloyu bir masaya sabitleyebilir, ardından matkabı, tel gergin ve sıkı olacak şekilde tutun ve matkabı çalıştırın. birkaç saniye boyunca teli çok hızlı bir şekilde düzeltir. Ardından kabloyu parçayı sabitlediğiniz yerden kesebilirsiniz. Aynı anda iki pense kullanabilir ve daha küçük tel parçalarını sıkabilirsiniz, ancak bu çok daha sıkıcıdır.
- 16 cm uzunluğunda kablolarınız olduğunda, bunları LED'lerin mastardaki Anot(+) deliklerinden geçirin ve Anot pimlerini kabloya lehimleyin (Resim 7)
Küpün tamamı için bu LED sıralarının 6x6 =36'sına ihtiyacımız olacak
Adım 4: Katman Montajı
Daha önce bahsettiğim gibi, küpün katmanlarını çoğaltacağız, ancak montaj için 6x6 LED'li 6 Duvar inşa etmek ve daha sonra bunları yan yana monte etmek ve sadece anotları bağlayan tek bir kalaylı bakır teli çalıştırmak daha kolaydır. birlikte bir katmanda satırlar.
Bu adımın doğru yapılması için çok zaman ve sabır gerektirdiğine dikkat edin, toplamda yapı için yaklaşık 1000 lehim eklemini lehimlemeniz gerekecek, bu yüzden zaman ayırın!
Bir LED Duvar inşa etmek için:
- Jig için: Bir duvar inşa etmek için 6 sıra üst üste gelecek şekilde 6 oymalı çizgiye sahip bir tahta parçasına ihtiyacımız var. 2. resimde mastarın kendisini görebilirsiniz (sıralar arası mesafe: 2.5cm)
- 3 Katot (R, G, B) yukarı bakacak şekilde, 6 sıra LED'i oymalara, Anot teli aşağı bakacak şekilde oyulmuş çizgiye yerleştirirsiniz.
- Üst üste yerleştirilmiş Katotları bağlamak için (bkz. resim 2) biraz daha kabloya ihtiyacımız var (bu yüzden yine 6 Sütun x 3 Katot x 6 Duvar = son adımda (2.) açıklandığı gibi 108 kalaylı tel parçası (aynı uzunlukta))
- Tel parçalarını bir kolonun altından Katotların deliklerinden üst sıraya kaydırın ve her bir LED'de teli yerinde lehimleyin
6 Duvar LED'i elde etmek için bunu 6 kez yaparsınız.
Artık Duvarları gerçek küpün kendisine monte edebiliriz. Ancak küpü tutmak için bir tür yer düzlemi yapmamız gerekiyor. Bunun için sadece biraz ince kontrplak kullandım ve en düşük LED Sıralarından sarkan telleri takmak için küçük 0,8 mm delikler açtım (6 LED Duvarın tamamı için). Tek bir LED'in deliklerinin ölçümleri Adım 3'te belgelenmiştir ve her bir LED arasındaki mesafe 2,5 cm'dir.
Delikler yerindeyken, şimdi ilk duvarı alıyoruz ve kontrplağın en solundaki deliklere manevra yapıyoruz. Alttaki LED sırası, sonunda tüm Duvarlar aynı hizada olacak şekilde ahşabın üzerine oturmalıdır.
LED Duvarların geri kalanıyla aynı şeyi yapmaya devam edin, ancak Duvarların Anotlarının her zaman aynı yöne baktığını unutmayın. (resim 3'te Duvarların tüm Anotları sola bakar)
Küpün tamamı yerine oturduğunda, her katmanın Anotlarını birlikte lehimlememiz gerekir. Bunu yapmak için ~16cm'lik başka bir düz tel parçası alıyoruz ve ilk katmanın üzerine yerleştiriyoruz, böylece tel bir katmanda 6 duvarın tüm Anot tellerine temas ediyor. Yeni telin Katotlardan hiçbirine değmemesine dikkat edin. Teli yerinde lehimleyin ve kalan 5 katman için aynı şeyi tekrarlayın.
Adım 5: Küp Kablolama
LED Sürücü Kartının Parçaları:
- 7 x TLC5940
- 6/7 x 10 uF Kondansatörler
- 2 x 1000 uF Kondansatör
- 7x 2.2kOhm Dirençler
- 7 x 28pin IC Soketleri
- 7 x 0.1uF Kondansatörler
- Şerit kablo
Kontrol devrelerine geçerek, önce LED Sürücü kartına bir göz atalım. Daha önce de belirtildiği gibi Arduino Nano'ya bağlı 7 TLC5940'a ihtiyacımız var. TLC5940 Çiplerinin tümü papatya dizimi şeklindedir, bu da Sürücülerin tüm kontrol Pinlerinin birbirine bağlı olduğu anlamına gelir (örneğin, birinci TLC'nin BLANK pini, ikinci, üçüncü, dördüncü, … TLC'nin BOŞ pinine bağlanır) ve tümü Arduino ile bağlantılıdır. aynı teller, önce bir Arduino Dijital Pininden ilk TLC'ye bağlanan Seri Giriş hariç, daha sonra bu birinci TLC'nin Seri Çıkış pini ikinci TLC'nin SIN pinine bağlanır ve bu böyle devam eder (bkz. resim 4)…
Dolayısıyla TLC Board'un şeması, ekteki şemada da görebileceğiniz gibi oldukça basittir.
(KURULU AŞINDIRMAK İSTİYORSANIZ, ADIM 8'E ATLAYIN
Ayrıca, pin etiketlerini ve ayrıca ayrılmış her Kontrol Pin bağlantısı için katmanları olan bir GIMP.xcf dosyalarını içeren frizz'deki şemanın bir ekran görüntüsünü ekledim.
Tüm IC soketlerini yerinde lehimleyerek başlayın, ardından her bir TLC'ye 100nF Kondansatörleri, ardından IREF ve GND'ye 2.2kOhm dirençleri ve sağ üst köşedeki 7 pinli Header'ı ekleyerek başlayın. Sürücülerin Seri GİRİŞ/ÇIKIŞ pinlerinin Şerit Kabloları kullanarak nasıl bağlanacağını gösteren Gimp dosyasındaki "SIN katmanı" ile başlayarak, ardından GIMP'de CLK Katmanının etkinleştirilmesi vb. + ve - Pimlerinin pime iyi bağlantılarına sahip olduğunuzdan emin olun Sağ üstteki Başlık Başlığı Şemanın geri kalanı açıklayıcı olmalıdır, ancak panoya yeterince 1000 uF ve 10 uF Kapasitör eklediğinizden emin olun, tam olarak nerede olduğu o kadar alakalı değil onları konumlandırıyorsun.
Bu pano bittiğinde, bir sonraki adımda Arduino Kartına geçebilirsiniz.
Adım 7: Arduino + Bluetooth Kontrol Kartı
Kontrol Panosu Parçaları:
- 6 x IRF 9540 P-Kanal MOSFET'leri
- 1 x 10 uF Kondansatörler
- 1 x 1000 uF Kondansatörler
- 7 x 2.2kOhm Dirençler
- 1 x 1kOhm Direnç
- 2 x 14 Dişi pin Başlık
- 1 x Arduino Nano
- 1 x 1N4001 Diyot
- 1 x 0.1uF Kondansatörler
- 1 x DC Jack PCB Montajı
- 1 x HC-05 Bluetooth Modülü
- 1 x 3.5mm Ses Jakı
Arduino Kontrol Kartı, LED Sürücü kartının pin başlığının karşılığını sağlamanın yanı sıra esas olarak çoğullama ile ilgilenir.
Perfboard üzerinde lehimleme:
- Arduino için soket görevi görecek iki dişi Pin başlığını kartın ortasına yerleştirin.
- 6 MOSFET'i Arduino'nun sağ tarafında (Analog Pinlerin olduğu taraf) yan yana koyun ve her biri ilk ve son pin arasına 2.2kOhm'luk bir direnç ekleyin.
- Şimdi 6 pinli başlığı MOSFET'lerin önüne (sıranın ortasına) yerleştirin ve FET'lerin (orta pin) 6 DRAIN pinini başlığa ve FET'lerin GATE pinlerini (sol pin) ilgili Arduino Analog pinlerine bağlayın..
- Ardından, Arduino'nun diğer tarafındaki LEDDriver bağlantısı için 7pin başlığını lehimleyin, kablolar için biraz boşluk bırakın ve Arduino'dan pin başlığına tüm bağlantıları lehimleyin.
- Olası akım tahliyeleri için bazı kapasitörler (Arduino'nun yanına 1-2 1000uF, 1 10uF, 100nF) ekleyin.
- HC-05 modülü için Arduino'nun arka tarafının yanına 4 pinli bir başlık lehimleyin ve VCC, RX, TX, GND'ye 4 bağlantı yapın ve HC-05'in RX Pininden bir voltaj bölücü yapmayı unutmayın ve Arduino'nun TX Pimi (buraya bakın)
- DC Jakını, yanındaki bir anahtarla kartın herhangi bir kenarına yerleştirin ve anahtarın sağ pinini DC Jakının + Pinine bağlayın.
- Son olarak DC Jakının GND Pininden ve switchin sağ pininden (VCC) Arduino, MOSFET'ler, Kondansatörler ve HC-05'e gerekli tüm Güç bağlantılarını şemada görüldüğü gibi yapın. Diyodu, anahtarın VCC pininden Arduinos 5V pinine akacak şekilde başka şekilde değil, sadece Güç sağlayan Diyot eklemeyi unutmayın. (Bu, Arduino'yu USB bağlantısı üzerinden programlarken korur)
Güç bağlantısı için basit bir anahtarla bir DC Güç Jakı kullandım, isterseniz bir USB Konektörü de kullanabilirsiniz. Güç konektörünü tahta kasama güzel bir şekilde sığdırmak için başka bir küçük devre kartına verdim, ancak doğrudan koyabilirsiniz. Arduino Kartına. İlk adımda belirtildiği gibi, şemada ayrıca bir MSGEQ7 Bağlantı Devresi vardır, ancak bir MSGEQ7 kullanmıyorsanız bunu görmezden gelin. (MSGEQ7 işlevi hakkında daha fazla bilgi için buraya tıklayın)
Arduino kartını Sürücü kartına bağlamak için her iki ucunda erkek pin Başlıklı başka bir 7Pin Şerit Kablo yapmayı unutmayın
Adım 8: İsteğe Bağlı: Devre Kartlarını Aşındırma
Yani çok fazla kablo lehimlemekten hoşlanmıyorsanız, dilerseniz gerekli PCB'leri de aşındırabilirsiniz.
Küpümde Arduino kartı ve Güç/Ses bağlantı kartı, ekli şematik/KARTAL dosyalarını kullanan kazınmış kartlardır. İlk defa şemada bir hata yaptım, bu yüzden son adımda yaptığım gibi LED Sürücü kartını yeniden yapmak zorunda kaldım. Tahtayı perboard kullanmak yerine aşındırmanın çok büyük bir avantajı yoktur, bu nedenle tahtayı aşındırmaktan veya perfboard üzerine lehimlemekten çekinmeyin.
Ekli.zip dosyasında hem BOARD dosyasını hem de ŞEMATİK dosyasını bulabilirsiniz.
Üst katman izlerinin (kırmızı) tel köprüler olması gerektiğine dikkat edin (çünkü evde iki taraflı tahtaları kazıyamam). Yönlendirilmemiş izler, dişi Pin Başlıkları için kablolarla yapılacak bağlantıları gösterir.
Şematik,.pdf şemasının ekran görüntüsünde "(MSGEQ7)" olarak işaretlenmiş şematik bölümünü silerek kolayca çıkarabileceğiniz MSGEQ7 özelliğini içerir.
Adım 9: Küpün Bağlanması
Küpün tüm parçalarını bağlamak için 7pin Kabloyu Arduino Kartına ve Sürücü Kartına takarak başlayın (yönlendirmenin doğru olduğundan emin olun!). Ardından HC05 Modülünü 4 Pin başlığına takın ve ayrılmışsa Güç Kartını bağlayın.
Küpün 7x16 Pin Başlıklarını bağlamak için ilk TLC ile başladığınızdan emin olun (SIN pini doğrudan Arduino'ya bağlı olan). Küpten doğru 16pin Kabloyu bulun ve ilk TLC'nin pin başlığına bağlayın (Katod Nr.0 kablosunun ilk TLC OUT0 Pinine bağlandığından emin olun!). Devam edin ve diğer 16pin Kabloları ilgili TLC başlıklarına doğru sırayla bağlayın.
Son olarak, Küpten gelen Anotlar için 6Pin Kablosunu, MOSFET'lerin yanındaki Kontrol Kartındaki 6Pin başlığına bağlayın.
Küpü bitirmek için kasaya biraz daha kontrplak ve üzerinde siyah boya olan duvarlar ekledim ve yapıştırdım.
Şimdi tüm yapı için gereken tüm donanımları bitirdik!
Adım 10: Yazılım: Çoğullama Döngüsü
Şimdi teoride Arduino sürekli olarak aşağıdaki döngüyü yürütüyor:
- LayerDuration geçtiyse, bir sonraki Katman için Değerleri TLC'lere yükleyin, mevcut Katmanı kapatın, sonraki Katmanı açın, LayerDuration'ı sıfırlayın, yeni Değerleri TLC'lere taahhüt edin
- FrameDuration geçtiyse, tüm LED'ler ve Renkler için değerleri ValueLed arabelleğine depolayarak mevcut Animasyonun yeni Çerçevesini yükleyin, FrameDuration'ı sıfırlayın
- Bluetooth Verileri mevcutsa, bunlara tepki verin (Animasyonları Değiştirin, Parlaklık, …)(daha fazla bilgi daha sonra)
Gördüğünüz gibi kodun ana odak noktası hızdır. Katmanı değiştirme zamanının minimum olması önemlidir.
Katmanları ne kadar hızlı açar/kapatırsanız o kadar çok "Çerçeve" elde edersiniz. Bunun gibi bir 6x6x6 RGB LED Küp için Katman Süresinin 1700 microSec olduğunu anladım. minimumda titremeye devam edecek kadar iyidir ve bu değerde bırakılmalıdır. FrameDuration, Animasyonun hızını daha fazla kontrol eder, böylece farklı Animasyonlar için değiştirilebilir.
Bir sonraki adımda kendi Animasyonlarımızı nasıl yazabileceğimize bakacağız.
11. Adım: Özel Animasyonlar
Bir animasyon uygulamak için, FrameDuration her geçtiğinde bir sonraki Kare için ValueLed arabelleğini istediğimiz Değerlere ayarlamamız gerekir. Bunu Makro fonksiyonunu "AYARLANMIŞ(x, y, z, COLOR, Brightness)" diyerek yapıyoruz.
x, y, z, ayarlamak istediğimiz LED'in koordinatlarıdır ve RENK (KIRMIZI, YEŞİL veya MAVİ) ayarlamak istediğimiz renktir ve Parlaklık, ayarladığımız bu renk için gerçek Değerdir.
Örneğin, tüm küpte basitçe Kırmızı, Yeşil ve Mavi rengi rastgele görüntüleyen bir Animasyon uygulamak için şunu yapabilirsiniz:
void randomLedsFull(){
for (uint8_t j = 0; j < CUBE_SIZE; j++){ for (uint8_t x = 0; x < CUBE_SIZE; x++){ for (uint8_t y = 0; y < CUBE_SIZE; y++){ uint8_t rand = rastgele8(3); AYARLANDI(x, y, j, rand, maxBright); } } } }
Bu yöntem, FrameDuration her geçtiğinde çağrılır ve loop() içindeki switch-case komutundan seçilir. Yeni animasyonlar yazarsanız, bunları anahtar kutusuna ekleyerek ekleyebilirsiniz.
12. Adım: Ek: AnimationCreator
Ayrıca JavaFX ve Java3D kullanarak bir AnimationCreator yazdım.
Anlaşılması kolay bir kullanıcı arayüzü sağlayarak özel Animasyonlar oluşturmayı ve düzenlemeyi çok kolaylaştırır.
4x4x4, 6x6x6 veya 8x8x8 LED Küpler için Animasyonlar oluşturabilir, düzenleyebilir, yeniden adlandırabilir ve yeniden yapılandırabilirsiniz
Yeni bir Animasyon oluşturmak için Dosya>Yeni'ye tıklamanız yeterlidir, "Küp" altında Küp boyutunu seçebilir, LED'in Rengini ayarlamak için soldaki Renk seçici ile istediğiniz rengi seçin ve ardından istediğiniz LED'lere sol tıklayın o Çerçeve için o renk. Başka bir Çerçeve eklemek için "İleri" veya "+" düğmesine basın. UI Kontrollerinin geri kalanı oldukça açıklayıcıdır, Küp Katmanlarının yanındaki onay kutuları, kaydırma ve "Çerçeveyi Koru"dan hangi Katmanların etkilenmesi gerektiğini kontrol eder. Sadece test edin ve hemen her şeyi anlayacaksınız.
Ek olarak, Animasyonu simüle etmek için, Küpün Java3D Modeli ile başka bir pencere açan "3D Görüntüle" Düğmesine tıklayabilirsiniz. Sol fare düğmesini basılı tutarken Kamerayı döndürebilirsiniz (Kamerayı sıfırlamak için R'ye basın). Animasyonu oynatmak/duraklatmak için P tuşuna basın, Q'yu sıfırlamak için Q tuşuna basın. "3D Görüntüle" düğmesinin altındaki Metin Alanı, geçerli FrameTime, animasyonunuzun hızına göre hareket edin.
Animasyonla işiniz bittiğinde ona bir isim verin ve Dosya>Farklı Kaydet…'e basın ve Animasyonu Cubo_Control.ino Sketch ile aynı klasöre kaydedin.
Sizi Sketch'e dahil etmek için Cubo_Control.ino'yu açın ve Sketch'in üstüne aşağıdaki kodu ekleyin:
#include "RGBit.h" //Değiştir
BTEvent()'e ilerleyin ve animasyonların anahtar durumuna case ifadesi ekleyin
switch(curAnim){
… durum 10: animasyon= &ani_cubesmove[0][0]; FRAME_TIME= ANI_CUBESMOVE_FRAMTIME; maxCount= ANI_CUBESMOVE_FRAMES; kırmak; durum 11: //YENİ ANİMASYON animasyonunuz= &ani_rgbit[0][0]; FRAME_TIME= RGBIT_FRAMETIME; maxCount= ANI_RGBIT_FRAMES; kırmak; }
13. Adım: Bluetooth Uygulaması
Küpü gerçekten kontrol etmek için, HC-05 Modülü sayesinde Telefonunuzu Küp'e bağlamak için bir Bluetooth uygulaması oluşturmak oldukça basittir.
Uygulamaya Bağlantı: Github
Uygulama açık kaynaktır, bu nedenle kendiniz ek Animasyonlar/özellikler eklemekten çekinmeyin.
- Uygulamayı başlatın, Bluetooth'u açmanızı ister
- "Ara" yı tıklayın ve mevcut Bluetooth bağlantılarının bir listesi belirir. Küpten HC-05 Modülünü tanımlayın ve üzerine tıklayın.
- Küp'e bağlanmaya çalışırken bir hata oluşursa, Bluetooth ayarlarında HC-05 modülünü manuel olarak eşleştirmeyi deneyin.
- Bağlandıktan sonra Uygulama Kontrol Ekranına geçer ve Bluetooth bağlantısı kurulmuştur.
Kontroller
- Hız ve Parlaklık: Animasyonu hızlandırmak/yavaşlatmak veya parlaklığı değiştirmek için kaydırıcı değerlerini değiştirin
- Animasyonlar: Animasyonu değiştirmek için bir düğmeye tıklayın, varsayılan olarak Animasyonlar döngü halindedir (Sol üstten başlayarak düğme currAnim'e karşılık gelir)
- Metin Kaydırma: Küp boyunca kaydırılacak bazı metinleri girmek için bir iletişim kutusu açan "Metin" düğmesini tıklayın.
- Komut: Command TextField ile komutları manuel olarak girebilirsiniz (sözdizimi için Cubo_Control.ino'nun BTEvent() yöntemine bakın)
- Snake: klasik Snake Game (kırmızı:elma, yeşil:yılan Kafa, mavi:sinsi Kuyruk) (Kontroller: 4 yönlü Düğmeler, Yukarı ve Aşağı, Telefonu ileri (Yukarı) veya geri (Aşağı) çevirerek tetiklenir.
- Ses Görüntüleyici: MSGEQ7, AUX Jakından 6 ses bandını görselleştirmek için kullanılır (Animasyon 7 Düğmesi)
Adım 14: Vitrin
Önerilen:
Covid Güvenlik Kaskı Bölüm 1: Tinkercad Devrelerine Giriş!: 20 Adım (Resimlerle)
Covid Güvenlik Kaskı Bölüm 1: Tinkercad Devrelerine Giriş!: Merhaba dostum! Bu iki bölümlük dizide, devrelerin nasıl çalıştığını öğrenmek için eğlenceli, güçlü ve eğitici bir araç olan Tinkercad Devrelerinin nasıl kullanılacağını öğreneceğiz! Öğrenmenin en iyi yollarından biri yapmaktır. Bu nedenle, önce kendi projemizi tasarlayacağız: th
ESP8266 ve ESP32 Kendin Yap Kullanan Profesyonel Hava İstasyonu: 9 Adım (Resimlerle)
ESP8266 ve ESP32 DIY Kullanan Profesyonel Hava İstasyonu: LineaMeteoStazione, Sensirion'dan profesyonel sensörler ve ayrıca bazı Davis Instrument bileşenleri (Rain Gauge, Anemometer) ile arayüzlenebilen eksiksiz bir meteoroloji istasyonudur
Sıçrama! Su Damlacık Fotoğrafçılığı: 10 Adım (Resimlerle)
Sıçrama! Su Damlacık Fotoğrafçılığı: Bir süredir su damlası çekiyorum…. 2017'den beri. Littlebits ile yaptığım ilk kurulumumda su damlalarının yüzeyden sıçramasıyla ne kadar heyecanlandığımı hala hatırlıyorum… Bunlarla kurulumlar (Mark I ve Mark II) İlham aldım
Nasıl Yapılır: Raspberry PI 4 Headless (VNC) Kurulumu Rpi-imager ve Resimlerle: 7 Adım (Resimlerle)
Nasıl Yapılır: Raspberry PI 4 Headless (VNC) Kurulumu Rpi-imager ve Resimlerle: Bu Rapsberry PI'yi blogumda bir sürü eğlenceli projede kullanmayı planlıyorum. Kontrol etmekten çekinmeyin. Raspberry PI'mi kullanmaya geri dönmek istedim ama yeni konumumda Klavye veya Farem yoktu. Ahududu kurduğumdan beri bir süre geçti
Kolay Adımlar ve Resimlerle Bilgisayar Nasıl Sökülür: 13 Adım (Resimlerle)
Kolay Adımlar ve Resimlerle Bir Bilgisayar Nasıl Sökülür: Bu, bir PC'nin nasıl söküleceği hakkında bir talimattır. Temel bileşenlerin çoğu modülerdir ve kolayca çıkarılabilir. Ancak bu konuda organize olmanız önemlidir. Bu, parçaları kaybetmenize ve aynı zamanda yeniden birleştirmeyi kolaylaştırmaya yardımcı olacaktır