İçindekiler:

Arduino ile LED Şemsiye: 14 Adım (Resimli)
Arduino ile LED Şemsiye: 14 Adım (Resimli)

Video: Arduino ile LED Şemsiye: 14 Adım (Resimli)

Video: Arduino ile LED Şemsiye: 14 Adım (Resimli)
Video: MİKRODENETLEYİCİLER - Ders 7: Arduino ile Led Animasyonu Kodlama ve ISIS'de Simülasyonu 2024, Kasım
Anonim
Arduino ile LED Şemsiye
Arduino ile LED Şemsiye
Arduino ile LED Şemsiye
Arduino ile LED Şemsiye

Arduino ile LED Şemsiye, kendi şemsiyenizin mahremiyetinde kontrol edilebilir, programlanabilir bir LED deneyimi yaratmak için bir şemsiye, 8x10 LED matrisi ve bir Arduino mikro denetleyicisini birleştirir. Bu proje, sockmaster'ın Elektrikli Şemsiye'sinden ve bu sitedeki bir dizi LED matris talimatından, özellikle de barney_1'in bu çok eksiksiz projesinden ilham almıştır.

Şemsiyemi Pezevenk Etmeye hazır olun! Bu projeyi üstlenen herkes standart lehimleme araçlarına - pense, diyagonal kesiciler, tel kesiciler ve striptizciler, havya ve lehim, multimetre - erişebilmeli ve Arduino ile çalışma deneyimine sahip olmalıdır. Arduino kurulumu zor değildir ve bu talimatta LED'lerin birkaç farklı animasyonunu içeren bir program yer almaktadır. Video yolda! Örnek kod (son adıma bakın) da yolda. Sahip olduğum kod, buton anahtarından yararlanmıyor ve şu anda bunun üzerinde çalışıyorum.

Adım 1: Parçalar

Bu proje için çok az parça var ve bunlar çoğunlukla genel. Adafruit Industries, DigiKey, Jameco ve All Electronics gibi birçok çevrimiçi perakendeciden kolayca edinilebilirler. Makul göründüğü gibi değiştirin. Elektronik 1 x Mikrodenetleyici -- Arduino Diecimilia 1 x Şemsiye 1 x MIC2981 -- 8 kanallı, yüksek voltajlı, yüksek akım kaynaklı sürücü dizisi -- 576-1158-ND1 x Arduino için küçük devre tahtasına sahip Protoshield -- Adafruit Industries 80 x LED -- birçok seçenek mümkündür 8 x direnç -- LED seçimine ve kaynak voltajına bağlıdırKablo Bu proje için çok sayıda kablo gereklidir. Şemsiyenin her kaburgasında siyah bir tel (LED'lerin katotları için) vardır ve şemsiyenin etrafındaki her bir LED çemberi, tam uzunlukta bir kırmızı tel gerektirir (LED'lerin anotları için). Bazıları da zincirlerin uçlarını Arduino'ya geri döndürmek için gereklidir. Katot zincirleri için 24 fit siyah tel (kaburgaları merkeze doğru takip edin) Anot halkaları için 70 fit kırmızı tel (şemsiyenin etrafındaki halkalar) Çeşitli Standart erkek başlıklar - Isıyla daralan makaron 1/16 - yaklaşık yedi fit boru gereklidir Dokunsal anahtar -- MomSabırsız …ve lehimleme becerileri LED'lerin matrisi dikkatli bir şekilde oluşturulmalı ve anotlar ve katotlar ısıyla daralan makaronlarla birbirinden yalıtılmalıdır. Bu biraz zaman alabilir.

2. Adım: Sonradan Düşünceler -- Önceden Uyarılmış Olur

Şemsiye En iyi şemsiyenizi kullanmayın! Ya da bir başkasının en iyi şemsiyesi bile. Şemsiye projeye adanmıştır ve LED matrisini çıkarabilseniz de işiniz bittiğinde çıkarmak istemeyeceksiniz. Yerleşim LED'ler şemsiye altında kişiselleştirilebilir bir deneyim sunsalar da özellikle dışarıdan görünür değiller. /şemsiyenin üstünde. LED'leri şemsiyenin dışında isteyip istemediğinizi düşünün. Çok daha görünür olacaklardı ve kurulum çok daha kolay olacaktı. Kabloları Arduino'ya beslemek için kumaşta delikler açmanız gerekir. Bu durumda stil, su geçirmezlikten üstündür. LED'ler Bu şeyi yapmak için çok zaman ayırmadan önce güzel bir renk seçin. LED'ler görünüşte eBay'de kataloglardan daha ucuzdur, bu nedenle seçeneklerinizi keşfedin. Tel Daha küçük ölçülü veya çok telli kablo, muhtemelen AWG xxx tek damarlı kablodan daha iyidir. Sağlam tel kullandım ve şemsiyeyi katlamayı neredeyse imkansız hale getiriyor. Ayrıca anot halkaları için kırmızı kablo kullanmazdım. Daha az görünür olan daha koyu bir renk seçerdim.

Adım 3: Tasarım Konuları

Tasarım Hususları
Tasarım Hususları

Arduino Bu projeyi erişilebilir kılmak için farklı bir Atmel AVR mikrodenetleyici yerine Arduino'yu kullanmayı seçtim. Arduino ile özel bir kart tasarlamaya gerek yoktur ve Arduino platformu ile programlama ve özelleştirme çok daha kolaydır. Arduino'nun tek dezavantajı, büyük olması ve bir şemsiyeye sığmaması. Bununla birlikte, faydalar maliyetlerden daha ağır basmaktadır. Bu proje Arduino Diecimilia'ya dayanıyor ama (bence) pin çıkışları daha yeni sürümlerde aynı. Her durumda, bu projeyi üstlenirseniz, kullandığınız Arduino modelinin durumlarını ve pinlerini net bir şekilde anladığınızdan emin olun. Bu, burada açıklananlar ile yapmanız gerekenler arasında herhangi bir değişikliğin uygulanmasını kolaylaştıracaktır. MIC2981 Micrel'in MIC2981 yongası, 8 LED zincirine güç sağlayabilir. Bu, şemsiyenin etrafında dönen on LED'den oluşan 8 dairesel sıra/halkanın anotlarının MIC2981'e (her sıraya/halkaya güç sağlayan bir pim) bağlı olduğu ve nervürler (sütunlar) boyunca zincirlerdeki LED'lerin katotlarının bağlı olduğu anlamına gelir. Arduino'da bir pin. Bu, bir sıradaki/halkadaki 10 LED'in, onları eşit şekilde aydınlatmak için yeterli akımla aynı anda açık olma olasılığına izin verir. Bu çip şu anda bu projede kullanılmamaktadır. LED halkaları güçlendirmek ve aydınlatmak için kullanmayı planlıyorum. AdaFruit Industries'den Arduino için Proto Shield Bu ön kalkanı küçük bir devre tahtası ile kullandım, böylece Arduino'yu diğer projeler için şemsiyeden ayırabildim. Küçük devre tahtası, bu proje için gereken bağlantılar için yeterli alana sahiptir.

4. Adım: Maket

Model
Model
Model
Model
Model
Model
Model
Model

LED dizisinin nasıl üretilmesi gerektiğini anladığımdan emin olmak için lehimleme ve programlamanın işe yarayıp yaramadığını görmek için 3x3 bir dizi yaptım. Onlar yaptı! Bu yüzden projeye devam etmeye karar verdim. LED dizisini anladığınızdan eminseniz bu adımı atlayın. Aksi takdirde, 3x3 dizisini yapmak ve test etmek için birkaç LED, biraz tel, streç film ve bir saat kadar yatırım yapın. Diziyi oluşturma detayları aşağıdaki adımlardadır ancak maket için geçerlidir.

3x3 LED matrisini oluşturmak için, tam matrisi tanımlayan LED Matrisini Oluşturma adımlarını izleyin ve değiştirin. Model için aşağıdaki örnek kod, MIC2981'den yararlanmıyor (daha önce yazdım:-). Her LED sırayla yanar. Bu, 3x3 dizi için çalışır ancak iyi ölçeklenmez. [Aslında, tam matrise oldukça iyi ölçeklenir ancak LED'ler biraz loştur.]

Adım 5: LED Matrisinin Hazırlanması -- Parçaların Hazırlanması

LED Matrisinin Yapılması -- Parçaların Hazırlanması
LED Matrisinin Yapılması -- Parçaların Hazırlanması
LED Matrisinin Yapılması -- Parçaların Hazırlanması
LED Matrisinin Yapılması -- Parçaların Hazırlanması

LED'ler LED'leri uçlarını bükerek hazırlayın. Aşağıdaki, LED'leri düz kenarları aynı yöne bakacak şekilde yönlendirir. Seçim keyfidir, ancak bir yönelimi standartlaştırmak hata riskini azaltır. LED'i düz tarafı (katot tarafı) sağa dönük olacak şekilde tutun. Katodu kendinize doğru bükün. Bu, katotları toprağa, elektriğin akmak istediği yöne işaret eder:-). LED'in altından yaklaşık 1-2 mm aşağıda bükümü oluşturun. Bu, LED'in telden gurur duymasını sağlayacaktır. Katotlar yerine lehimlendikten sonra anot sola doğru bükülecektir. Bu, lehimleme sırasında karışıklığı önleyecektir. İki uç, katot size ve anot da solunuza bakacak şekilde dik bir açı oluşturmalıdır. Isıyla daralan makaron Her LED için iki adet 1/2" uzunluğunda 1/16" ısıyla daralan makaron kesin. Bu yüz altmış parça ve sadece bunlar için yaklaşık yedi fit gerekiyor. Başlıklar için on sekiz (18) parça daha kesin. Tel Şemsiye üzerindeki nervürlere eşit sayıda siyah tel kesin. Arduino'ya bağlanan başlıkları oluşturmak için yeterli kablo olması için onları kaburgalardan yeterince uzun yapın. Şemsiyenin etrafında dönen 8 LED halkası vardır (bu, MIC2981'deki çıkış pinlerinin sayısıdır), böylece her katot zinciri veya sütunu 8 LED'den oluşacaktır. Kabloları döşeyin ve nervürler boyunca LED'lerin yerlerini işaretleyin. Bu noktadaki boşluk, eşmerkezli halkalar arasındaki mesafeyi belirler. Her noktada küçük bir yalıtım parçası (yaklaşık 3 mm) soyun. İzolasyonu, yaklaşık dörtte bir inç aralıklarla iki yerden tel sıyırıcılarla kesin. Ardından izolasyonu pense ile ezin ve izolasyonu maket bıçağıyla kesin veya parmaklarınızla dışarı çekin. Her açık alana az miktarda lehim koyun. Bu, LED katotlarının bu noktalara lehimlenmesi için hazırlık aşamasındadır.

Adım 6: LED Matrisinin Yapılması -- Katot Zincirleri

LED Matrisinin Yapılması -- Katot Zincirleri
LED Matrisinin Yapılması -- Katot Zincirleri
LED Matrisinin Yapılması -- Katot Zincirleri
LED Matrisinin Yapılması -- Katot Zincirleri
LED Matrisinin Yapılması -- Katot Zincirleri
LED Matrisinin Yapılması -- Katot Zincirleri

LED matrisi oluşturmanın ilk adımı, LED katotları için zincirler oluşturmaktır. Bir önceki adımda on (veya şemsiyenizdeki kaburga sayısı kadar) siyah kabloyu kestiniz ve LED'lerin lehimlendiği noktalarda yalıtımı sıyırdınız. Bu adımda LED'lerin katotlarını lehimleyeceksiniz.

