5 $ altında bir POV LED Hava Writer olun

  • Michael Fisher
  • 0
  • 1372
  • 248
reklâm

Yanıp sönen LED'lerle her türlü şeyi yapabilirsiniz ve bu basit projede, ileri geri salladığınızda havada mesajları aydınlatan küçük bir cihaz yapacağız. Düşündüğünüzden daha kolay ve parçaların toplam maliyeti 5 doların altında.

Bu proje, metnin havada görünmesini sağlamak için görme kalıcılığı olarak adlandırılan optik bir illüzyondan yararlanır. Birisi geceleri hızla yanan bir maytap hareket ettirdiğinde muhtemelen bu fenomene rastladınız. Bu etkiyi taklit etmek için bir Arduino ve bazı LED'ler kullanacağız. Bu proje, birkaç parça ve çok az lehim içeren, basittir (yine de lehim demirinizle ilgili bazı ipuçları almak istiyorsanız, bu kılavuzu inceleyin. Bu Basit İpuçları ve Projelerle, Lehimlemeyi Öğrenin, Bu Basitler ile Öğrenin İpuçları ve Projeler Sıcak demir ve erimiş metal düşüncesinden biraz korkuyor musunuz? Elektronikle çalışmaya başlamak istiyorsanız, lehimlemeyi öğrenmeniz gerekecek. Yardım edelim.).

İhtiyacın olacak

  • Arduino (Kompakt ve ucuz olduğu için 2 $ Nano kullandım, ancak herhangi bir model iyi olmalı).
  • 5x Kırmızı LED.
  • 5x 220 Ohm dirençler.
  • 1x9V pil tutucu.
  • 1x Rocker anahtarı.
  • 1 adet protoboard parçası.
  • Bitmiş ürün için bir mahfaza (Siyah boyalı küçük bir karton kutu kullandım).

Ayrıca hepsini bir araya getirmek için bir lehim havyası ve biraz lehim gerekir.

İsteğe bağlı olarak, herhangi bir lehim hatası yapmanız durumunda, bazı lehim fitilleri çok kullanışlı olabilir. Devreyi test etmek için bir breadboard ve bazı bağlantı telleri de yararlıdır.

kablolama

Kablolama daha kolay olamazdı. İlk önce, Arduino'nuzu, LED'lerinizi ve dirençlerinizi bu şemada gösterildiği gibi bağlayın.

D2'den D6'ya kadar olan pimler, her bir LED'in pozitif anotuna (uzun bacak) tutturulmuş sırasıyla her bir dirence gider. Katot, Arduino'ya tekrar bağlanan toprağa bağlanır. Bittiğinde şuna benzer bir şey olmalı:

İşte bu: devremiz bitti! Daha sonra bir batarya yuvası ve ona bir anahtar ekleyeceğiz, ancak çalışıp çalışmadığını test etmek için tek ihtiyacımız olan şey bu.

kod

Şimdi Arduino'nuzu bilgisayara bağlayın ve Arduino IDE'yi açın. Arduino'yu kullanmaya yeni başlıyorsanız ve gitmekte iyi bir rehber istiyorsanız, bu bağlantı Arduino'ya Başlarken: Yeni Başlayanlar Kılavuzu Arduino'ya Başlarken: Yeni Başlayanlar Kılavuzu Arduino, esnek, kolay temelli, açık kaynaklı bir elektronik prototip platformudur. donanım ve yazılımı kullanmak için. Sanatçılar, tasarımcılar, hobiler ve etkileşimli nesneler veya ortamlar yaratmak isteyen herkes için tasarlanmıştır. yararlı olacaktır.

