İçindekiler:

42 RGB LED Piksel Sanat Boyama: 5 Adım
42 RGB LED Piksel Sanat Boyama: 5 Adım

Video: 42 RGB LED Piksel Sanat Boyama: 5 Adım

Video: 42 RGB LED Piksel Sanat Boyama: 5 Adım
Video: /ARKADAŞLAR AÇIKLAMAYA BAKIN/sanırım anti oldum [naber youtube]#kpop#itzy #short# #blackpink #keşfet 2024, Temmuz
Anonim
42 RGB LED Piksel Sanat Boyama
42 RGB LED Piksel Sanat Boyama

Merhaba, Bu yüzden "Eğer öyleyse" adlı bir okul ödevi için Arduino Uno başlangıç setini (ve kendilerinin almak istediği her şeyi) kullanarak etkileşimli bir //bir şey// yapmak zorunda kaldım. Bir Sanat/Teknoloji çalışması yaptığım için ikisini de (sanat ve teknoloji) bir arada yapmak istedim. Arduino'ma sığabileceğim kadar çok RGB LED'den oluşan bir resim yapacağımı ve oyuncunun/sanatçının bu RGB LED'ler arasında manuel olarak geçiş yapmasına ve bir renk seçmesine izin vereceğimi düşündüm. Bu şekilde kendi "piksel sanatlarını" yapabilirler!

Adım 1: Bazı Arka Plan Bilgileri ve Teorisi

Tamam öyleyse, çalıların etrafında dolanmayalım. Bu projeyi hayata geçirmek istiyorsanız: Zor. Ne yapacağımı bulmam/öğrenmem saatler sürdü ve hatta bunu gerçekten başarmak için daha da fazlası, ama gerçekten çok küçük "resimler" oluşturabilen, içi dolu bir kutu istiyorsanız, size nasıl yapılacağını öğreteceğim.

Yani, önce ilk şeyler. Arduino'muzda mümkün olduğunca çok sayıda LED/RGB LED istiyoruz. Ne kadar çok (RGB)LED bağlarsanız, o kadar ayrıntılı "resim" yapabilirsiniz (10x10 piksel size 2x2 sağa göre daha fazla hareket alanı sağlar). Sanırım 13 dijital pininizde (bir vardiya kaydı gibi şeyler) çok fazla (RGB) LED elde etmenin daha fazla yolu var ama "Charlieplexing" adlı bir yöntem kullandım. Bu kavramı anlamama yardımcı olan bir talimatla bağlantı kuracağım (cidden bunu gerçekten iyi açıklıyorlar), ancak size burada hızlı sürümü de vereceğim. Charlieplexing şu şekildedir:

Pin 1 ve pin 2 arasına bir LED koyarsanız, pin 1'i YÜKSEK ve 2'yi DÜŞÜK olarak ayarlarsanız daire düzgün çalışır ve LED yanar. Temel bilgiler. Eh, şimdi başka bir LED takıyorsunuz, ancak ters döndünüz. Uzun uç 2'de ve kısa uç pin1'de. Şimdi pim 2'yi YÜKSEK'e ve pim 1'i DÜŞÜK'e çevirirseniz, 2. LED'iniz yanacak ve akış yanlış olacağı için ilkiniz kapalı kalacaktır. Artık 2 pine 2 LED takabilirsiniz. Karışımda 3. pini alırsak bu hileyi 1 ile 2, 1 ile 3 ve 2 ile 3 arasında yapabilirsiniz. Bu 6 led demektir. Bu devam ederse 5 pin bize (2+4+6+8) 20 led verecektir. 13 dijital pinin tamamını kullanmak bize 156 seçenek sunar. Bu, ayrı ayrı açıp kapatabileceğiniz 156 LED'dir.