Ütünüzün ucuna küçük bir lehim parçası alın. LED'i, kablo LED'in iki ucu arasından geçecek şekilde konumlandırın ve katodu lehimlemek için sıcak demir uygulayın. Ütü ve tel üzerindeki lehim, bağlantı yapmak için akmalıdır. Parmağınızı yakacaksınız ve sizi büyüleyecekler. Lehimlemeden sonra anodu mümkün olduğunca kısa olacak şekilde kesin. Kısa devreleri önlemek için, her lehim bağlantısı bir parça ısıyla daralan makaron ile kaplanmıştır. Boru, bir bağlantı yapıldıktan sonra ve bir sonraki LED eklenmeden önce uygulanmalıdır (herhangi bir karışıklık var mı? Yakında anlayacaksınız:-) bu yüzden şimdi bir parça kaydırın. Yerine küçültmek için ısı. Zincirdeki kalan LED'ler ve kalan zincirler için tekrarlayın. Not Bu talimatta, şemsiyenin nervürlerini takip eden LED zincirlerine sütunlar denir ve her biri Arduino'nun bir piminde sona erer. LED katotları bu (siyah) tellere lehimlenmiştir. Şemsiyenin etrafında dönen LED halkalarına sıralar denir ve her biri MIC2981 çıkış pinlerinden birinde başlar. LED anotları bu (kırmızı) tellere lehimlenmiştir.

Adım 7: LED Matrisinin Yapılması -- Anot Halkaları

LED Matrisinin Yapılması -- Anot Halkaları
LED Matrisinin Yapılması -- Anot Halkaları
LED Matrisinin Yapılması -- Anot Halkaları
LED Matrisinin Yapılması -- Anot Halkaları
LED Matrisinin Yapılması -- Anot Halkaları
LED Matrisinin Yapılması -- Anot Halkaları
LED Matrisinin Yapılması -- Anot Halkaları
LED Matrisinin Yapılması -- Anot Halkaları

Bu adım en uzun ve en sinir bozucu olanıdır. Birkaç gün boyunca veya yemek odası masasını devralabildiğiniz sürece çalışın.

LED matrisi, katot zincirleri üzerindeki LED'lerin anotlarının kırmızı tellerin dairesel sıralarına/halkalarına lehimlenmesiyle tamamlanır. Bu aşamadaki ölçüm, katot zincirlerinden biraz daha karmaşıktır çünkü her halka farklı bir yarıçapa sahiptir ve her halka için LED aralığı farklıdır. Her halkanın şemsiyeye düştüğü yeri bularak doğru uzunluğu hesaplayın ve şemsiyenin kaburgaları arasındaki mesafeyi ölçün. Bu ölçümü ayrıca halka üzerindeki aralığı belirlemek için de kullanacaksınız. Bu mesafeyi kaburga sayısıyla çarpın ve ardından dönüşün uzunluğunu hesaplayın. Her halkanın Arduino'ya bir dönüşü olması gerekir. En dıştaki halka en uzun dönüşe sahiptir ve halkalar küçüldükçe dönüşler giderek kısalır. Uygun uzunlukta sekiz (8) parça kırmızı tel kesin. Önceki adımda olduğu gibi, kabloları doğru aralıklarla işaretleyin, yalıtımı ezin ve çıkarın ve her açıklığa biraz lehim koyun. Katot zincirleri kırmızı tellerin üzerine oturur (bu nedenle LED kablosundaki bükülme biraz daha düşüktür). Daha önce olduğu gibi lehimleyin ve bir sonraki zincire geçmeden önce her bir bağlantının üzerine ısıyla daralan makaronu yerleştirin. LED kablolarını stres ve kırılmaya karşı korumak için kabloları bu bağlantı noktalarında sıcak tutkalla yapıştırın. Bu son derece önemlidir, çünkü matrisin şemsiye içinde çalışması eklemlere önemli miktarda baskı uygular. Bu adımın sonunda, dairenin ortasına geri gelen iki kablo seti (bir siyah, bir kırmızı) ile dairesel bir LED dizisine sahip olmalısınız. Bir sonraki adımda bu kabloları Arduino ve sürücüye bağlamak için pin başlıkları yapacaksınız.

Adım 8: LED Matrisinin Yapılması -- Tamamlanmış Matris

LED Matrisinin Yapılması -- Tamamlanmış Matris
LED Matrisinin Yapılması -- Tamamlanmış Matris

Bu noktada tamamlanmış bir LED matrisiniz olmalıdır. Katotlar siyah tellere, anotlar kırmızıya lehimlenmiştir. Şemsiye şeklinde olmalıdır. Muhtemelen parmaklarınız yanmıştır. Ailen senin deli olduğunu düşünüyor.

Mockup versiyonu aşağıda gösterilmiştir. Tam sürüm en iyi ihtimalle hantal ve fotoğraf çekmeyi bırakmadım. Bitmiş LED matrisini görmek için matrisin takılı olduğu şemsiye resimlerine bakın.

Adım 9: LED Matrisinin Yapılması -- Pin Başlıkları ve Dirençler

LED Matrisinin Yapılması -- Pin Başlıkları ve Dirençler
LED Matrisinin Yapılması -- Pin Başlıkları ve Dirençler

Kırmızı ve siyah kabloları uzunlamasına kesmeden önce Arduino'yu şemsiyeye nereye ve nasıl bağlayacağınızı belirleyin. Üst kısımdaki açık alana sığmalıdır. Bir kez belirlendikten sonra, kabloları uzunlukta kesin ve bunları başlıklara lehimleyin.

Isıyla daralan makaron parçalarını sekiz kırmızı kablonun üzerine kaydırın, bunları 8 pimli bir başlığa lehimleyin ve boruyu ısıyla daralan makaronlara lehimleyin. Bağlantıları mantıklı bir şekilde yaptığınızdan emin olun. En küçük iç halkayı 1. sıra olarak kabul ediyorum, böylece başlıktaki pim 1'e ve MIC2981'deki uygun pime takılır. Bir hata yaparsanız, kabloları yeniden lehimleyebilir veya kodda düzeltebilirsiniz. Hata yapma. [Anot kablolarını bir araya topladım ve mantıksal sırayı çözemeyecek kadar tembeldim. Kodda kontrol etmek kadar kolay olduğu ortaya çıktı. Programlama bölümündeki notlara bakın.] Benzer şekilde katot zincirleri için başlıklar yapın. Ancak bu sefer Arduino'daki pin konumları iki başlık yapmanızı gerektiriyor. Ayrıca tek bir direnci hatta lehimlemeniz gerekir. Direnç, LED'e ve voltaja bağlıdır - uygun değer için çevrimiçi bir LED direnç hesaplayıcısına başvurun. Her başlığın beş (5) pimi olmalıdır. Bağlantıları mantıklı bir şekilde yaptığınızdan emin olun. Bükülme ve gerilime maruz kalacağından bağlantıları sıcak tutkalla yapıştırın. Aşağıdaki resim makettendir.

Adım 10: Programları Değiştirmek için Buton Anahtarı

Programları Değiştirmek için Buton Anahtarı
Programları Değiştirmek için Buton Anahtarı

Buton anahtarı, programlar arasında geçiş yapmak için kullanılır. Program numarasını ilerleten Arduino'da bir kesmeyi tetikler. Arduino Diecimilia'da (ve diğerleri; sürümünüzü kontrol edin), AttachInterrupt(interrupt, function, mode) işlevini kullanarak 2 ve 3 numaralı dijital pinlerde etkinleştirilebilen iki harici kesmeye sahiptir. Basmalı düğme anahtarı için dijital pim 3'ü ayırın. Bu, 0, 1 ve 2 ile 4, 5, 6, 7, 8 dijital pinlerini anot pinleri için bloklar olarak bırakır.

Kesinti, pin 3 düştüğünde tetiklenecek şekilde ayarlanır. Bu nedenle, pimin alçaldığı düğmeye basılana kadar yüksek tutulmalıdır. Bu, pimi yüksek tutmak için 10K'lık bir çekme direnci gerektirir. Breadboard görüntüsüne bakın ve pull-up ve pull-down dirençleri hakkında bilgi edinin.

Adım 11: Breadboarding

Breadboarding
Breadboarding

Bu proje, Adafruit Industries'in Protoshield'ini küçük bir devre tahtası ile kullanıyor (ancak şemsiyeye uyan herhangi bir kurulum çalışması gerekir). Küçük devre tahtasında on yedi (17) satır var ve bu proje hepsini kullanıyor! Gösterilen devre tahtasının MIC2981'i içermediğini unutmayın. bende yok Henüz. Şemsiye onsuz yeterince iyi çalışıyor, bir tane almadan önce bu talimatı yazmaya karar verdim.

Birçok farklı konfigürasyon mümkündür, bu yüzden bunu bir kılavuz olarak kullanın. Ancak basmalı düğmenin konumuna dikkat edin. Arduino'daki iki pim (kolayca) kesintiler olarak yapılandırılabilir ve buton anahtarının bunlardan birine bağlanması gerekir. Aşağıdaki resim MIC2981 çipi OLMADAN. Parçayı aldığımda bir resim yükleyeceğim ve breadboard'u buna göre değiştireceğim.

Adım 12: LED Matrisinin Test Edilmesi

Bu muhtemelen test etmeyi düşünmek için oyunda geç, ancak çok geç olmaktan iyidir. LED matrisini şemsiyeye takmadan önce (sonraki adım), matrisi Arduino'ya bağlayın ve aşağıda bulunan test kodunu çalıştırın. Kod sadece her LED'den geçer ve onu test eder. Herhangi bir bağlantı kötüyse veya LED'ler bozuksa, her şey erişilebilirken şimdi düzeltin.

Bu aynı zamanda hangi pinin hangi satır veya sütuna karşılık geldiğini belirleme zamanıdır. Pin başlıklarını yaparken dikkatli olursanız zaten bilirsiniz. Aksi takdirde, animasyonu yavaşlatarak ve hangi satırı veya sütunu hangi pinin kontrol ettiğini belirleyerek çözmeniz gerekecektir. Pin numaralarını doğru sırada içeren kodda bir dizi ayarladınız.

Adım 13: Şemsiyedeki LED'lerin Montajı

LED'lerin Şemsiyeye Montajı
LED'lerin Şemsiyeye Montajı

LED matrisi tamamlandı ve pin başlıkları ve dirençler yerindeyken, montajı bitirmenin zamanı geldi. LED matrisi, şemsiyenin kumaşı ile nervürler arasına yerleştirilmelidir. Bir şemsiyenin kumaşı, kaburgaların üzerine gerilir ve tipik olarak her bir kaburga için tek bir yerde dikilir. Bu, tüm LED matrisi nervürler ve kumaş arasında kaydırılmadan önce kesilmelidir. LED matrisini konumlandırdıktan sonra kestiğinizi yeniden dikin. Bu, matrisi şemsiyeye sabitleyecektir. LED'leri çıkarmak isteyebileceğinizi düşünüyorsanız yeniden dikmeyin. Nedenini hayal edemiyorum.

Bu çok zaman alan bir süreçtir. LED uçlarını henüz sıcak yapıştırmadıysanız, şimdi yapın. Bunu yapmazsanız, kurulum sırasında kesinlikle birkaç LED kıracaksınız. İki sandalye arasında asılı bir süpürge çubuğundan sarkan şemsiye ile çalıştım (resim yok:-). Şemsiye yerçekimi ile açık tutuldu ve kumaş gergin değildi. dolaşabiliyordum. Kaburgalardan birinin altına tam bir sütun kaydırarak başlayın. Onu ve bir sonraki sütunu ilerletin. Tekrarlamak. Bu sıkıcı bir süreçtir. Sonunda LED'leri yerleştirdiğinizde, nervürlerin ısıyla daralan makaron üzerinde durduğundan emin olun. Bu, aşınma olasılığını en aza indirecektir. Şemsiye iyi kapanmıyor. Sanırım bundan daha önce bahsetmeliydim. Bunu henüz yapmamış olmama rağmen, LED'lerin etrafına ve onları yerinde tutmak için kumaşın dikişine birkaç ilmek dikeceğim. Panellerin dikişlerine dikkatlice bakın ve içine dikebileceğiniz bir miktar malzeme göreceksiniz.

Önerilen: