İçindekiler:
- Adım 1: İhtiyacınız Olan Şey
- Adım 2: Devreyi Oluşturun
- Adım 3: Kod
- Adım 4: Kutuyu Oluşturun
- Adım 5: Bug Butts İnşa Edin
- Adım 6: Proje Kutusunu hazırlayın
- Adım 7: Gücü Getirin
- Adım 8: Gerekirse Nano'yu Değiştirin
- Adım 9: İçini Kablolayın
- Adım 10: Kullanın
- Adım 11: Daha İleri Gitmek…
Video: Arduino Ateşböcekleri: 11 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Pennsylvania'da yazları dört gözle beklediğim şeylerden biri arka bahçemdeki ateş böcekleri. Bu basit projeyi yapmak için yakın zamanda kendime Adruino programlamayı öğrettim. Başlamak için harika bir programdır ve herhangi bir programcının, acemiden uzmana kadar, sadece birkaç dakika içinde oluşturması, değiştirmesi ve eğlenmesi için yeterince kolaydır. Başlayalım.
Adım 1: İhtiyacınız Olan Şey
Hatalarınızın yanıp sönmesini sağlamak için şu bileşenlere ihtiyacınız olacak:
- Arduino. Nano ile başladım, ancak herhangi bir Arduino uyumlu mikro denetleyici yapacak.
- Sarı LED'ler, 5 mm. 6 adete kadar kullanabilirsiniz.
- Dirençler. Akımı sınırlamak için LED başına bir dirence ihtiyacınız olacaktır. 470 ohm kullandım, ancak mikro denetleyicinizi korumak için 150 ohm'un üzerindeki herhangi bir şey iyi olmalıdır.
- Ekmek tahtası.
- Atlama teli.
Arka bahçeniz için projeyi tamamlamak için ihtiyacınız olacak:
- Hava koşullarına dayanıklı proje kutusu.
- Konnektörlü 9 voltluk pil. (Lütfen bu bölümün altındaki notlara bakın.)
- Değiştirmek. (Bu su geçirmez anahtarları seçtim. Bunu dışarıda kullanmıyorsanız, herhangi bir anahtar işinizi görecektir.)
- LED'leri bahçenin etrafına yerleştirmek için birkaç metre tel. LED başına yaklaşık 10 fit Cat5 Ethernet kablosu kullandım.
- Küçük bir breadboard veya bazı mükemmel tahta.
- LED kablolarının içinden geçtiği hava koşullarına dayanıklı bir kablo rakoru. (Dışarıda da kullanmıyorsanız bunu atlayabilirsiniz.)
- LED böcek izmaritlerinizi korumak için ısıyla daralan makaron.
- LED ateşböceklerini bahçenizdeki bitkilere ve direklere yapıştırmak için yeşil cırt cırtlı (yani cırtlı) şeritler.
-
Bileşenleri küçük devre tahtanıza takmak için erkek başlıklar.
Aletler:
- Proje kutusu için matkap uçları. (Bu fırsatı kendinize güzel bir adım atmak için kullanın. Yaptığınıza memnun olacaksınız).
- Sıcak yapıştırıcı tabancası.
- Havya.
- Gerekirse proje kutusunda yer açmak için döner alet (yani Dremel).
Burada Birkaç Not:
1. Pil seçimi, hızlı ve kolay bir başlatma içindi. 9 voltluk bir pili kalıcı olarak kullanmak biraz israftır. Daha uzun ömür için 4x AA pil tutucu kullanmanız daha iyi olur (ancak bunun için daha büyük bir proje kutusuna ihtiyacınız olacaktır).
2. Kablolar için bir Cat 5 Ethernet kablosunun yapısını bozmayı seçerseniz, bunların bakır çekirdekli olduğundan emin olun ve çalışırken onları düzenli tutmak için bir miktar PVC'nin etrafına düzgün bir şekilde sarın. Yine, LED başına yaklaşık 10 fit tel kullandım. Işıkları her yere yaymak istiyorsanız, elbette daha uzun kablolar kullanın!
3. Son olarak, verdiğim tüm bağlantılar sadece öneridir. Kişisel olarak nasıl ilerlemek istediğinizi daha iyi anlayacağınız için, herhangi bir şey inşa etmeden veya satın almadan önce lütfen bu Talimatın tamamını okuyun.
Adım 2: Devreyi Oluşturun
Bu proje, Arduino'nuzdaki darbe genişlik modülasyon pinlerini kullanır. Mikro denetleyicide bu pinlerden 6 adet bulunur ve dilediğiniz kadar kullanabilirsiniz. Devre oldukça düz ileri. Darbe genişlik modülasyonu (PWM) pinleri D3, D5, D6, D9, D10 ve D11'den gelen tüm gücü LED'lerinizin pozitif uçlarına bağlayın. Negatif uçları dirençlere ve ardından ortak bir toprağa bağlayın. (Dirençler LED'in önüne veya arkasına gidebilir. Daha yüksek akımlarda kısa devrelere karşı korunmak istemiyorsanız farketmez.) Kablolama konusunda yardımcı olması için birkaç şema ekledim. (Fritzing tasarım yazılımı kullanılarak oluşturulan diyagramlar.)
Adım 3: Kod
Tecrübeli bir programcıysanız, bu kodu basit bulacaksınız. Değişkenlerin, pin modlarının, fonksiyonların ve hatta bir rastgele oluşturucunun kullanımını tanıttığı için öğrenmeye başlamak için harika bir koddur. Kod, olabileceği kadar kompakt değil, aynı etkinin diziler vb. ile elde edilebileceğinden eminim.
Kod yorumları, her bölümün mantığını düzenler. Kodun tamamı buraya gömülüdür ve aşağıdaki taslağı indirebilirsiniz.
/*
Bu komut dosyası, PWM kullanarak rastgele aralıklarla rastgele sırayla 6 LED'i (sarı, tabii ki) yanıp söner. Her LED kendi işlevi tarafından kontrol edilir. */ int led1 = 3; // PWM pin 3'e bağlı LED vs. 6 PWM pininin hepsini kullandım. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; uzun randnum; // randnum, yanıp sönmeler ve uzun randbug arasındaki zaman aralığını kontrol eder; //randbug hangi hatanın yanacağını kontrol eder. void setup() { pinMode(led1, OUTPUT); //Tüm PWM pinlerini çıkış olarak ayarlıyoruz. pinMode(led2, ÇIKIŞ); pinMode(led3, ÇIKIŞ); pinMode(led4, ÇIKIŞ); pinMode(led5, ÇIKIŞ); pinMode(led6, ÇIKIŞ); } void loop(){ randbug = rastgele(3, 12); //randbug yürütülecek bir işlevi rastgele seçer, //böylece yanacak bir hatayı rastgele seçer. if (randbug == 3) { bug1(); } if (randbug == 5) { bug2(); } if (randbug == 6) { bug3(); } if (randbug == 9) { bug4(); } if (randbug == 10) { bug5(); } if (randbug == 11) { bug6(); } } /* * Bu fonksiyonların her biri aynı şekilde çalışır. 'döngüler için', LED parlaklığını kontrol etmek için bu pimin çıkışını artırın ve * azaltın. * 'randnum' 10 ile 3000 ms arasında rastgele bir zaman aralığıdır * ve hata yanıp sönmeleri arasında bir zaman aralığı seçer. * 'gecikme 10' sadece solma efekti içindir. */ void bug1(){ randnum = rastgele(10, 3000); for(int fadeValue = 0; fadeValue = 0; fadeValue -=5) { analogWrite(led1, fadeValue); gecikme(10); } gecikme (randnum); } geçersiz bug2() { randnum = rastgele(10, 3000); for(int fadeValue = 0; fadeValue = 0; fadeValue -=5) { analogWrite(led2, fadeValue); gecikme(10); } gecikme (randnum); } void bug3() { randnum = rastgele(10, 3000); for(int fadeValue = 0; fadeValue = 0; fadeValue -=5) { analogWrite(led3, fadeValue); gecikme(10); } gecikme (randnum); } void bug4(){ randnum = rastgele(10, 3000); for(int fadeValue = 0; fadeValue = 0; fadeValue -=5) { analogWrite(led4, fadeValue); gecikme(10); } gecikme (randnum); } void bug5() { randnum = rastgele(10, 3000); for(int fadeValue = 0; fadeValue = 0; fadeValue -=5) { analogWrite(led5, fadeValue); gecikme(10); } gecikme (randnum); } geçersiz bug6() { randnum = rastgele(10, 3000); for(int fadeValue = 0; fadeValue = 0; fadeValue -=5) { analogWrite(led6, fadeValue); gecikme(10); } gecikme (randnum); }
Adım 4: Kutuyu Oluşturun
Arduino'nuza kod yazdıktan ve ateşböceklerinizi istediğiniz gibi çalıştırdıktan sonra, onları bahçeye koymak isteyebilirsiniz; bu, Arduino ve LED'leri kuru tutmak için bir proje kutusu ve bir miktar ısı büzüşmesi anlamına gelir. Hadi yapalım!
Adım 5: Bug Butts İnşa Edin
- LED uçlarını yaklaşık 5 mm'ye kadar kesin.
- Kullandığınız tellerin uçlarını da yaklaşık 5 mm sıyırın ve kalaylayın.
- 1 mm ısıyla daralan makaronları her bir kablo ucuna kaydırın.
- LED'i kabloya lehimleyin. (Bu noktada, çiftinizdeki hangi telin sizin pozitif, hangisinin negatif olacağını seçmelisiniz. Dolu teli pozitif ve beyaz teli negatif olarak seçtim. Daha sonra baş ağrısından kaçınmak için bu stratejiyi proje boyunca sürdürün!)
- Isı büzüşmesini tamamen çıplak tel ve LED uçlarının üzerinden kaydırın. Kabloları küçültmek için üzerlerine hızlı bir alev sürün.
- LED'in üzerine başka bir ısı büzüşmeli parça kaydırın ve LED lens ucu dışarı çıkacak şekilde kabloları eritin ve yerine eritin.
- Tüm uzunluğu boyunca telin üzerine birkaç parça ısıyla daralan makaron geçirin ve teli düzenli tutmak için birkaç fitte bir eritin.
Adım 6: Proje Kutusunu hazırlayın
- Proje kutunuzdaki gereksiz plastiği temizlemek için zımpara tambur ucuna sahip döner bir alet kullanın. (Kutunuzu tekrar bir araya getirmek için ihtiyaç duyabileceğiniz vida bağlantılarını kesmemeye dikkat edin.)
- Anahtarınızın nerede olmasını ve LED kablolarının çıkmasını istediğinize karar verin. Tarafları öneriyorum ama ihtiyaçlarınıza uygun olanı kullanın.
- Kablo rakorunuz ve anahtarınız için delikler açmak için uygun boyuttaki matkap ucunu kullanın.
Not: Yukarıdaki fotoğrafta "sahte kablo" yaptığımı göreceksiniz. Bu, ısıyla daralan LED'leri bir araya getirmek için kullandığım 6 çift telden oluşan bir demet. Kablo rakorunun gerçek kablo demetine tam olarak uyduğundan emin olmak ve ayrıca anahtar, kablo rakoru ve kapak açıldığında kutunun su geçirmezliğini test etmek için kullandım. (24 saat 6 inçlik suya daldırıldıktan sonra içinde çok az nem kaldı. Bu kutuya "hava koşullarına dayanıklı" demekten memnuniyet duyarım.)
Adım 7: Gücü Getirin
- Üç bileşeni de kabaca proje kutusuna yerleştirerek Arduino'nuza ulaşmak için ne kadar pil ve anahtar kablosuna ihtiyacınız olacağını belirleyin. Anahtarın ve 9V pil konektörünün kablolarını kesin. Uçlarını soyun ve kalaylayın. Bir sonraki adım için biraz ısı büzüşmesini kaydırın.
- İki erkek başlık pimini şeridinizden kesin (ancak birbirine yapışmış halde tutun).
- 9V pil konektörünün kırmızı ucunu anahtarın bir ucuna lehimleyin. Anahtarın diğer ucunu bir erkek başlık pimine lehimleyin. Siyah pil ucunu diğer erkek başlık pimine lehimleyin.
- Yukarıdaki şemada gösterildiği gibi, başlık pimleri, Nano'yu VIN (pozitif) ve GND'de (negatif) çalıştırmak için devre tahtasına girecektir. VIN pini 7 ila 12 volt arasında çalışabilir. Arduino'nuzu 9V pil dışında bir şekilde çalıştırmayı planlıyorsanız, farklı bir besleme pimi kullanın.
Adım 8: Gerekirse Nano'yu Değiştirin
Proje kutum oldukça sığ olduğundan, sığdırmak için ICSP başlık pinlerini çıkarmam gerekiyordu. Bu pinler, Arduino'nuzla ikincil bir arayüzdür. Komut dosyalarını her zaman USB bağlantı noktasından yükleyebileceğiniz için bunları kaldırmak Nano'nuza zarar vermez.
Not: Nano'nuz lehimlenecek başlık pinlerine ihtiyaç duyuyorsa, Arduino'nuzu monte ederken bu pinleri çıkarmanız yeterlidir.
Adım 9: İçini Kablolayın
- Kablo rakorunu proje kutusuna bunun için açtığınız deliğe takın. Bir kablo rakorunun nasıl kullanılacağı konusunda kafanız karıştıysa, YouTube'da bulduğum bu video bir kablo rakorunun montajını gösteriyor. (0:57'ye hızlı ileri sar.) Sizinkinde lastik bir rondela olabilir. Bu, proje kutusu ile kablo rakorunun dış somunu arasında gider.
- LED kablolarının gevşek uçlarını toplayın. Bunları eşit uzunlukta kesmek için bu zamanı ayırın, uçlarını soyun ve kalaylayın. Uçları kablo rakorunun kapağından geçirin ve kutunun içindeki devre tahtasına ulaşmak için yeterli uzunluk bırakarak uçları bir araya getirmek için bir parça ısıyla daralan makaron kullanın.
- Tel demetini kablo rakoru portundan proje kutusuna besleyin ve telleri yerinde, tercihen bir araya getirmek için kullandığınız ısıyla büzüşme çevresinde kilitlemek için rakor kapağını bükün.
- Topraklama kablolarını pozitif kablolardan ayırın (hangilerini daha önce seçtiğinizi hatırlayarak). Tüm topraklama kablolarını tek bir ortak toprağa lehimleyin. Bu demetten kısa bir tel takın ve 1 erkek başlık ile bitirin. Çıplak lehim bağlantılarınızı korumak için ısıyla daralan makaron kullanın.
- Her pozitif telin ucunda lehim erkek başlıklar. Yine, ısıyla büzüşen kullanın.
- Arduino'daki PWM pinlerine bağlanmak için pozitif uçlu erkek başlıkları devre tahtasına yerleştirin.
- Ortak zemini devre tahtasına, bir akım sınırlama direncinden ve ardından Arduino'daki GND'den geçecek şekilde yerleştirin.
- Pili yerleştirin ve anahtarı daha önce açtığınız kutudaki delikten geçirin. Lastik rondelayı proje kutusu ile vidalı kapak arasına yerleştirin. Güç kablolarını breadboard'a takın.
- Kapağı kutuya oturtun veya vidalayın. Sen bittin!
Not: Şemalarda ve geliştirme aşamalarında, LED başına bir akım sınırlama direnci kullandım. Tipik olarak, her LED'in kendi direncini alması gerekir, tipik olarak, birden fazla LED aynı anda yanar. Kod, aynı anda birden fazla LED'in yanmasına izin vermiyor, bu nedenle Arduino'yu korumak için yalnızca bir direnç kullanmak iyidir. Bu aynı zamanda küçük devre tahtasında yerden tasarruf sağlar veya her LED'i bir hat içi dirençle lehimler. Dedi ki… UYARI!!! Kodu aynı anda birden fazla LED yanacak şekilde değiştirmeyi planlıyorsanız, her LED için ayrı dirençlere ihtiyacınız olacaktır.
Adım 10: Kullanın
LED'leri bahçenizdeki bitkilere, çitlere, pembe flamingolara veya başka herhangi bir şeye yapıştırmak için cırt cırt bantlar veya sıcak tutkal kullanın. Onları şarap raflarına, perdelerin arkasına sıkıştırarak içeride kullanın ya da karanlıkta 3D yüzer bir efekt için kabloları tavana asın! Bunlar partiler, düğünler, film ve fotoğrafçılık için harika bir dokunuş olurdu.
Adım 11: Daha İleri Gitmek…
Daha önce de belirtildiği gibi, bu projenin erken bir versiyonudur, ancak çok fazla potansiyelle doludur! Bir vites kaydedici bağlayarak daha fazla LED çalıştırın (Nasıl olduğunu öğrenmek için JColvin91 tarafından verilen bu talimata bakın.) "Ayarla ve unut" özelliği için bir ışık sensörü, güneş enerjisi şarj cihazı ve zamanlayıcı ekleyin! Hatalara kendi parlamanızı eklemek için kodla uğraşın. Yaptığınız şeyi paylaşın ve keyfini çıkarın !!
GÜNCELLEME: Bu Eğitilebilir Yazının yayınlanmasından bu yana geçen iki hafta içinde, birçok katkıda bulunan kişi kod, donanım ve bu projenin yürütülmesi konusunda mükemmel iyileştirmeler önerdi. Bunu inşa etmeyi planlıyorsanız, bu yıldırım hatalarını planlamadığım şekillerde nasıl yapacağınıza dair fikirler için yorumları ve cevapları okumanızı şiddetle tavsiye ederim. Bu projenin mümkün olduğunu düşündüğümden daha fazlasına dönüşmesine yardımcı olan tüm fikirleri açık kaynak yapma ruhu içinde kabul ediyorum… ve bunu gerçekleştiren herkese teşekkür ediyorum.
Gitmek. Yapmak!!!
Önerilen:
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
Lehimsiz Ateşböcekleri / Yıldırım Böcekleri: 4 Adım
Lehimsiz Ateşböcekleri / Yıldırım Böcekleri: Cadılar Bayramı için bahçeme LED ateşböcekleri (büyüdüğüm yerdeki yıldırım böcekleri) eklemek istedim ve bazılarını LED şeritleri ve bir Arduino ile yapmaya karar verdim. Bunun gibi birçok proje var, ancak çoğu lehimleme ve devre gerektiriyor. Bunlar harika, ama ben
Adım Adım Ciclop 3d Tarayıcı My Way: 16 Adım (Resimlerle)
Adım Adım Ciclop 3d Tarayıcı Adım Adım: Merhabalar, ünlü Ciclop 3D tarayıcıyı gerçekleştireceğim. Orijinal projede iyi açıklanan tüm adımlar mevcut değil. Öncelikle işlemi basitleştirmek için bazı düzeltmeler yaptım. Tabanı yazdırıyorum ve PCB'yi yeniden sterilize ediyorum, ama devam et
Ateşböcekleri Kavanozu: 18 Adım (Resimli)
Ateşböcekleri Kavanozu: Bu proje, bir kavanozdaki ateşböceklerinin davranışını simüle etmek için bir AVR ATTiny45 mikro denetleyici ile birlikte yeşil yüzeye monte LED'ler kullanır. (not: Bu videodaki ateş böceği davranışı, kısa bir şekilde temsil edilmesinin daha kolay olması için büyük ölçüde hızlandırılmıştır
LED Ateşböcekleri Prototipi: 3 Adım (Resimlerle)
LED Ateşböcekleri Prototipi: herkese merhaba, işte bir LED fırlatıcı gibi bir şey yapmaya çalıştım. ..önce şu önermeyi kabul etmelisin