Yeni bir çizim açın ve bu kodu kopyalayın. Kod, bu projeden değiştirildi ve bu Gist’ten tam olarak indirebilirsiniz..

 // her led'in int için ne kadar süre açık kalacağı = Time = 1; // her int arasında ne kadar süre charBreak = 3; // mesaj bittikten sonra ne kadar süre bekleyileceği, int resetTime = 20; int LED1 = 2; int LED2 = 3; int LED3 = 4; int LED4 = 5; int LED5 = 6; void setup () pinMode (LED1, ÇIKIŞ); pinMode (LED2, ÇIKIŞ); pinMode (LED3, ÇIKIŞ); pinMode (LED4, ÇIKIŞ); pinMode (LED5, ÇIKIŞ);  int a [] = 1, 6, 26, 6, 1; int b [] = 31, 21, 21, 10, 0; int c2 [] = 14, 17, 17, 10, 0; int d [] = 31, 17, 17, 14, 0; int e [] = 31, 21, 21, 17, 0; int f [] = 31, 20, 20, 16, 0; int g [] = 14, 17, 19, 10, 0; int h [] = 31,4, 4,4, 31; int i [] = 0, 17, 31, 17, 0; int j [] = 0, 17, 30, 16, 0; int k [] = 31, 4, 10, 17, 0; int l [] = 31, 1, 1, 1, 0; int m [] = 31, 12, 3, 12, 31; int n [] = 31, 12, 3, 31, 0; int o [] = 14, 17, 17, 14, 0; int p [] = 31, 20, 20, 8, 0; int q [] = 14, 17, 19, 14, 2; int r [] = 31, 20, 22, 9, 0; int s [] = 8, 21, 21, 2, 0; int t [] = 16, 16, 31, 16, 16; int u [] = 30, 1, 1, 30, 0; int v [] = 24, 6, 1, 6, 24; int w [] = 28, 3, 12, 3, 28; int x [] = 17, 10, 4, 10, 17; int y [] = 17, 10, 4, 8, 16; int z [] = 19, 21, 21, 25, 0; int eos [] = 0, 1, 0, 0, 0; int hariç [] = 0, 29, 0, 0, 0; int ques [] = 8, 19, 20, 8, 0; int boşluk [] = 0, 0, 0, 0, 0; void displayLine (int satırı) int myline; myline = çizgi; if (myline> = 16) digitalWrite (LED1, YÜKSEK); myline- = 16; else digitalWrite (LED1, DÜŞÜK); if (myline> = 8) digitalWrite (LED2, YÜKSEK); myline- = 8; else digitalWrite (LED2, DÜŞÜK); if (myline> = 4) digitalWrite (LED3, YÜKSEK); myline- = 4; else digitalWrite (LED3, DÜŞÜK); if (myline> = 2) digitalWrite (LED4, YÜKSEK); myline- = 2; else digitalWrite (LED4, DÜŞÜK); if (myline> = 1) digitalWrite (LED5, YÜKSEK); myline- = 1; else digitalWrite (LED5, LOW); void displayChar (char c) if (c == 'a') için (int i = 0; i <5; i++)displayLine(a[i]);delay(delayTime);displayLine(0); if (c == 'b')for (int i = 0; i <5; i++)displayLine(b[i]);delay(delayTime);displayLine(0); if (c == 'c2')for (int i = 0; i <5; i++)displayLine(c2[i]);delay(delayTime);displayLine(0); if (c == 'd')for (int i = 0; i <5; i++)displayLine(d[i]);delay(delayTime);displayLine(0); if (c == 'e')for (int i = 0; i <5; i++)displayLine(e[i]);delay(delayTime);displayLine(0); if (c == 'f')for (int i = 0; i <5; i++)displayLine(f[i]);delay(delayTime);displayLine(0); if (c == 'g')for (int i = 0; i <5; i++)displayLine(g[i]);delay(delayTime);displayLine(0); if (c == 'h')for (int i = 0; i <5; i++)displayLine(h[i]);delay(delayTime);displayLine(0); if (c == 'i')for (int it = 0; it <5; it++)displayLine(i[it]);delay(delayTime);displayLine(0); if (c == 'j')for (int i = 0; i <5; i++)displayLine(j[i]);delay(delayTime);displayLine(0); if (c == 'k')for (int i = 0; i <5; i++)displayLine(k[i]);delay(delayTime);displayLine(0); if (c == 'l')for (int i = 0; i <5; i++)displayLine(l[i]);delay(delayTime);displayLine(0); if (c == 'm')for (int i = 0; i <5; i++)displayLine(m[i]);delay(delayTime);displayLine(0); if (c == 'n')for (int i = 0; i <5; i++)displayLine(n[i]);delay(delayTime);displayLine(0); if (c == 'o')for (int i = 0; i <5; i++)displayLine(o[i]);delay(delayTime);displayLine(0); if (c == 'p')for (int i = 0; i <5; i++)displayLine(p[i]);delay(delayTime);displayLine(0); if (c == 'q')for (int i = 0; i <5; i++)displayLine(q[i]);delay(delayTime);displayLine(0); if (c == 'r')for (int i = 0; i <5; i++)displayLine(r[i]);delay(delayTime);displayLine(0); if (c == 's')for (int i = 0; i <5; i++)displayLine(s[i]);delay(delayTime);displayLine(0); if (c == 't')for (int i = 0; i <5; i++)displayLine(t[i]);delay(delayTime);displayLine(0); if (c == 'u')for (int i = 0; i <5; i++)displayLine(u[i]);delay(delayTime);displayLine(0); if (c == 'v')for (int i = 0; i <5; i++)displayLine(v[i]);delay(delayTime);displayLine(0); if (c == 'w')for (int i = 0; i <5; i++)displayLine(w[i]);delay(delayTime);displayLine(0); if (c == 'x')for (int i = 0; i <5; i++)displayLine(x[i]);delay(delayTime);displayLine(0); if (c == 'y')for (int i = 0; i <5; i++)displayLine(y[i]);delay(delayTime);displayLine(0); if (c == 'z')for (int i = 0; i <5; i++)displayLine(z[i]);delay(delayTime);displayLine(0); if (c == '!')for (int i = 0; i <5; i++)displayLine(excl[i]);delay(delayTime);displayLine(0); if (c == '?')for (int i = 0; i <5; i++)displayLine(ques[i]);delay(delayTime);displayLine(0); if (c == '.')for (int i = 0; i <5; i++)displayLine(eos[i]);delay(delayTime);displayLine(0); if (c ==")for (int i = 0; i <5; i++)displayLine(space[i]);delay(delayTime);displayLine(0); delay(charBreak);  void displayString(char* s) for (int i = 0; i<=strlen(s); i++) displayChar(s[i]);   void loop() //Change the text inside here to change the text displayed. //Make sure to keep the brackets and the quotation marks. displayString("… hello!… "); delay(40);  

Krokiyi kaydedin ve panonuza yükleyin. Hata alırsanız, doğru pano ve com port'unun seçildiğinden emin olun. LED'leriniz titremeye başlamalıdır. Olmazsa, breadboard'unuzdaki tüm bağlantılarınızı kontrol edin. Kodun başında bildirilen tam sayılar, metnin ne kadar hızlı görüntüleneceğini belirler. Sayı ne kadar yüksek olursa, cihazı o kadar hızlı sallamanız gerekir. Burada kullanılan sayıların iyi çalıştığını buldum.

Şimdi hızlı bir test yapmak için. Arduino'nuzu USB kablosundan çıkarın ve pil tutucunuzu arduino'nuzun VIN ve GND pinlerine takın

Şimdi hareket ettirebildiğinize göre, önünüzdeki LED'leri çevirmeyi deneyin. Etrafınızdaki yeterince karanlık olması koşuluyla havada oluşan bazı harfler görmelisiniz. Bunu yakalamak için telefonumu ayarlamak için yardımcı buldum.

İşe yarıyor! Şimdi biraz daha kalıcı hale getirmek için.

Hazır olan ütüler!

Arduino kartınızı, dirençlerinizi ve LED'lerinizi protokole yerleştirerek şöyle yapın:

Elbette devre aynı kaldığı sürece yerleşimi istediğiniz kadar küçük yapabilirsiniz. Bileşenler ve güç kaynağı için Arduino'nuzun her iki tarafına en az bir satır protokol temas noktası bıraktığınızdan emin olun. Elektronikte acemi iseniz, işte size harika ipuçları: Acemi Elektronik: Bilmeniz Gereken 10 Beceri Acemi Elektroniği: Bilmeniz Gereken 10 Beceri Birçoğumuz hiçbir zaman lehim havyası bile kullanmadı - ama işler inanılmaz derecede ödüllendirici olabilir. . İşte başlamanıza yardımcı olacak en temel DIY elektronik becerilerinden biri. .

LED katotları ortak bir zemin oluşturacak şekilde sıraya sokuyoruz, tıpkı LED matrisimizi yaptığımızda yaptığımız gibi, Noel Çelenkinizi Hareketle Harekete Geçiren bir LED Matrisi ile Yükseltme Noel Çelenkinizi Harekete Geçiren Bir LED Matrisiyle Yükseltme Bu DIY Noel'i Çelenk arkadaşlarınızı ve ailenizi etkileyecek harika bir ışıklı ekran üretmek için bir Arduino ve LED matrisi kullanır. .

Her katodu bir üst üste bindirecek şekilde katlayın ve kırılmamış bir çizgi oluşturmak için onları lehimleyin. Şimdi anotlarımızı yanlarındaki dirençlerin bacaklarına lehimlememiz gerekiyor. Bunu yapmanın en kolay yolunu, her bacağını kendi pedlerine lehimlemek ve sonra aralarındaki boşluğu doldurmak için daha fazla lehim eklemeden önce her iki eklemleri ısıtmak için demiri aralarına yerleştirmek olduğunu buldum..

Her bağlantıyı sağlam bir şekilde takıldığından emin olmak için kontrol edin ve ardından fazla bacakları dirençlerden ve LED'lerden kesmek için tel kesiciler kullanın.

Şimdi aynı görevi tekrarlamak için, ancak bu kez dirençlerimizin diğer ucunu Arduino'nun bacaklarına bağlayarak. Lehimlemenin en yanlış kısmı budur. Her direnç yalnızca Arduino pimine çok bağlanır veya devre amaçlandığı şekilde çalışmaz. Burada birkaç hata yaptım ve istenmeyen lehimi birkaç kez kaldırmak için lehim fitili kullanmak zorunda kaldım.

Tüm doğru bağlantıları yaptıktan sonra, bunların hiçbirinin komşularıyla çakışmadığını kontrol edin. Burada bir multimetreye erişiminiz varsa, her bir pimin yalnızca direnci için kırılmamış bir çizgiye sahip olup olmadığını kontrol etmek için süreklilik modunu kullanabilirsiniz. Daha yeni bir multimetreniz varsa, bu makalede harika bir başlangıç ​​kılavuzu var. Okullar Kazanmayacak, çünkü çocuklar için öğretmek için 7 DIY Teknoloji Becerileri Okullar Kazanma çünkü, çocuklar için öğretmek için 7 DIY Teknoloji Becerileri

Her bağlantıyı kontrol ettikten sonra, fazla uzunluğu dirençlerin ayaklarından kesin

Güç ekleme

Şimdi Arduino'nuzun GND piminden bir parça lehim katot hattınızın bittiği yerdeki bir deliğe koşun ve pil tutucunuzun siyah telini yanına yerleştirin.

Şimdi kabloyu GND pimine, dirençlerle yaptığımız gibi lehimleyin ve her iki kabloyu da devre için ortak bir zemin oluşturmak için katot hattının sonuna kadar lehimleyin.

Son olarak, arduino'nuzun VIN pimine bir tel takın ve anahtarınızı bu kablo ile pil takımı arasına yerleştirin. Bu fotoğraftaki sıcak tutkal kaplı anahtar için özür dilerim, bu aşamayı fotoğraflamak için bitmiş makineyi sökmek zorunda kaldım!

Hepsi birlikte lehimlendikten sonra, bir batarya takın ve düğmeye basın. Tebrikler! Devre yapılır. Yanan herhangi bir şey görmüyorsanız, nerede kısa devre veya kısa devre olabileceğini görmek için her lehimleme bağlantısını dikkatlice kontrol edin..

kuşatma

Şimdi çalışmasını sağlayın, hadi kutuya koyalım. Burada, bir hobi mağazasından alınmış bir kutuyu veya hatta eski bir tupperware kutusunu kullanarak daha kalıcı bir şey yapabilmenize rağmen boyalı bir karton kutu kullanıldı. Ekstra geek cred için, bu 3D yazıcılardan birine kendi 3D'nizi bile basabilirsiniz. 5 Bugün Aslında Satın Alabileceğiniz 5 Ucuz 3D Yazıcılar Bugün Gerçekten Satın Alabileceğiniz 5 Ucuz 3D Yazıcılar Bugün Satın Alabileceğiniz 5 Ucuz 3D Yazıcılar En ucuz 3D yazıcılar bile, 1000 $ işaretine kadar yakındı - şimdi 400 $ 'a kadar düşük kalitede bir 3D yazıcı alabilirsiniz..

Protokolünüzü puanlayarak küçültün ve ihtiyacınız olmayan parçaları dikkatlice yerinden çıkarın.

Devrenizi muhafazanızın içine yerleştirin ve LED'lerin ve anahtarın nereye bakması gerektiğini işaretleyin. İsteğe bağlı olarak, Arduino kartındaki USB konektörünün kenarı bulduğu yeri de işaretleyebilirsiniz, böylece kutuyu açmadan metni değiştirmek için fişi takabilirsiniz. Muhafazaya ihtiyacınız olan delikleri açın veya kesin..

Şimdi LED'lerin kenarlarına biraz sıcak tutkal ekleyin ve yerine yapıştırın. Kutuya sıkıca oturması için devrenin altına bir parça sünger yapıştırdım. Anahtarınızı kasaya takın. Sıcak tutkal kullandım, ancak vidalar veya cıvatalar çok daha güçlü bir bağlantı yapardı. Öğe kullanılırken içeride hareket etmesini engellemek için pil tutucuyu devre kartının arkasına da yapıştırabilirsiniz, ancak kasadaki metal temas noktalarının lehimleme bağlantı noktalarınızın hiçbirine temas etmediğinden emin olun.!

İş Yapıldı!

Kasanızı kapatın ve işlem tamam! Metni değiştirmek için, USB kablosunu Arduino kartına takın ve ardından parantezlerin içindeki metni değiştirin. DisplayString içinde döngü yöntem. Karanlık bir yer bulun ve eğlenin!

Daha önce bir POV makinesi inşa ettiniz ve tasarımı iyileştirmenin yollarını biliyor musunuz? Kendin yapmayı mı düşünüyorsun? Aşağıdaki yorumlarda bize projenizden bahsedin, duymak isteriz!




Henüz no comments

Modern teknoloji hakkında basit ve uygun fiyatlı.
Modern teknoloji dünyasında rehberiniz. Her gün bizi çevreleyen teknolojileri ve araçları nasıl kullanacağınızı ve Internet'te ilginç şeyleri nasıl keşfedeceğinizi öğrenin.