(tamam, merak edenler için. Evet, çok şeyiniz olduğunda, aynı anda bazılarının olması imkansız, ama endişelenmeyin, arduino, LED'leriniz arasında o kadar hızlı geçiş yapabilir ki, insan gözü titremeyi göremez)

(Resimlerle daha iyi ve daha ayrıntılı açıklama)

Pekala, iş kablolamaya gelince (buna daha sonra değineceğim) çok çaba sarf ederek, epeyce bir LED ızgarası yapabiliriz, ama bununla yüzleşelim. LED'ler çok sıkıcı. Sadece 2 renkle nasıl resim yapılır? Sanırım yapabilirsin, ama seçebileceğin daha fazla renk varsa çok daha havalı değil mi? sağ. Yani RGB LED'lere dönüyoruz!

RGB LED'ler temel olarak 1'de 3 LED'dir. Ortak bir katot veya anot (gücün girdiği veya çıktığı yer) paylaşırlar ve diğer 3 "bacaklar" Kırmızı Yeşil ve Mavi LED'inizdir. Bunu akılda tutarak, evet onları da charlieplex yapabiliriz! Her RGB LED, 3 normal LED için sayılır. Bu şekilde hepsini ayrı ayrı açıp kapatabilir ve aralarından seçim yapabileceğiniz harika renkler oluşturabilirsiniz! Tek dezavantajı, başlangıçta yapmanız gerekenden 3 kat daha fazla LED'i eşleştirmeniz/planlamanız ve kablolamanız gerektiğinden, bunun işleri çok daha zor hale getirmesidir.

13 pimde 42 RGB LED'e gittim. Bu 126 normal LED….. oldukça fazla. Nasıl yaptığımı anlatayım.

2. Adım: Planlama

Planlama
Planlama

Evet, yaptığınız şeyin arkasındaki teoriyi anladıktan sonra bu adım oldukça kolaydır. Temel olarak tüm LED'lerinizi yazarsınız ve hangi pimin hangi RGB LED'in hangi "bacağına" gitmesi gerektiğini planlarsınız, böylece tüm seçeneklerinizi kapsarsınız. Planlamamın bir resmini ekledim, onu da kullanmaktan çekinmeyin (mevcut tüm seçenekleri kullanmadım, çünkü 156'dan "yalnızca" 126 bağlantıya ihtiyacım vardı. Bu şekilde yapılandırdım çünkü inşaatı biraz daha yapılabilir hale getirecekti.).

Bunu kağıda dökmek önemlidir, daha sonra kodlamak için ihtiyacınız olacak. Bunu yazmazsanız ve 1 bağlantıyı bozarsanız, kod o LED için çalışmayacaktır.

Adım 3: Kod

Tamam, eğer 2 RGB LED'i bunun gibi 2 pime nasıl bağlayacağınız konusunda bir fikriniz varsa: Devam edin! Kodu kontrol etmek güzel, ama sizi temin ederim ki işe yarıyor! Mümkün olduğu kadar çok "temiz" kodlama yapmaya çalıştım (Bunu anahtarlardaki anahtarlarla da yönetebilirsiniz, ancak bu, tüm kodunuzu x42 yazmanız için korkunç bir güçlüktür, muhtemelen daha iyi olduğunu anlamamı sağladı. yol).

Kodun amacı aşağıdaki gibidir. LED1'de başlarsınız. Düğme 1, bir sonraki LED'e geçmenizi sağlar, ancak önceki LED'iniz açık kalır. Button2 önceki LED'e geri dönmenizi sağlar, düğme 3 rengi değiştirmenizi sağlar. Hangi LED'in "seçildiğini" görebilmeniz için mevcut seçili LED yanıp söner.

Bunu başarmak için dizilerle çalıştım. Belirli bir rengi oluşturmak için hangi pinin gerekli olduğunu görmek için planlama aşamasında yazdığınız bilgileri kullanan bir LED sınıfı oluşturdum. Hepsini bir diziye koydum ve arduino'nun hangisinin açık olduğunu belirlemek için LEDarray'den geçmesine ve hangi rengin seçildiğini belirlemek için colorarray'den geçmesine izin verdim (renk, 7 rengin seçilmesine izin veren anahtar tarafından belirlenir). Yanıp sönme bir if ifadesi ile düzenlenir.

Kod ektedir, indirmekten ve kullanmaktan çekinmeyin. Anlamadığınız bir şey varsa yorum bölümü sorularınız için açıktır, ancak temelde kopyala yapıştır yapabilirsiniz!

4. Adım: En Zor Kısım

En zor kısım
En zor kısım
En zor kısım
En zor kısım

Artık bir fikriniz, çalışan bir kodunuz var….sadece gerçek ürün değil. Bu, bu projenin açık ara en korkunç kısmı ve bunu hafife almamanızı tavsiye ederim. Hepsi aynı iğnede biten tüm o farklı bacakları hatırlıyor musun? peki evet… LED ızgaranızı yapmalısınız, ardından her ayağı aynı pime gitmesi gereken diğer tüm bacaklara bağlamalısınız ve sonra bunları söz konusu pime bağlamalısınız. Bu açık ara en zor kısım ve benimki de %100 mükemmel çıkmadı, eğer lehimlemede iyiysen bir şansın olabilir.

Bir seferde bir dizi RGB LED yerleştirdim ve her bir bacağa bir bakır tel bağladım (kaplamalı/sargılı bakır tel öneririm. Benimki çok kalındı ve bu beni çok üzdü). İki bacağın veya telin birbirine değmemesine dikkat edin! daha sonra aynı pine gitmesi gereken tüm kabloları "basitçe" bağlayın ve ardından bunları bir dirence bağlayın ve bunu söz konusu pime bağlayın. Eminim bunu yapmanın "daha güvenli" bir yolu vardır, ama eminim ki biri denerken ve dürüstçe kabloda boğulur…. Breadboard'unuz sadece çok büyük!

(Bu adımı basitleştirebilecek bir çizim ekledim. Kodumu tam olarak takip etmek için hangi bacağın hangi pine gitmesi gerektiğini söylüyor.)

4 tam gün çalışmamı aldı, ancak şimdi her LED (becerdiğim eksi 3-4) ayrı ayrı açılabiliyor!

o zaman sadece bazı düğmeleri bağlamanız ve presto yapmanız gerekir! Kendi Piksel Sanat Resminiz!

Bu adam ayrıca bir kablolama örneği yaptı, gerçekten yardımcı oldu

Adım 5: Gloat. Kesinlikle Gloat

Eğer bir başlangıç (benim gibi) iseniz ve bu farelerin tel yuvasına benzer bir şey yapmayı başardıysanız ve açılırsa; böbürlenmek. Gerçekten iyi yaptın!

Herhangi bir sorunuz/yorumunuz varsa aşağıya bırakın, elimden geldiğince yardım etmeye çalışacağım!

Önerilen: