İçindekiler:

HALO: Handy Arduino Lamp Rev1.0 W/NeoPixels: 9 Adım (Resimlerle)
HALO: Handy Arduino Lamp Rev1.0 W/NeoPixels: 9 Adım (Resimlerle)

Video: HALO: Handy Arduino Lamp Rev1.0 W/NeoPixels: 9 Adım (Resimlerle)

Video: HALO: Handy Arduino Lamp Rev1.0 W/NeoPixels: 9 Adım (Resimlerle)
Video: DIY HALO Lamp Rev1.0 - Powered by Arduino Nano, 15+ Color Modes 2024, Haziran
Anonim
Image
Image
HALO: Kullanışlı Arduino Lambası Rev1.0 W/NeoPixels
HALO: Kullanışlı Arduino Lambası Rev1.0 W/NeoPixels
HALO: Kullanışlı Arduino Lambası Rev1.0 W/NeoPixels
HALO: Kullanışlı Arduino Lambası Rev1.0 W/NeoPixels

Bu talimatta size HALO veya Handy Arduino Lamp Rev1.0'ın nasıl oluşturulacağını göstereceğim.

HALO, Arduino Nano tarafından desteklenen basit bir lambadır. Yaklaşık 2" x 3" toplam ayak izine ve aşırı stabilite için ağırlıklı bir ahşap tabana sahiptir. Esnek boyun ve 12 süper parlak NeoPixel, herhangi bir yüzeydeki her ayrıntıyı kolayca aydınlatmasını sağlar. HALO, 15'i önceden programlanmış farklı ışık modları arasında geçiş yapmak için iki basmalı düğmeye sahiptir. Arduino Nano'nun işlemci olarak kullanılması nedeniyle, onu ek özelliklerle yeniden programlamanız mümkün. Tek potansiyometre, bir modun görüntülendiği parlaklığı ve/veya hızı ayarlamak için kullanılır. Basit bir metal yapı, HALO'yu her atölyede kullanıma uygun, çok dayanıklı bir lamba yapar. Kullanım kolaylığı, Nano'nun yerleşik güç regülatörü ile birleştirilir, bu nedenle HALO, USB veya arkadaki standart 5 mm namlu jakı ile çalıştırılabilir.

Yakın gelecekte bu lambaları kullanan birçok insan görmeyi umuyorum, çünkü bu tasarımla açılan pek çok olasılık var. Bunu beğendiyseniz veya bir şekilde faydalı bulduysanız lütfen Mikrodenetleyici Yarışması'nda bir oy bırakın, gerçekten minnettar olurum.

Bu Eğitilebilir Yazıya girmeden önce, tüm takipçilerime ve projelerimden herhangi birine yorum yapan, favorilerine ekleyen veya oy veren herkese kısa bir teşekkür etmek istiyorum. Sizlerin sayesinde, Cardboard talimatım büyük bir başarıya ulaştı ve şimdi bunu yazarken 100'e yakın takipçiye ulaştığımı, bence büyük bir dönüm noktasıyım. Ible'ımı koyduğumda sizden aldığım tüm desteği gerçekten takdir ediyorum ve söz konusu olduğunda, siz olmadan bugün olduğum yerde olmazdım. Bununla birlikte, herkese teşekkürler!

NOT: Bu Eğitilebilir Kitap boyunca kalın harflerle ifadeler vardır. Bunlar her adımın önemli kısımlarıdır ve göz ardı edilmemelidir. Bu bağıran ya da kasıtlı olarak kaba davranan ben değilim, sadece yapılması gerekeni daha iyi vurgulamak için yeni bir yazma tekniği deniyorum. Beğenmediyseniz ve daha önce adımlarımı nasıl yazdığımı tercih ederseniz, yorumlarda bana bildirin, eski stilime geri döneyim.

Adım 1: Materyal Toplama

Toplama Malzemeleri
Toplama Malzemeleri
Toplama Malzemeleri
Toplama Malzemeleri
Toplama Malzemeleri
Toplama Malzemeleri
Toplama Malzemeleri
Toplama Malzemeleri

Daha kaç kere söylemem gerekiyor? Her zaman ihtiyacınız olana sahip olun ve sonuna kadar bir şeyler inşa edebilmeniz garantilidir.

Not: Bunlardan bazıları bağlı kuruluş bağlantılarıdır ("al" olarak işaretlenmiştir), bunları satın alırsanız, size hiçbir ek ücret ödemeden küçük bir komisyon alacağım. Bağlantılar aracılığıyla satın alırsanız teşekkür ederiz

Parçalar:

1x Arduino Nano Nano - al

1x 10k Döner Potansiyometre 5'li paket 10k Potansiyometre - al

1x 5mm namlu jakı (benimki kızarmış Arduino Uno'dan geri dönüştürülmüştür) Dişi Namlu Jack (5 paket) - al

2x 2 pimli anlık butonlar 10'lu paket SPST Buton Anahtarı - al

60 LED/metrelik bir şeritten 12x NeoPiksel (herhangi bir eşdeğeri, örneğin WS2812B, çalışacaktır) Adafruit NeoPixels

0,5 mm Alüminyum levha

Eski bir esnek çakmaktan esnek boyun

"Yapıştır ve Tıkla" LED kabin lambasından üst kapak halkası LED Kabin Işığı - al

Küçük bir 1/4 inç Kontrplak levha

Ağır, yassı bir metal ağırlığı (kabaca) 1,5" x 2,5" x 0,25"

Telli çekirdek elektrik teli

Aletler:

Sıcak Tutkal Tabancası ve Tutkal

Havya ve Lehim

Akülü elektrikli matkap ve çeşitli küçük büküm uçları

X-acto bıçağı (veya maket bıçağı)

Tel striptizci

pense

Tel kesiciler/snips

Ağır Hizmet Makasları

Düz metal ağırlığınız yoksa, şunlara da ihtiyacınız vardır:

1 rulo ucuz lehim (lehim için kullanacağınız şeyler değil) Ucuz Kurşunsuz Lehim

Alkol Mumu (veya Bunsen brülörü)

Küçük bir sertleştirilmiş çelik tabak, mahvetmenize gerek yok (ya da varsa küçük bir pota)

Söz konusu çanak/pota için bir tripod (benimkini 12 gauge çelik telden yaptım)

Bir kil bitki tabağı (tencerenin altına giren şeylerden biri)

Biraz alüminyum folyo

NOT: Bir kaynak kitiniz veya bir 3D yazıcınız varsa, burada listelenen tüm araçlara ihtiyacınız olmayabilir.

Adım 2: Ağırlığı Yapmak

Ağırlık Yapmak
Ağırlık Yapmak
Ağırlık Yapmak
Ağırlık Yapmak
Ağırlık Yapmak
Ağırlık Yapmak

Bu oldukça zor bir adımdır ve bunu yaparken çok dikkatli olmalısınız. Ağır bir metal ağırlığınız veya yaklaşık 2,75" x 1,75" x 0,25" düz bir neodimyum mıknatısınız varsa, bunun yerine bunu kullanmanızı öneririm (ve mıknatıs, lambayı metal yüzeylerde yanlara yerleştirmenize bile izin verir!).

Feragatname: Sizin tarafınızdan herhangi bir yaralanmadan sorumlu değilim, bu yüzden lütfen sağduyunuzu kullanın

Ayrıca, bunu biraz kavrulsa umursamayacağınız beton bir yüzeyin dışında yapın (bu sadece bir önlemdir). Bu işlem için hiç fotoğrafım yok çünkü bir kamera, ihtiyacım olmayan veya istemediğim ekstra bir dikkat dağıtıcı olurdu.

İlk olarak, alüminyum folyodan veya ıslak kilden, iç boyutları yaklaşık 2 3/4 inç x 1 3/4 inç x 1/4 inç olacak şekilde küçük bir kalıp yapın. Benimki gibi oval bir şekil veya bir dikdörtgen olabilir. Birden fazla folyo katmanı veya kalın kil katmanları kullanın.

Kalıbı seramik bitki tabağına yerleştirin ve hem kalıbı hem de tepsiyi soğuk suyla doldurun.

Yanmayan alkollü mum/bunsen brülörünüzü alın ve çelik kabı/potayı üçayak üzerine yerleştirin, böylece alev, tabağın ortasını ısıtır (yandığında). Brülörü yakmadan önce, elinizde değilse en az 1 çift pense veya metal işleme maşası olduğundan emin olun.

Sonraki birkaç adımı yaparken deri eldiven, uzun kollu, uzun pantolon, kapalı ayakkabı ve göz koruması takmak iyi bir fikirdir

Bobini sarın ve makaradan bir demet ucuz lehimi ayırın ve çelik tabağa yerleştirin, ardından brülörü yakın. Bobin tamamen eriyene kadar bekleyin, ardından lehimin geri kalanını tabağa orta hızda beslemeye başlayın. Lehimin içinde reçine varsa, bu ısıda kendiliğinden yanarak uçuk sarı bir alev ve siyah duman üretebilir. Endişelenme, bu benim başıma defalarca geldi ve tamamen normal.

Son eriyene kadar lehimi tabağa beslemeye devam edin.

Yanan reçineden kaynaklanan alevlerin tamamen sönmesine izin verin ve çanağı tutmak için pense/maşa kullanın ve erimiş metali dikkatlice alevin içinde tutarken yavaşça döndürün.

Tüm lehimin tamamen sıvılaştığından ve iyi bir sıcaklıkta olduğundan emin olduktan sonra, hızlı ve dikkatli bir şekilde alevden çıkarın ve kalıba dökün. Suyun bir kısmı buharlaşıp geri kalanı erimiş lehim ile değiştirilmek üzere kalıptan dışarı çıkarken yüksek bir tıslama sesi ve buhar olacaktır.

Lehimi soğumaya bırakın, brülörü kapatın/mumu üfleyin ve çelik kabı soğuması için güvenli bir yere koyun. Soğutmayı hızlandırmak ve daha da sertleştirmek için soğutma lehiminin üzerine soğuk su dökmek isteyebilirsiniz. (Soğuk su, dışını içeriden daha hızlı soğutur, bu da metali Prince Rupert's Drop'a benzer şekilde daha sert ve sert yapan bir iç gerilim yaratır.) Metal tabağınızın üzerine su da akıtabilirsiniz, ancak bu onun kırılgan hale gelmesine neden olur., özellikle birden çok kez yapılırsa.

Lehim tamamen soğuduktan sonra (güvenli olması için yaklaşık 20 dakika), folyo kalıbından çıkarın.

Benimki bir tarafta diğerinden daha kalın oldu, bu yüzden onu düzleştirmek ve kenarları düzleştirmek için bir çekiç kullandım (resimlerde gördüğünüz şekle neden oldu). Daha sonra cilalamak için akan suyun altında hafifçe zımparaladım ve daha sonra kullanmak üzere bir kenara koydum.

Adım 3: Elektronik Muhafazanın Oluşturulması, Adım 1

Elektronik Muhafazanın İnşası, Adım 1
Elektronik Muhafazanın İnşası, Adım 1
Elektronik Muhafazanın Oluşturulması, Adım 1
Elektronik Muhafazanın Oluşturulması, Adım 1
Elektronik Muhafazanın Oluşturulması, Adım 1
Elektronik Muhafazanın Oluşturulması, Adım 1
Elektronik Muhafazanın İnşası, Adım 1
Elektronik Muhafazanın İnşası, Adım 1

Bunlar, Nano'yu barındıracak, arayüzü monte edecek ve temel olarak HALO Lambasını bir arada tutan kabuğun parçalarıdır. Benimkini 0,5 mm Alüminyum ve Sıcak Yapıştırıcı ile yaptım, ancak bir 3D yazıcınız varsa (bir süredir dükkanım için almaya çalıştığım bir şey) Tinkercad'de. STL versiyonunu yaptım, buraya sizin için eklemiştim. indirmek. Kendimde bir yazıcım olmadığı için, her şeyin düzgün yazdırılıp yazdırılmadığını görmek için modeli yazdırmayı test edemedim, ancak dilimleyicinize uygun destek yapılarını eklerseniz iyi olacağını düşünüyorum. Ayrıca biraz farklı bir tasarım veya estetiğe ihtiyacınız varsa veya isterseniz kaynak dosyayı burada kopyalayabilir ve düzenleyebilirsiniz.

Boyutlar aslında elektroniklerin boyutundan değil, lehimden kendim için döktüğüm metal ağırlıktan elde edildi, ancak yine de oldukça iyi çıktı ve boyutlar oldukça ideal.

Resimler, burada yazacaklarımdan biraz farklı bir işlem sırasını gösteriyor, çünkü orijinal yöntemimin sonuçlarına dayalı olarak geliştirilmiş bir yöntem geliştirdim.

Benim gibi sacdan montaj yapıyorsanız yapmanız gerekenler:

Adım 1: Yüz Plakaları

Yaklaşık 1.5 "uzunluğunda ve 3" genişliğinde iki özdeş yarım daire şekli kesin. (Benimkini serbest bıraktım, bu yüzden biraz müzik kutusunun önüne benziyorlar).

İki plakadan birinde düğmeler ve potansiyometre için üç delik açın. Benimkilerin her biri 1/4 inç çapındaydı. Bunlar herhangi bir düzende olabilir, ancak potansiyometremin her iki taraftaki düğmeler bir ikizkenar üçgen oluşturacak şekilde merkezde hafifçe kaldırılmasını tercih ederim. Delerken, gerekli boyut ucuna gitmeden önce her zaman küçük bir pilot delik açarım, deliklerin ortalanmasına yardımcı olur ve onları biraz daha temiz hale getirir.

Adım 2: Kemerli Kapak

Yüz plakalarından birinin eğrisine uyacak şekilde bir alüminyum parçası üzerine bükün ve uygun kenar uzunluğunu işaretleyin.

Bu uzunlukta ve yaklaşık 2 inç genişliğinde bir şerit kesin ve her iki taraftaki yüz plakalarının eğrisinin formuna uyan bir yay şeklinde oluşturun.

Eğrinin üst kısmındaki orta noktayı bulun ve çakmağın esnek boynuna uyacak bir delik açın. Deliği benimkinin arkasına doğru kaydırdım çünkü lambamın boynu kullanım sırasında çoğunlukla öne eğilecek, bu yüzden buna biraz denge eklemek istedim. Esnek boynumun çapı 1/4 inçten biraz fazlaydı, bu yüzden 1/4 inçlik bir uç kullandım (sahip olduğum en büyük büküm ucu 3/4 inçten daha az) ve dikkatlice açı yapıp büktüm. boyun oturana kadar deliği 'deliklemek' için delin.

Artık kabuk için parçalara sahip olduğumuza göre, bir sonraki adım elektronikleri eklemek ve bir araya getirmek!

Adım 4: Elektronik Muhafazanın Oluşturulması, Adım 2

Elektronik Muhafazanın Oluşturulması, 2. Adım
Elektronik Muhafazanın Oluşturulması, 2. Adım
Elektronik Muhafazanın Oluşturulması, 2. Adım
Elektronik Muhafazanın Oluşturulması, 2. Adım
Elektronik Muhafazanın Oluşturulması, 2. Adım
Elektronik Muhafazanın Oluşturulması, 2. Adım
Elektronik Muhafazanın Oluşturulması, 2. Adım
Elektronik Muhafazanın Oluşturulması, 2. Adım

Şimdi butonları ve potansiyometreyi ekleyip hepsini bir araya getiriyoruz.

Adım 1: Düğmeler ve Cıvatalar

Düğmelerinizden ve potansiyometreden altıgen somunları sökün. Somunun altında bir kavrama halkası cihazı olmalı, bunu yerinde bırakın.

Bileşenlerin her birini ilgili delikten geçirin, ardından her birini yerine sabitlemek için somunları tekrar vidalayın. Somunları, her bir bileşenin tamamen güvenli olduğundan emin olduğunuz noktaya kadar sıkın.

Adım 2. Esnek Boyun

Esnek boynu, kavisli parçanın üstündeki delikten geçirin. Sıcak tutkalla veya kaynak yapın (ekipmanınız varsa) boynu güvenli bir şekilde yerine yerleştirin.

Benim gibi sıcak tutkal kullanıyorsanız, tutkalın daha sonra çıkmaması için geniş bir alana yayılmış, her iki tarafına da bol miktarda tutkal yapıştırmak iyi bir fikirdir.

Adım 3: Kabuk Montajı (3D baskılı kabuk için geçerli değildir)

Kaynak çubuğu veya sıcak tutkal kullanarak ön ve arka yüz plakalarını kemerli kapak üzerindeki ilgili yerlerine sabitleyin. Yapıştırıcımın yapışması için birkaç denemem gerekti ve daha önce olduğu gibi, işin püf noktası, tıpkı boyun gibi, eklemin her iki tarafında da bol miktarda yapıştırıcı kullanmak. Tutkalın kapladığı alan ne kadar büyük olursa, o kadar iyi yapışır.

Artık kabuğumuza sahip olduğumuza göre, tüm devre bitlerini eklemeye geçebiliriz.

Adım 5: Elektronik Ekleme

Elektronik Ekleme
Elektronik Ekleme
Elektronik Ekleme
Elektronik Ekleme
Elektronik Ekleme
Elektronik Ekleme

Ve işte eğlenceli kısım: Lehimleme! Son haftalarda lehimlemeden gerçekten biraz yoruldum, çünkü yakın zamanda bitirmem gereken başka bir projeyi denemek ve bitirmek için son zamanlarda çok fazla yapıyorum (robot ekranımın radikalleştirilmiş yeni bir versiyonuna dikkat edin) platformlar), bir demiri mahvedip bir diğerini almama neden oldu… Her neyse, burada lehimlenecek pek bir şey yok, bu yüzden bu oldukça basit olmalı.

Not: Nano'nuzun üzerinde zaten pin başlıkları varsa, bu proje için bunları sökmenizi tavsiye ederim, sadece yoluna girecekler.

Yukarıdaki resimlerde bir şema var, isterseniz onu takip edebilirsiniz.

1. Adım: Arayüz

Anahtarların her birinden, tek bir pimden potansiyometrenin bir yan pimine bir tel lehimleyin. Bu aynı yan pimden bir kabloyu Nano'daki bir Topraklama pimine lehimleyin.

Potansiyometrenin merkez piminden Nano'daki A0'a bir tel lehimleyin.

Her iki anahtarın da bağlı olmayan piminden Nano'daki A1'e bir tel lehimleyin.

Diğer anahtardaki bağlı olmayan pimden Nano'daki A2'ye bir tel lehimleyin.

Not: Hangi anahtarın hangisi olduğu önemli değil, bir anahtarın diğerinin tersini yapması gerçeğinin yanı sıra, kodda bunları çok kolay bir şekilde değiştirebilirsiniz.

Esnek boyundan 4 inç daha uzun bir tel uzunluğu kesin ve her iki tarafı da soyun. Sharpie kullanarak bir tarafı tek bir çizgiyle işaretleyin.

Potansiyometrenin son bağlanmamış yan pimine bir tel lehimleyin, bu telin bağlanmamış ucunu, son alt adımdaki telin işaretsiz ucuyla birlikte bükün.

Bu birleştirilmiş ucu Nano'da 5V'a lehimleyin.

2. Adım: Ekran ve Güç Kabloları

Esnek boyundan 4 inç daha uzun 2 uzunlukta tel kesin ve her iki ucunu soyun.

Bir Sharpie kullanarak, her bir telin uçlarını, bir teli 2 hatlı ve bir teli 3 ile işaretleyin.

Kabloyu 2 hat ile Nano üzerindeki dijital pin 9'a lehimleyin.

5 mm'lik namlu jakınızda, merkez pimden (pozitif) bir kabloyu Nano'daki Vin'e lehimleyin.

Namlu jakının yan pimine (toprak/negatif) başka bir kablo lehimleyin.

Uzun teli, namlu jakının yan piminden gelen tel ile birlikte 3 çizgi ile bükün.

Bu telleri Nano üzerindeki açık GND pinine lehimleyin.

Gerektiğinde elektrik bandı veya sıcak tutkal ile bağlantıları izole edin.

Adım 3: Delikleri Kesme (yalnızca metal versiyonda, kapağı 3D yazdırdıysanız sorun olmaz)

Bir matkap ucu ve bir X-acto veya Maket Bıçağı kullanarak, Nano'nun USB bağlantı noktası için kapağın yan tarafında dikkatlice bir delik açın.

Kapağın arkasında, tercihen USB bağlantı noktası deliğinin karşısındaki tarafa daha yakın olmak üzere, fıçı jakının yüzünün boyutuna yakın bir delik daha açın.

Adım 4: Bileşenlerin Montajı

Üç uzun kabloyu esnek boyundan geçirin ve diğer taraftan dışarı çıkarın.

Bol miktarda sıcak tutkal kullanarak, namlu jakını pimler kapağın üst kısmına bakacak şekilde yerine monte edin.

Yine bol miktarda sıcak tutkal kullanarak, Nano'yu sıfırlama düğmesi aşağı bakacak ve USB bağlantı noktası yuvasında olacak şekilde yerine monte edin. Namlu jakı ve Nano arasında, birbirlerini sıkıca yerinde tutan bir "sıcak tutkal köprüsü" yaptım.

Şimdi ağırlıklı tabanı oluşturmaya geçebiliriz!

Adım 6: Ağırlıklı Taban

Ağırlıklı Taban
Ağırlıklı Taban
Ağırlıklı Taban
Ağırlıklı Taban
Ağırlıklı Taban
Ağırlıklı Taban

Lehimleme becerilerime güveniyorum ve bunu iyi planladım, bu yüzden kodu test etmeden önce devam ettim ve tabanı ekledim. Becerilerinize daha az güveniyorsanız, bu adımı atlamanızı ve her şeyin işe yaradığını bildiğinizde en sonunda geri dönmenizi öneririm.

3D baskılı versiyonunu yaptıysanız, ilk adımı atlayıp ikinciye geçebilirsiniz.

Adım 1: Ahşap

1/4 inçlik bir kontrplak tabakasından, yaklaşık 3 inç x 2 inçlik bir taban kesin.

Pürüzsüzleştirmek ve frezleri çıkarmak için kenarları zımparalayın.

2. Adım: Ağırlık

Öncelikle, yaptığımız metal kapağın kenarlarına bir mıknatıs, metal veya özel lehimli olanın sığacağından emin olun. Benimki tek yönde biraz büyüktü, bu yüzden X-acto bıçağıyla yandan biraz tıraş oldum. Sizinki bunu yapabileceğiniz türden değilse, farklı bir temel tasarımla uğraşmanız gerekebilir.

Ağırlığınızı kontrplak parçasının ortasına veya 3D baskılı tasarım durumunda, bu amaç için tasarladığım orta "tepsi" alanına sıcak yapıştırın.

3. Adım: Temel

Metal kapağı ağırlığın üzerine yerleştirin ve ahşap taban üzerinde ortalayın. (3D baskılı tasarım söz konusu olduğunda, önceden yapılmış oluklara yerleştirin.)

Ağırlığın herhangi bir elektronik aksamı etkilemediğinden emin olun

Tabanı yerine sabitlemek için sıcak tutkal kullanın. Sağlam bir bağlantı sağlamak için yeterince kullanın.

Artık kontrol kutumuzu tamamen yaptığımıza göre, ışıklara geçelim.

7. Adım: NeoPixel Halo Yüzük

NeoPixel Halo Yüzük
NeoPixel Halo Yüzük
NeoPixel Halo Yüzük
NeoPixel Halo Yüzük
NeoPixel Halo Yüzük
NeoPixel Halo Yüzük
NeoPixel Halo Yüzük
NeoPixel Halo Yüzük

Bu lambanın adının ilham kaynağı olan bu kısım, aydınlatma kaynağımız olarak kullanacağımız NeoPixel halo halkasıdır. Bu özel parça, istenirse herhangi bir NeoPixel veya ayrı ayrı adreslenebilir LED halkası ile değiştirilebilir veya değiştirilebilir.

Adım 1: Lehimleme

Uzunluğunda bir NeoPixels 12 LED şeridi kesin.

GND pimini 3 çizgili esnek boyundan tele lehimleyin.

Din pimini 2 hattı olan tele lehimleyin.

5V pinini 1 hattı olan tele lehimleyin.

Adım 2: Işıkları Test Edin

Adafruit_NeoPixel kitaplığını indirip kurun ve "strandtest" kodunu açın.

Sabit PIN'i 9 olarak değiştirin.

Şeritin tanımlandığı satırı 12 LED için yapılandırılacak şekilde değiştirin.

Kodu Nano'ya yükleyin ve tüm LED'lerinizin düzgün çalıştığından emin olun.

Tüm şerit çalışana kadar hatalı LED'leri çalışan olanlarla değiştirin.

3. Adım: Yüzük

Üst halkayı "Yapıştır ve Tıkla" ışığından alın ve iç kenardaki vida bağlantılarını kesin.

Şeritten teller için kenarda küçük bir çentik kesin.

NeoPixels'in (varsa) arkasındaki yapışkan bant için kapağı soyun ve şeridin her iki ucu yaptığımız çentiğe yakın olacak şekilde halkanın içine yapıştırın.

Şeridin kenarlarını sıkıca sabitlemek için sıcak tutkal kullanın

Tutkal tamamen soğuduktan sonra pikselleri tekrar test edin. Bu, hiçbirinin ısı ve kıvrılma konusunda titiz olmadığından emin olmak içindir (birkaç tanesi benimdi).

4. Adım: Montaj

1/4 inçlik ahşaptan, halkanın yüksekliğine yakın ve genişliğinin 1 2/3 katı olan iki küçük dikdörtgen kesin.

Bunları halkadan gelen tellerin her iki tarafına birbirine paralel olarak yapıştırın, boşluğu doldurun ve telleri tamamen tutkalla kaplayın.

Fazla uzunluktaki teli esnek boyuna dikkatlice geri itin ve ardından ahşap parçaları bol miktarda tutkal kullanarak ve boşlukları dikkatlice doldurarak (boynu tutkalla doldurmadan) boynun ucuna yapıştırın.

Adım 6: Bitirme

Yüzüğü boyayabilir ve istediğiniz rengi takabilirsiniz, ben gümüş rengi tercih ettim, bu yüzden sadece (rahatsız edici bir şekilde) yüzüğün üzerine basılan logoyu kapatmak için bir Sharpie kullandım. Aynı şey lambanın geri kalanı için de geçerlidir.

Şimdi son kodla bitirmek için devam edebiliriz!

Adım 8: Kodlar ve Testler

Kodlar ve Testler
Kodlar ve Testler
Kodlar ve Testler
Kodlar ve Testler

Şimdi tek yapmamız gereken lambayı programlamak ve test etmek. Ekte mevcut kod sürümü (rev1.0), bu kodu oldukça kapsamlı bir şekilde test ettim ve çok iyi çalışıyor. Modlar arasında daha kolay geçiş yapılabilmesi için düğmelerin harici kesmeler olarak yapılandırıldığı bir rev2.0 üzerinde çalışıyorum, ancak bu sürüm hatalı ve henüz yayınlanmaya hazır değil. Geçerli sürümle, Geri Dönme döngüsünü çalıştırana ve daha uzun "Dinamik" döngülerde can sıkıcı olabilecek durum değişikliğini tanıyana kadar düğmeyi basılı tutmanız gerekir. Aşağıda bazı açıklamaların yazılı olduğu kod bulunmaktadır (indirilebilir sürümde de aynı açıklamalar vardır).

#include #ifdef _AVR_ #include #endif

#define PIN 9

#tanım POT A0 #tanımla DÜĞME1 A1 #tanımla DÜĞME2 A2

// Parametre 1 = şeritteki piksel sayısı

// Parametre 2 = Arduino pin numarası (çoğu geçerlidir) // Parametre 3 = piksel tipi bayraklar, gerektiğinde birlikte ekleyin: // NEO_KHZ800 800 KHz bit akışı (çoğu NeoPixel ürünü w/WS2812 LED'li) // NEO_KHZ400 400 KHz (klasik ' v1' (v2 değil FLORA pikseller, WS2811 sürücüleri) // NEO_GRB Pikseller GRB bit akışı (çoğu NeoPixel ürünü) için bağlanmıştır // NEO_RGB Pikseller RGB bit akışı için bağlanmıştır (v1 FLORA pikselleri, v2 için değil) // NEO_RGBW Pikseller, RGBW bit akışı (NeoPixel RGBW ürünleri) Adafruit_NeoPixel halo = Adafruit_NeoPixel(12, PIN, NEO_GRB + NEO_KHZ800);

// Şimdi de Adafruit'teki arkadaşlarımızdan bir güvenlik mesajı:

// ÖNEMLİ: NeoPixel tükenme riskini azaltmak için, 1000 uF kapasitör ekleyin

// piksel güç kabloları, ilk pikselin veri girişine 300 - 500 Ohm direnç ekleyin // ve Arduino ile ilk piksel arasındaki mesafeyi en aza indirin. Canlı bir devreye // bağlamaktan kaçının… gerekiyorsa önce GND'yi bağlayın.

// Değişkenler

int buttonState1; int buttonState2; // giriş pininden geçerli okuma int lastButtonState1 = LOW; // giriş pininden önceki okuma int lastButtonState2 = LOW; int modu; //ışıklarımızın modu, 16 ayardan (0 ila 15) biri olabilir int parlakVal = 0; // potansiyometre tarafından ayarlanan parlaklık/hız

// aşağıdaki değişkenler uzundur çünkü süre, milisaniye cinsinden ölçülür, // hızla bir int'de depolanabilecek olandan daha büyük bir sayı olacak. long lastDebounceTime = 0; // çıkış pininin en son değiştirildiği zaman long debounceDelay = 50; // geri dönme zamanı; çıkış titriyorsa artırın

void debounce (){

// anahtarın durumunu yerel bir değişkene oku: int read1 = digitalRead(BUTTON1); int okuma2 = digitalRead(BUTTON2); // Gürültü veya basma nedeniyle düğmelerden biri değiştiyse: if (reading1 != lastButtonState1 || read2 != lastButtonState2) { // geri dönme zamanlayıcısını sıfırlayın lastDebounceTime = millis(); } if ((millis() - lastDebounceTime) > debounceDelay) { // basma/bırakma nedeniyle düğme durumu kesinlikle değiştiyse: if (reading1 != buttonState1) { buttonState1 = read1; //değişirse okuma olarak ayarlayın if (buttonState1 == LOW) { //bunlar aktif düşük anahtar modu olarak ayarlanır ++; if (mod == 16){ mod = 0; } } } if (reading2 != buttonState2){ buttonState2 = okuma2; if (buttonState2 == LOW){ mode = mode - 1; if (mod == -1){ mod = 15; } } } } // okumayı bir sonraki döngü için kaydet lastButtonState1 = read1; lastButtonState2 = okuma2; }

void getBright(){ //potansiyometreyi okuma kodumuz, 0 ile 255 arasında bir değer verir. Bazı modlarda parlaklığı, diğerlerinde hızı ayarlamak için kullanılır.

int potVal = analogRead(POT); parlakVal = harita(potVal, 0, 1023, 0, 255); }

//İşte renk modlarımız. Bunlardan bazıları en telli örnekten türetilmiştir, diğerleri orijinaldir.

// Noktaları arka arkaya bir renkle doldurun (colorwipe, strandtest'ten türetilmiştir)

void colorWipe(uint32_t c, uint8_t bekle) { for(uint16_t i=0; i

//gökkuşağı fonksiyonları (ayrıca strandtest'ten türetilmiştir)

void gökkuşağı(uint8_t bekleyin) {

uint16_t ben, j;

for(j=0; j<256; j++) { for(i=0; i

// Biraz farklı, bu gökkuşağının her yere eşit dağılmasını sağlar

void RainbowCycle(uint8_t bekle) { uint16_t i, j;

for(j=0; j<256*5; j++) { // çarktaki tüm renklerin 5 döngüsü for(i=0; i< halo.numPixels(); i++) { halo.setPixelColor(i, Wheel(((i * 256 / halo.numPixels()) + j) & 255); } halo.show(); gecikme(bekle); } }

// Bir renk değeri elde etmek için 0 ile 255 arasında bir değer girin.

// Renkler r - g - b - r'ye bir geçiştir. uint32_t Wheel(byte WheelPos) { WheelPos = 255 - WheelPos; if(WheelPos < 85) { dönüş halo. Color(255 - WheelPos * 3, 0, WheelPos * 3); } if(WheelPos < 170) { WheelPos -= 85; dönüş halo. Color(0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos -= 170; dönüş halo. Color(WheelPos * 3, 255 - WheelPos * 3, 0); }

geçersiz kurulum() {

// Bu Biblo 5V 16MHz içindir, Biblo kullanmıyorsanız bu üç satırı kaldırabilirsiniz #if tanımlı (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif // Biblo sonu özel kodu pinMode(POT, INPUT); pinMode(BUTTON1, INPUT_PULLUP); pinMode(BUTTON2, INPUT_PULLUP); pinMode(PIN, ÇIKIŞ); Seri.başla(9600); // hata ayıklama halo.begin(); halo.show(); // Tüm pikselleri 'kapalı' olarak başlat }

boşluk döngüsü () {

geri tepme();

//Serial.println(mod); //daha fazla hata ayıklama //Serial.println(lastButtonState1); //Serial.println(lastButtonState2);

if (mod == 0){

getBright(); for (int i = 0; i < halo.numPixels(); i++){ halo.setPixelColor(i, halo. Color(brightVal, brightVal, brightVal)); //tüm pikselleri beyaza ayarla } halo.show(); }; if (mod == 1){ getBright(); for (int i = 0; i < halo.numPixels(); i++){ halo.setPixelColor(i, halo. Color(brightVal, 0, 0)); // tüm pikselleri kırmızıya ayarla } halo.show(); }; if (mod == 2){ getBright(); for (int i = 0; i < halo.numPixels(); i++){ halo.setPixelColor(i, halo. Color(0, brightVal, 0)); // tüm pikselleri yeşile ayarla } halo.show(); }; if (mod == 3){ getBright(); for (int i = 0; i < halo.numPixels(); i++){ halo.setPixelColor(i, halo. Color(0, 0, brightVal)); // tüm pikselleri maviye ayarla } halo.show(); }; if (mod == 4){ getBright(); for (int i = 0; i < halo.numPixels(); i++){ halo.setPixelColor(i, halo. Color(0, brightVal, brightVal)); // tüm pikselleri camgöbeği olarak ayarla } halo.show(); }; if (mod == 5){ getBright(); for (int i = 0; i < halo.numPixels(); i++){ halo.setPixelColor(i, halo. Color(brightVal, 0, brightVal)); // tüm pikselleri mor/macenta olarak ayarla } halo.show(); }; if (mod == 6){ getBright(); for (int i = 0; i < halo.numPixels(); i++){ halo.setPixelColor(i, halo. Color(brightVal, brightVal, 0)); // tüm pikselleri turuncu/sarı olarak ayarla } halo.show(); }; if (mod == 7){ // şimdi dinamik modlar getBright(); colorWipe(halo. Color(brightVal, 0, 0), 50); // Kırmızı }; if (mod == 8){ getBright(); colorWipe(halo. Color(0, brightVal, 0), 50); // Yeşil }; if (mod == 9){ getBright(); colorWipe(halo. Color(0, 0, parlakVal), 50); // Mavi }; if (mod == 10){ getBright(); colorWipe(halo. Color(brightVal, parlakVal, parlakVal), 50); // Beyaz }; if (mod == 11){ getBright(); colorWipe(halo. Color(brightVal, brightVal, 0), 50); // turuncu sarı }; if (mod == 12){ getBright(); colorWipe(halo. Color(0, parlakVal, parlakVal), 50); // camgöbeği }; if (mod == 13){ getBright(); colorWipe(halo. Color(brightVal, 0, brightVal), 50); // mor/macenta }; if (mod == 14){ // son ikisi hız kontrolüdür, çünkü parlaklık dinamiktir getBright(); gökkuşağı(parlakVal); }; if (mod == 15){ getBright(); gökkuşağı Döngüsü(parlakVal); }; gecikme(10); //işlemciyi biraz dinlendirin }

9. Adım: Büyük Final

Büyük Final
Büyük Final

Ve şimdi harika, süper parlak küçük bir lambamız var!

Buradan daha fazla değiştirebilir veya olduğu gibi bırakabilirsiniz. Kodu değiştirebilir, hatta tamamen yeni bir tane yazabilirsiniz. Tabanı büyütebilir ve pil ekleyebilirsiniz. Bir hayran ekleyebilirsiniz. Daha fazla NeoPixel ekleyebilirsiniz. Bununla yapabileceğiniz her şeyin listesi neredeyse sonsuzdur. "Neredeyse" diyorum çünkü hala bunu mini bir portal oluşturucuya dönüştürecek teknolojiye sahip olmadığımızdan oldukça eminim (maalesef), ancak bunun gibi şeyler bir yana, tek sınır sizin hayal gücünüzdür (ve bir dereceye kadar, son zamanlarda bulduğum gibi, atölyenizdeki araçlar). Ama araçlara sahip değilseniz, bunun sizi durdurmasına izin vermeyin, gerçekten bir şeyler yapmak istiyorsanız her zaman bir yol vardır.

Bu projenin amacının bir parçası, kendime (ve daha az ölçüde dünyaya), diğer insanların da seveceği yararlı şeyler yapabileceğimi kanıtlamak, elimdeki tek şey eski ve hurdaya ayrılmış gerçek bir çöp yığını olsa bile. bileşenleri ve bir kutu Arduino malzemeleri.

Burada bırakacağım çünkü bence bu oldukça iyi oldu. Geliştirmek için bir öneriniz veya yöntemlerim hakkında bir sorunuz varsa, lütfen aşağıya bir yorum bırakın. Bunu sen yaptıysan, fotoğrafını çek, hepimiz görmek istiyoruz!

Lütfen beğendiyseniz Vote vermeyi unutmayın!

Her zaman olduğu gibi bunlar, hayat boyu süren görevi olan Dangerously Explosive'ın projeleridir: "İnşa etmek istediğiniz şeyi cesurca inşa etmek ve daha fazlası!"

Diğer projelerime buradan ulaşabilirsiniz.

Okuduğunuz için teşekkürler, Mutlu Yaratmalar!

Önerilen: