İçindekiler:

Arduino Powered, Sensör Kontrollü Sönümlü LED Işık Şeritleri: 6 Adım (Resimli)
Arduino Powered, Sensör Kontrollü Sönümlü LED Işık Şeritleri: 6 Adım (Resimli)

Video: Arduino Powered, Sensör Kontrollü Sönümlü LED Işık Şeritleri: 6 Adım (Resimli)

Video: Arduino Powered, Sensör Kontrollü Sönümlü LED Işık Şeritleri: 6 Adım (Resimli)
Video: Amazing arduino project 2024, Kasım
Anonim
Image
Image

Yakın zamanda mutfağımı güncellettim ve aydınlatmanın dolapların görünümünü "kaldıracağını" biliyordum. 'True Handless' için gittim, bu yüzden çalışma yüzeyinin altında bir boşluk, ayrıca bir kickboard, dolabın altında ve mevcut dolapların üstünde bir boşluk var ve onları aydınlatmak istedim. Etrafıma baktıktan sonra tam olarak ne istediğimi bulamadım ve kendim yapmaya karar verdim.

Aydınlatma için tek renk, sıcak beyaz LED şeritler (koruma için esnek plastik kaplamalı su geçirmez tip) seçtim.

Duvar dolapları için, altta düz oldukları için, çok düşük profilli ışıklar seçtim ve kabloyu kabinin içine ve arkasına dolaştırdım (dolapların içinde, kablo için bir Dremel kullanarak bir oluk açtım, sonra tekrar doldurdum) bir kez kablo içerideydi, bu yüzden hiçbir iz yok).

AMA… Büyük bir anahtar istemedim ve ışıkların nasıl göründüğüne dair birinci sınıf bir görünüm istedim, bu yüzden etrafa bakıp bazı solma yukarı/aşağı anahtarları ve bir Alexa etkin anahtar bulduktan sonra hala bir tane bulamadım tüm aydınlatmayı çalıştırabilir ve yine de iyi görünmesini sağlayabilir, bu yüzden kendiminkini yapmaya karar verdim.

Bu nedenle projem, pasif bir sensörden kademeli, hızlı bir solma ile dört ışığın tümüne güç sağlayabilecek bir cihaz üretmekti - mutfaktan ayrılana kadar devam edin ve ya açık kalmaya "zorlamak" için bir düğme veya Mutfağı belli bir süre sonra karartmak için terk edersem kimseyi görmüyorsa.

(Ayrıca, yedek parçalarıyla birlikte, amazon'dan önceden oluşturulmuş tek bir üniteden çok daha pahalıya mal olmadı!).

İşte eylem videosu

Adım 1: Parçalar

Aşağıda Amazon'dan kullandığım parçaların bir listesi var. Satın almak için bağlantıya tıklamaktan çekinmeyin, ancak etrafta dolaşan benzer öğeleriniz varsa, bunları kullanın !!! Bunlardan bazılarının 'birden fazla' öğe olduğunu unutmayın, bu nedenle arkadaşlarınız ve aileniz için veya yalnızca diğer projeler için bunları yapmak için yeterli yedeğiniz olmalıdır - ancak o kadar ucuzdur ki, bir tane satın almak genellikle taşıma ücretleri ile dengelenir…..

Bu proje için parçalar:

Tam Arduino seti (Not: gerekli değildir ancak gelecekte oynamak için birçok şey içerir!):

Arduino NANO (Kutu içinde kullanılır):

PIR Sensörü:

LED Işık Şeritleri:

LED Sürücü (Güç kaynağı):

MOSFET panoları:

Geçiş yapmak için itin:

Arduino ve MOSFET'leri içeren kara kutu:

Sensör ve anahtar için beyaz kutu:

Bileşenlerden LED şeritlerine bağlantı kablosu:

2,1 mm fişler ve prizler:

Arduino'yu diğer bileşenlere bağlamak için kablo:

Termal soğutucular (MOSFET'ler için):

Termal çift taraflı bant:

Isıyla daralan makaron

2. Adım: Teknoloji ve Nasıl Bir Araya Geldiği

Teknoloji ve Bir Araya Nasıl Uyar
Teknoloji ve Bir Araya Nasıl Uyar
Teknoloji ve Bir Araya Nasıl Uyar
Teknoloji ve Bir Araya Nasıl Uyar

Bunun için önce devreyi yapmamız gerekiyor…

Başlangıç olarak, bir ekmek tahtası ve tam boy bir Ardiuno Uno kullandım. Daha önce hiç Arduino kullanmadığım için, üçüncü parti bir Uno ve bir dizi parça içeren bir paket satın aldım (bundan sonra başka projeler için kullanacağım). Sadece bu projeyi takip ediyorsanız, açıkçası bunu yapmanıza gerek yok, ancak bu, başka şeyler de inşa etmenizi sağlayabilirse, bu iyi bir fikirdir.

Ekmek tahtası, elektronik parça tasarımınızı test etmenize izin vermek için kabloları ve bileşenleri plastik bir tahtaya itmenizi sağlar.

Birkaç kırmızı LED ile bir araya getirdim ve bu, programın solma kısmının nasıl çalıştığını kontrol etmemi sağladı (10 saniye sonra geçici olarak zaman aşımına uğradı, böylece kademeli solmanın etkisini görebildim.). Bunun çalışma şekli, LED'lerin anında açılıp kapanmasıdır (geleneksel ampullerin aksine), bu nedenle değişken bir voltaj koymanıza gerek yoktur - aslında onları o kadar hızlı açıp kapatabilirsiniz ki, o kadar parlak değillermiş gibi görünürler.. Buna Darbe Dalga Modülasyonu (kısaca PWM) denir. Temel olarak, onları ne kadar uzun süre "açık" tutarsanız, o kadar parlak olurlar.

NOT: Gerçek ışık şeritlerini bağladığımda, tüm şeritlerden gelen akım çekimi onların biraz daha az parlak olmasına ve biraz farklı şekilde solmasına neden oluyor - bu nedenle programı bazı yapılandırılabilir ayarlarla yaptım)

LED şeritleri doğrudan sürmek için küçük fişli güç kaynakları satın alabilseniz de, dördüne sahip olduğum için bir LED sürücü (temelde daha yüksek akım çıkışlı bir güç kaynağı) satın almaya karar verdim. Gerçek akım çekilişini inşa edilene kadar kontrol etmediğim için bunu fazla değerlendirdim (tüm bunları mutfak kurulmadan önce yaptığım için). Bunu mevcut bir mutfağa sonradan takıyorsanız (veya bunu her ne için kullanıyorsanız), şerit başına akım çekişini ölçebilir, değerleri toplayabilir ve ardından uygun bir LED sürücüsü seçebilirsiniz (bir sonraki güç derecesi).

Breadboard yaptıktan sonra, ışıklardan gelen akımın doğrudan Arduino'dan sürmek için çok yüksek olacağını fark ettim, bu yüzden gerçek ünite için bazı MOSFET'ler kullandım - bunlar temelde bir röle gibi davranırlar - eğer güç alırlarsa (düşük güç tarafından)), daha sonra yüksek akım tarafındaki bağlantıyı açarlar.

Burada hile yaptım - gerçek MOSFET'leri yeni satın alabilirdim ama bazı küçük devre kartlarına monte edilmiş, vidalı konektörler ve karttaki sevimli küçük SMD LED ışıklarıyla birlikte durumlarını görebilirsiniz. Lehimlemede zaman kazanmak mı? Tabi lan!

MOSFET'lerde bile, LED şeritlerinin maksimum uzunluğu hala birkaç AMP çekiyordu ve MOSFET, onları daha serin tutmaya yardımcı olmak için bir ısı emici eklemeyi önerdi. Bu yüzden bazı küçük soğutucular aldım ve bunları soğutucunun metal kısmına yapıştırmak için çift taraflı termal bant kullandım. Tam güçte, yine de ısınırlar, ancak programımda maksimum parlaklığı ayarladıktan sonra (LED'ler ÇOK parlaktı), MOSFET'lerin zaten ısınmadığını gördüm, ancak yine de bileşenlerin ömrünü uzatmak için eklemeye değer ya da benim yaptığımdan daha parlak bir seviye seçerseniz.

Sensör ayrıca küçük bir devre kartı üzerinde paketlenmiş olarak mevcuttu ve bu, tüm destek devrelerinin yanı sıra birkaç Jumper'ı (farklı seçenekler seçmek için konumlar arasında geçiş yapabileceğiniz bir bağlantıya sahip küçük pimler) ve bir değişkeni içerir. zaman aşımı. Bunu kendi zamanlayıcımızı tetiklemek için kullandığımızdan, onları varsayılan konumda bırakabiliriz.

Işıkları sürekli olarak "açmama" ve ikinci bir basışla kapatmama izin vermek için sensörün yanına küçük bir Push to Make anahtarı ekledim. Bu, en çok sorun yaşadığım bileşendi, çünkü Arduino'nun sık sık düğmeye basıldığını düşündüğü anlamına geliyordu, bu yüzden ışıkları rastgele açıp kapatacaktı. Bu, Arduino içindeki gürültünün, kablonun uzunluğunun, Toprak/0V hattındaki gürültünün ve anahtarların içindeki bağlantıların gürültülü olduğu için 'geri sektirilmesi' gereken bir kombinasyon gibi görünüyordu. Birkaç şeyle oynadım, ama sonunda program kontrolünü yapmaya karar verdim, birkaç milisaniye boyunca düğmeye basıyordum – temelde zıplamadan çıkıyor, ama aynı zamanda herhangi bir gürültüyü de görmezden geliyordum.

Gerçek ünite için, sensörü ve basmalı anahtarı barındıracak küçük, göze batmayan bir kutu ve tüm MOSFET kartlarına ve kablolarına uyan bir kutu buldum. İşleri kolaylaştırmak için, akımı taşıyabilecek (ve kolay tanımlama için bir kabloyu işaretledim) iki çekirdekli bir kablo aldım ve bunu mutfağın her bir ışık şeridinin başlangıç noktalarına kadar koştum. Ayrıca, kabloları bir fiş üzerinde sonlandırabilmemi sağlayan bazı prizler ve fişler satın aldım ve dört prizi daha büyük kutuya yerleştirdim. Bu şekilde, ışık şeritlerini, kodu değiştirmek yerine sadece fişlerini çekerek tekme tahtasından, kulplardan, dolap altı ve dolap üstü ışıklarından başlayacak şekilde yeniden sipariş edebilirim.

Bu kutu aynı zamanda bir Arduino NANO'yu (yine 3 sterlinden daha az bir üçüncü taraf kartı) üste kolayca yerleştirdi. Küçük bağlantıları NANO'dan ve MOSFETS'e vb. almak için çeşitli renkli tek damarlı kablo kullandım (ısıya dayanıklı yalıtımlı bir kablo kullandım ama buna gerek yok). Hala MOSFET'lerden soketlere giden daha yüksek akım dereceli iki çekirdekli kabloyu kullandım.

Kutuları delmek için neyse ki bir sütunlu matkabım vardı, ancak onsuz bile, daha küçük bir matkap ucuyla bir pilot delik açabilir ve ardından kademeli bir matkap ucu kullanarak deliği ihtiyacınız olan boyuta genişletebilirsiniz (https:// amzn.to/2DctXYh). Bu şekilde, özellikle ABS kutularında daha düzgün, daha kontrollü delikler elde edersiniz.

Delikleri şemaya göre delin.

Beyaz kutu, sensörün konumunu ve beyaz fresnel lensin bulunduğu yeri işaretledim. Sonra bunun merkezinin nerede olduğunu bulduktan sonra, bir pilot delik açtım ve daha sonra genişletmek için daha büyük kademeli matkap ucunu kullandım (sadece daha büyük boyutta bir 'ahşap' matkap ucu kullanabilirsiniz). Daha sonra deliği biraz daha büyük zımparalamak zorunda kaldım AMA tüm fresnel lensi delikten itmedim - deliği daha küçük tutarak sensörü çok 'görünür' hale getirmiyor.

Ayrıca beyaz kutunun üzerinde, kutuyu duvara vidalamanıza izin vermek için kenarlarından dışarı çıkan bir çift tırnak olduğunu göreceksiniz, vs. ama ben bunları kestim. Daha sonra, bir tarafta kullandığım daha büyük 4 çekirdekli kabloya uyacak şekilde bir kablo için tasarlanmış kutudaki küçük deliği genişlettim ve kutunun diğer tarafını anahtara uyacak şekilde genişlettim (resme bakın).

Adım 3: Kablolama

Kablolama
Kablolama

Ekli kablo şemasına bakın.

Temel olarak, push-on konektörleri kullanabilir ve ardından Arduino ile birlikte gelen pinlerde lehimleyebilirsiniz veya benim yaptığım gibi doğrudan Arduino kartındaki pinlere lehimleyebilirsiniz. Herhangi bir lehimleme işinde olduğu gibi, deneyimsizseniz, Youtube videolarına bir göz atın ve önce pratik yapın - ama esasen: 1) Ütüde iyi bir ısı kullanın (çok sıcak veya çok soğuk değil) ve ucun oyulmadığından emin olun.. 2) Lehimi ütünün ucuna 'yüklemeyin' (ilk başladığınızda ucu 'kalaylamak' iyi bir uygulama olmasına rağmen, ardından fazlalığı silin veya vurun - ütünün ucunu bileşene dokunma alıştırması yapın ve kısa bir süre sonra lehimin ucuna ve bileşene aynı anda dokunun ve kart üzerine 'akması' gerekir 3) Bileşenleri aşırı ısıtmayın (ÖNEMLİ!!!) - akmıyor gibi görünüyorsa, soğumaya bırakın ve bir süre sonra tekrar deneyin ve aynı bölgede çok uzun süre çalışmayın. 4) Üç eliniz yoksa veya çubuk tutma deneyiminiz yoksa, bileşenleri bir arada tutmak için Yardım Ellerinden birini satın alın (örn.

Hayatı kolaylaştırmak için MOSFET kartlarındaki 3 pinli konektörleri de lehimledim. Bunu yapmak için, tekrar akmasına yardımcı olmak için mevcut lehim bağlantısına biraz lehim eritin, ardından lehim hala erimişken pimleri çekmek için bir pense kullanın. Bileşeni çıkarmadan önce erimiş lehimi çekmek için bir lehim sökme pompanız veya fitiliniz varsa yardımcı olur (örn. https://amzn.to/2Z8P9aT), ancak onsuz da yapabilirsiniz. Benzer şekilde, isterseniz doğrudan pimlere lehimleyebilirsiniz (yine de doğrudan tahtaya kablolama yaparsanız daha temiz olur).

Şimdi bağlantı şemasına bir göz atın.

İnce tek damarlı telden bir parça alın ve ucundan yalıtımı biraz alın (rolson striptizcileri ve kesiciyi https://amzn.to/2DcSkom iyi buluyorum) sonra telleri bükün ve üzerlerine biraz lehim eritin. onları bir arada tut. Teli tahtadaki delikten geçirin ve ardından teli yerine lehimleyin.

Listelediğim Arduino'daki tüm teller için buna devam edin (ihtiyacınız olan Dijital pin sayısını kullanın - 4 set ışığım var ama az ya da çok kullanabilirsiniz). İdeal olarak, kullanıma uygun renkli kablo kullanın (örn. 12V Kırmızı, GND siyah, vb.).

İşleri düzgün hale getirmek ve kısa devreleri önlemek için, lehimlemeden önce her bağlantı için küçük bir parça ısıyla daralan makaron (https://amzn.to/2Dc6lD3) telin üzerine kaydırmanızı öneririm. Lehim yaparken uzakta tutun, bağlantı soğuyunca ve her şeyi test ettikten sonra, bağlantıya kaydırın ve bir ısı tabancasıyla birkaç saniye ısıtın. Düzgün bir eklem yapmak için küçülür.

NOTLAR: Arduino D12 veya D8'deki bazı pinler arasında bir miktar karışma olduğunu okudum. Güvende olmak için, dördüncü çıktı için D3'ü kullandım - ancak başkalarını denemek istiyorsanız, çekinmeyin, kodda güncellemeyi unutmayın.

Kabloları kutunun içine sığacak kadar makul bir uzunlukta kesin, ardından uçlarını tekrar kesin ve kalaylayın. Bu sefer kabloları gösterildiği gibi pinlerdeki MOSFET kartlarına lehimleyin. Her dijital çıkış (D9, D10, D11 ve D3) dört karttan birine lehimlenmelidir. GND çıktıları için hepsini bir araya getirdim ve bir lehim bloğu ile birleştirdim - en düzgün yol değil, ama yine de hepsi bir kutuda saklanıyor….

Arduino'dan MOSFET'lere

Giriş voltajı +12V ve GND'yi aynı şekilde bağladım ve onları ve 2 çekirdekli kablonun bazı kısa uzunluklarını bir Chocblock'a koydum. Bu, Choblock'u LED sürücüsünden/PSU'dan gelen güç için bir gerilim azaltıcı olarak kullanmama ve ayrıca daha kalın 2 çekirdekli kabloların daha düzgün bir şekilde birleştirilmesine izin verdi. Başlangıçta kabloların uçlarını kalayladım, ancak MOSFET panolarındaki bağlantılara tam oturmadıklarını gördüm, bu nedenle kalaylı uçları kestim ve daha iyi oturdular.

2 damarlı kablodan biraz daha 4 cm uzunluk aldım ve bunları 2.1 soketlere lehimledim. Bunların üzerinde üç pim olduğunu ve birinin bağlantı kaldırıldığında besleme sağlamak için kullanıldığını unutmayın. İç pim (12V) ve dış (GND) için bağlantıyı kullanın ve üçüncü pimi bağlantısız bırakın. Ardından her bir kabloyu kutunun yan tarafındaki deliklerden geçirin, bir somun ekleyin ve ardından MOSFET konnektör çıkış terminallerine takın ve sıkın.

Sensörü Bağlama

Dört çekirdekli bir kablo kullanarak, PSU'yu ve kutuyu sakladığınız yerden sensörü yerleştirmek istediğiniz yere gitmeye yetecek uzunlukta bir uzunluk kesin (buranın, bölgeye girerken sizi yakalayacak bir yer olduğundan emin olun, ama yan odadan biri geçtiğinde tökezlemiyor!).

Kabloları sensör kartındaki pimlere lehimleyin (isterseniz pimleri çıkarabilirsiniz) ve kısa bir kablo (siyah!) kullanarak GND kablosunu anahtarın bir tarafına devam ettirmek için bir bağlantı kablosu bağlayın. Ardından, 4 çekirdekli kablodan gelen diğer telleri anahtarın diğer tarafına lehimleyin.

Sensörü ve anahtarı beyaz kutuya yerleştirin, ardından kabloyu odanızın etrafından geçirin ve ardından kablonun diğer ucunu kara kutudaki delikten geçirin ve kabloları Arduino'daki doğru pinlere lehimleyin.

Bu kablonun çekilmesini ve Arduino ile bağlantınıza zarar vermesini önlemek için kutunun hemen içindeki kablonun etrafına küçük bir kablo bağı yerleştirin.

Güç

Satın aldığım LED Sürücünün (Güç kaynağı) iki çıkış kuyruğu vardı - her ikisi de 12V ve GND çıkışına sahipti, bu yüzden ikisini de kullandım ve 2 x LED'in iki MOSFET'ten geçmesi ve birinden güç alması için kullanımı böldüm. güç kaynağı çıkışları ve diğer çıkıştan diğer 2 LED. Kullanmakta olduğunuz LED'lerin yüküne bağlı olarak farklı bir güç kaynağı seçmiş ve yalnızca bir çıkışınız olabilir.

Böylece, kutumda Güç Kaynağından gelen kabloların girdiği 2 adet delik var ve daha sonra bağlantıyı yapmak ve ayrıca gerilmeyi azaltmak için bir Chocblock koydum.

Adım 4: Arduino Programı

Arduino Programı
Arduino Programı

Program (ekli) nispeten açıklayıcı olmalıdır ve baştan sona yorumlar sunmaya çalıştım. Lütfen kendi proje gereksinimleriniz için değiştirmekten çekinmeyin.

ÖNEMLİ: Bunu orijinal olarak bir parça kitine ve bir Arduino UNO'ya kurdum. Daha sonra Arduino NANO kartlarını kullanırsanız, üzerlerindeki önyükleyicinin daha eski olması muhtemeldir. Bunu güncellemeniz gerekmez (bunu yapmanın bir yolu vardır, ancak bu proje için gerekli değildir). Tek yapmanız gereken Tools>Board'da Arduino NANO'yu seçtiğinizden emin olmak, ardından Tools>Processor'da da doğru olanı seçmek. COM bağlantı noktasını seçtikten sonra, seri konsola (Araçlar > Seri Monitör) bağlanırsanız neler olduğunu görmeyi de seçebilirsiniz.

Bu benim ilk Arduino projem ve Arduino programlama araçlarını (programları yazıp panoya yüklemenizi sağlayan şey) indirip kurmanın ve kullanmanın gerçekten kolay olmasından memnun oldum. (IDE'yi https://www.arduino.cc/en/main/software adresinden indirin)

Sadece kartı bir USB portuna takarak, bir cihaz gibi görünüyor ve karta bir program yükleyebiliyorsunuz ve kod çalışıyor!

Kod nasıl çalışır?

Temel olarak, her şeyi tanımladığım tepede biraz kurulum var. Burada ışıklar için kullandığınız pinleri, ışıkların maksimum parlaklığını (maksimum 255), sönmesinin ne kadar sürdüğünü ve ne kadar çabuk söneceğini değiştirebilirsiniz.

Ayrıca bir ışığın sönmesi ile diğerine geçişi arasındaki boşluk olan bir ofset değeri de vardır - bu nedenle her birinin sönmesini beklemeniz gerekmez - bir sonraki solmaya, bir öncekinin sönmesi bitmeden başlayabilirsiniz.

Benim için işe yarayan değerleri seçtim, ancak lütfen denemekten çekinmeyin. Ancak: 1) Maksimum parlaklığı çok yükseğe çevirmenizi tavsiye etmem - çalışmasına rağmen, ışıkların çok parlak ve belirsiz olduğunu hissediyorum (ve uzun bir LED dizisi ile ek akım MOSFET'lerin ısınmasına neden oluyor - bu kutuyu daha havalandırılmış bir kutu için değiştirin). 2) Ofset, mevcut değerler için çalışır, ancak LED'lerin parlaklıklarını uygulanan güce bağlı olarak doğrusal bir şekilde artırmadığı için, iyi bir etki elde edene kadar diğer parametreleri de ayarlamanız gerektiğini görebilirsiniz. 3) Azaltma rutininde, tezgah altı ışıklarımın maksimum parlaklığını 255'te maksimuma ayarladım (daha az akım çekiyorlar, bu yüzden MOSFET'leri aşırı ısıtmayın ve ayrıca ne pişirdiğimi görmek istiyorum!).

Kurulum bölümünden sonra büyük bir döngü var.

Bu, yerleşik LED'de bir veya iki flaşla başlar (böylece çalıştığını görebilirsiniz ve ayrıca size sensörün menzilinden çıkma şansı vermek için bir gecikme olarak). Kod daha sonra bir döngüde oturur ve sensörden tetiklenen bir değişikliği bekler.

Bunu aldıktan sonra, FadeSpeed1 değerinde belirttiğiniz miktar kadar artarak, seçilen maksimum değerde 4 cihazın tümünün toplam değerine kadar 0'a kadar saydığı TurnOn yönlendirmesini çağırır. Her çıktının maksimum parlaklıktan daha büyük olmasını önlemek için constrain komutunu kullanır.

Daha sonra, sensör tekrar tetiklenirse bir değeri sıfırlayarak başka bir döngüde oturur. Bu sıfırlanmazsa, Arduino'nun zamanlayıcısı bu noktaya geldiğinde döngüden çıkar ve TurnOff rutinini başlatır.

'Açık durum' döngüsünün herhangi bir noktasında, anahtara birkaç milisaniyeden fazla basılırsa, onaylamak için ışıkları yakıp söndürür ve ardından zamanlayıcı değerinin her zaman sıfırlanmasına neden olan bir bayrak ayarlarız - böylece ışıklar asla sönmez Yeniden. Düğmeye ikinci kez basılması, ışıkların tekrar yanıp sönmesine ve döngünün çıkmasına neden olarak, ışıkların sönmesine ve sıfırlanmasına izin verir.

Adım 5: Hepsini Kutuya Koymak

Hepsini Kutuya Koymak
Hepsini Kutuya Koymak
Hepsini Kutuya Koymak
Hepsini Kutuya Koymak

Her şeyi bağladıktan sonra, test etme zamanı.

Sensör için orijinal konumumun işe yaramayacağını fark ettim, bu yüzden kabloyu kısalttım ve yeni bir yere yerleştirdim - geçici olarak sıcakta eriyen bir yapışkanla yapıştırdım, ama orada çok iyi çalışıyor. cırt cırt kullanmak yerine orada sıkışmış bıraktı.

Sensör üzerinde, PIR'ın hassasiyetini ve ayrıca sensörün ne kadar süreyle tetikleneceğini ayarlamanıza izin veren birkaç değişken potansiyometre vardır. Koddaki 'ne kadar süre' öğesini kontrol ettiğimiz için, bunu en düşük değerde bırakabilirsiniz, ancak hassasiyet seçeneğini ayarlamaktan çekinmeyin. Ayrıca bir jumper da var - bunu varsayılan konumunda bıraktım ve sensörün 'yeniden tetiklenmesine' izin veriyor - sizi yalnızca bir kez algılarsa ve her zaman zaman aşımına uğrarsa, o zaman bu düğmeyi hareket ettirmenin zamanı geldi!

Teste yardımcı olmak için, 2 dakika kadar beklemek yerine ışıkların açık kalma süresini yaklaşık 12 saniyeye geçici olarak kısalttım. Tamamen sönmesi için geçen süreden daha az bir süre yaparsanız, kodun her zaman maksimum süreyi aşacağını ve anında söneceğini unutmayın.

LED şeritler için şeritleri şerit üzerinde işaretli noktalardan kesmeniz gerekir. Ardından, keskin bir bıçak kullanarak (ancak tamamen kesmemeye dikkat ederek!), metal şeride su geçirmez kaplamayı kesin ve ardından iki lehim pedini açığa çıkaracak şekilde soyun. Bunların üzerine biraz lehim koyun (yine aşırı ısıtmamaya dikkat edin) ve bir parça iki damarlı tel takın. Ardından, kablonun diğer ucunda, devrenin sürmesi için prize takabilmeniz için bir fişe lehimleyin.

Not: Kaydırabileceğiniz LED şeritler için 90 derecelik bazı konektörler satın almama rağmen, AMA onları titreyecek veya başarısız olacak kadar kötü bir bağlantı kurduklarını gördüm. Bu yüzden şeritleri istediğim boyutta kestim ve bunun yerine LED şerit parçalarının arasına bir birleştirme kablosu lehimledim. Bu, bulaşık makinesi ve buzdolabının olduğu yerlerde daha uzun birleştirmeler yapmak zorunda kaldığım için dolap altı şeridini çalıştırmam gerektiğinde de yardımcı oldu.

Her şeyi birbirine takın ve ardından Güç Kaynağını şebekeye takın. Ardından, PIR sensörünün yanına yaklaşırsanız, tetiklenmeli ve ışıkların zarif bir şekilde söndüğünü görmelisiniz.

Benim gibi, ışıklar yanlış sırayla sönüyorsa, sadece hangi kablonun hangisi olduğunu bulun ve kabloları güzelce sönene kadar başka bir prize takıp çıkarın.

Ayrıca program ayarlarını yapmak isteyebilirsiniz (LED şeritler ne kadar uzun olursa, 'tam parlaklıkta' o kadar koyu göründüklerini fark ettim) ve arduino'yu bilgisayarınıza takıp yeni bir program yükleyebilirsiniz.

Arduino'ya iki güç kaynağının (USB de güç sağlar) olmasının iyi bir fikir olmadığını bir yerde okumuş olsam da, arduino'yu Güç Kaynağına taktım ve ardından USB bağlantısını da bilgisayara taktım. Seri Bağlantı Noktası monitörünü kullanarak neler olduğunu izleyebiliyordum. Bu benim için iyi çalıştı, bu yüzden bunu da yapmak istiyorsanız, seri mesajları kodda bıraktım.

Her şeyin çalıştığını onayladıktan sonra, her şeyi kutulara yerleştirmenin zamanı geldi. Bunun için sadece sıcak tutkal kullandım.

Kutunun içindeki her şeyin konumuna bakarsanız, MOSFET panolarının kutunun her iki tarafına da oturabildiğini ve bu döngülerin çıkışından gelen kablonun ve 2.1 mm'lik soketin daha sonra yerleştirilebileceğini göreceksiniz. MOSFET'in kendisine delikten ve yerinde tutmak için takılı somundan. Küçük bir tutkal damlası bunları yerinde tutmaya yardımcı olur, ancak gerekirse yine de çıkarılabilirler.

Arduino, kutunun üstünde yanlara doğru oturmalı ve güç girişi için chocblock altta oturmalıdır.

Tüm kabloları ölçüp tekrar lehimlemek için vaktiniz varsa, bunu yapmaktan çekinmeyin, ancak hem bir kutunun içinde hem de tezgahlarımın altına gizlenmiş olduğu için, tellerden oluşan 'fare yuvamı' orta boşlukta bıraktım. (Isınmaları durumunda MOSFET'lerin üzerindeki soğutuculardan uzakta).

Ardından kapağı kutunun üzerine koyun, prize takın ve keyfini çıkarın!

Adım 6: Özet ve Gelecek

Umarım bunu faydalı bulmuşsunuzdur ve yeni mutfağım için (dört LED elemanlı) tasarlamama rağmen, başka amaçlar için kolayca uyarlanabilir.

Bu LED'ler çoğu amaç için yeterli ışık sağladığı ve mutfağı daha ilginç bir yer haline getirdiği için ana mutfak ışıklarını kullanma eğiliminde olmadığımızı görüyorum.

Bu benim ilk Arduino projem ve kodlama kısmı elektronik tasarım süreçleri yerine (paslı!) kodlama becerilerimi kullanmama izin verdiği için kesinlikle son olmayacak ve Arduino bağlantısı ve desteği, ihtiyaç duymadan gerçekten harika fonksiyonlar sunuyor. çok sayıda elektrik devresi yapmak.

LED şeritlerin yüksek akımını sürmek için MOSFET'leri yeni satın alabilirdim (veya başka bir yöntem kullanabilirdim), ancak bu, destek bileşenlerini (diyot, direnç, vb.), bu yüzden panolar için küçük bir ekstra ödemenin haklı olduğunu hissettim.

Özel projenizdeki diğer aydınlatma devrelerini, hatta fanları veya diğer motor devrelerini çalıştırmak için bunu değiştirmek isteyebilirsiniz. Aynı şekilde çalışmalı ve Darbe Genişliği Modülasyonu yöntemi bu cihazlarla iyi çalışmalıdır.

Mutfağımızda ışıkların vurgu yapması gerekiyordu, bu yüzden onları her zaman kullanırız. Ancak başlangıçta, yalnızca yeterince karanlık olduğunda oluşan 'AÇIK' durumunu etkinleştirmek için bir ışık sensörü eklemeyi düşünüyordum. Koddaki aşamalı döngüler nedeniyle, Arduino'daki Analog pinlerden birine bir Işık Bağımlı Direnç eklemek ve ardından 'OFF' döngüsündeki koparma koşulunu basitçe sensörün VE LDR'nin beklemesini beklemek için değiştirmek kolay olacaktır. belirli bir değerin altında olun, örneğin while ((digitalRead(SENSOR) == LOW) ve (LDR <= 128));.

Bu ve diğer önerilerle ne düşündüğünüzü veya ne yaptığınızı bana bildirin!

Önerilen: