Mündəricat:

Arduino Powered, Sensorla İdarə olunan Solğun LED İşıq Şeritləri: 6 Addım (Şəkillərlə birlikdə)
Arduino Powered, Sensorla İdarə olunan Solğun LED İşıq Şeritləri: 6 Addım (Şəkillərlə birlikdə)

Video: Arduino Powered, Sensorla İdarə olunan Solğun LED İşıq Şeritləri: 6 Addım (Şəkillərlə birlikdə)

Video: Arduino Powered, Sensorla İdarə olunan Solğun LED İşıq Şeritləri: 6 Addım (Şəkillərlə birlikdə)
Video: E18-D80NK IR maneə yaxınlığına dair sensorlar (infraqırmızı sensor) E3F-R2 2024, Iyul
Anonim
Image
Image

Bu yaxınlarda mətbəximi yenilədim və işıqlandırmanın dolabların görünüşünü 'qaldıracağını' bilirdim. "Əsl Əlsiz" ə getdim, buna görə iş səthinin altında bir boşluq var, həm də şkafın altında, dolabın altında və mövcud şkafların üstündə və onları işıqlandırmaq istədim. Ətrafı araşdırdıqdan sonra tam olaraq istədiklərimi tapa bilmədim və bunu özüm etmək istədim.

İşıqlandırma üçün tək rəngli, isti ağ LED şeritləri seçdim (qorumaq üçün elastik plastik örtüklü suya davamlı tip).

Divar şkafları üçün, altda düz olduqları üçün, çox aşağı profilli işıqlar seçdim və kabinetin içərisinə və arxasına keçdim (şkafların içərisində kabel üçün Dremel istifadə edərək bir yiv kəsdim, sonra yenidən doldurdum) Bir dəfə kabel içəridə idi, buna görə heç bir iz yoxdur).

AMMA… Böyük bir keçid istəmədim və işıqların necə göründüyünə mükəmməl baxmaq istədim, buna görə ətrafa baxdıqdan sonra bir az yuxarı/aşağı açarları və bir Alexa aktiv olanı tapdıqdan sonra yenə də tapa bilmədim. bütün işıqlandırmanı işlədə bilər və hələ də yaxşı görünə bilər, buna görə özüm etmək qərarına gəldim.

Buna görə də mənim layihəm dörd işığın hamısına güc verə biləcək, passiv sensordan sürətlə sönən bir cihaz istehsal etmək idi - mətbəxdən çıxana qədər davam edin və ya onu "məcbur etməyə" məcbur edin və ya mətbəxdən kimsəni görməsə əvvəlcədən təyin olunmuş vaxtdan sonra sönmək üçün çıxsam.

(Və bu, Amazon-dan əvvəlcədən qurulmuş bir vahiddən çox xərc çəkmədi-ehtiyat hissələri ilə!).

İşdə bunun videosunu təqdim edirik

Addım 1: hissələr

Aşağıda Amazon -dan istifadə etdiyim hissələrin siyahısı var. Satın almaq üçün linki vurmaqdan çekinmeyin, amma oxşar əşyalarınız varsa, onlardan istifadə edin !!! Diqqət yetirin ki, bunlardan bəziləri 'çoxsaylı' maddələrdir, buna görə də dostlarınız və ya ailəniz üçün və ya digər layihələr üçün kifayət qədər ehtiyata sahib olmalısınız - amma o qədər ucuzdur ki, bir dəfə almaq çox vaxt hər halda nəqliyyat xərcləri ilə kompensasiya olunur ….

Bu layihə üçün hissələr:

Tam Arduino dəsti (Qeyd: lazım deyil, amma gələcəkdə oynamaq üçün çox şey var!):

Arduino NANO (Qutunun içərisində istifadə olunur):

PIR Sensoru:

LED İşıq Şeritləri:

LED Sürücü (Enerji təchizatı):

MOSFET lövhələri:

Açarları etmək üçün basın:

Arduino və MOSFET -ləri saxlamaq üçün qara qutu:

Sensor və keçid üçün ağ qutu:

Komponentlərdən LED şeridlərinə tel bağlamaq:

2.1 mm fiş və prizlər:

Arduino'yu digər komponentlərə bağlamaq üçün tel:

Termal soyuducular (MOSFETlər üçün):

Termal iki tərəfli lent:

İstilik daralması

Addım 2: Texnologiya və Bir -birinə Necə Uyğundur

Texnologiya və Bir -birinə Necə Uyğundur
Texnologiya və Bir -birinə Necə Uyğundur
Texnologiya və Bir -birinə Necə Uyğundur
Texnologiya və Bir -birinə Necə Uyğundur

Bunu etmək üçün əvvəlcə dövrəni etməliyik …

Başlamaq üçün bir çörək taxtası və tam ölçülü bir Ardiuno Uno istifadə etdim. Daha əvvəl heç bir Arduino istifadə etməmişəm, üçüncü tərəf Uno və bir hissə dəsti daxil olmaqla bir paket aldım (bundan sonra digər layihələr üçün istifadə edəcəyəm). Açıqca bu layihəni izləyirsinizsə bunu etməyinizə ehtiyac yoxdur, ancaq bunun başqa şeylər də qurmağınıza səbəb ola biləcəyi yaxşı bir fikirdir.

Çörək taxtası, elektron hissənin dizaynını sınamaq üçün telləri və komponentləri plastik bir lövhəyə itələməyə imkan verir.

Bir neçə qırmızı LED ilə bir araya gətirdim və bu, proqramın solğun hissəsinin necə işlədiyini yoxlamağa imkan verdi (10 saniyədən sonra müvəqqəti olaraq qurdum, beləliklə pillələnmiş solğunluğun təsirini görə bildim.). Bunun iş üsulu, LED -lərin ani açılması/söndürülməsi (ənənəvi lampalardan fərqli olaraq), buna görə dəyişən bir gərginlik qoymağa ehtiyac yoxdur - onları o qədər tez aça və söndürə bilərsiniz ki, o qədər də parlaq deyillər.. Buna Pulse Wave Modulation (PWM qısaca) deyilir. Əsasən, onları 'nə qədər uzun müddət saxlasanız, o qədər parlaq olurlar.

Diqqət: əsl işıq şeridlərini bağladıqdan sonra, hər bir zolağın cari çəkilişi onların bir az daha az parlaq olmasına səbəb olur və bir qədər fərqli şəkildə solur - buna görə proqramı bəzi konfiqurasiya edilə bilən parametrlərlə hazırladım)

LED şeridlərini birbaşa idarə etmək üçün kiçik bir elektrik təchizatı satın ala bilsəniz də, onlardan dördü olduğu üçün bir LED sürücüsü (əsasən daha yüksək cərəyan çıxışı olan bir enerji təchizatı) almağa qərar verdim. Əsl cari çəkilişi tikilənə qədər yoxlamadığım üçün bunu çox qiymətləndirmişəm (hamısı mətbəx quraşdırılmadan əvvəl etdiyim kimi). Mövcud bir mətbəxə (və ya bunun üçün istifadə etdiyiniz hər şeyi) retro quraşdırırsınızsa, zolaq başına cərəyanı ölçə, dəyərləri bir yerə əlavə edə və sonra uyğun bir LED sürücüsü seçə bilərsiniz (növbəti güc dərəcəsi).

Çörək bişirdikdən sonra anladım ki, işıqlardan gələn cərəyan birbaşa Arduinodan sürmək üçün çox yüksək olacaq, buna görə də real cihaz üçün bəzi MOSFET -lərdən istifadə etdim - bunlar əsasən bir röle kimi hərəkət edir - güc alsalar (aşağı güc tərəfdən)), sonra yüksək cərəyan tərəfində əlaqəni açırlar.

Mən burada aldadım - əsl MOSFET -ləri yeni almış olardım, amma hal -hazırda vidalı bağlayıcılar və lövhədə kiçik SMD LED işıqları ilə birlikdə kiçik elektron lövhələrə quraşdırılmışlar var ki, onların vəziyyətini görə biləsiniz. Lehimləmə zamanı qənaət edirsiniz? Cəhənnəm bəli!

MOSFET-lərlə belə, LED şeritlərinin uzunluğunun maksimum reytinqi hələ də bir neçə AMP çəkirdi və MOSFET onları daha soyuq saxlamağa kömək etmək üçün bir istilik qabı əlavə etməyi tövsiyə etdi. Kiçik soyuducular aldım və soyuducunun metal hissəsinə yapışdırmaq üçün iki tərəfli termal bant istifadə etdim. Tam gücdə yenə də qızdırırlar, amma proqramımdakı maksimum parlaqlığı tənzimlədikdən sonra (LEDlər çox parlaq idi), MOSFET -lərin onsuz da isti işləmədiyini gördüm, amma komponentlərin ömrünü uzatmaq üçün onları əlavə etməyə dəyər. ya da məndən daha parlaq bir səviyyəni seçsəniz.

Sensor artıq kiçik bir elektron lövhədə qablaşdırılmışdır və buna bütün dəstək sxemləri, həmçinin bir neçə tullanan (fərqli variantları seçmək üçün mövqelər arasında keçid edə biləcəyiniz bir keçid olan kiçik sancaqlar) daxildir. vaxt. Bunu öz timerimizi işə salmaq üçün istifadə etdiyimiz üçün onları standart vəziyyətdə buraxa bilərik.

İşıqları davamlı olaraq yandırıb ikinci bir basışla söndürməyimə icazə vermək üçün sensorun yanına kiçik bir Push to Make düyməsini əlavə etdim. Bu, Arduinonun tez -tez düymənin basıldığını düşündüyünü, buna görə də təsadüfi olaraq işıqları yandırıb söndürəcəyini düşündüyüm şeylərin birləşməsi kimi ən çox problem yaşadığım komponent idi. Bu, Arduino daxilindəki səs-küyün, kabelin uzunluğunun, Ground/0V xəttindəki səs-küyün və açarların içindəki əlaqələrin səs-küylü olması ilə əlaqədardır. Bir neçə şeylə oynadım, amma nəticədə bir neçə millisaniyə üçün düyməni basdığım proqramı yoxlamağa qərar verdim-əsasən sıçrayan, eyni zamanda hər hansı bir səs-küyə məhəl qoymayan.

Həqiqi qurğu üçün, sensoru və itələyicini yerləşdirmək üçün kiçik, gözəgörünməz bir qutu və bütün MOSFET lövhələri və kabellərini quraşdıran başqa bir qutu tapdım. İşi asanlaşdırmaq üçün, cərəyanı keçirə bilən (və asan identifikasiya üçün bir kabel işarələnmiş) bir neçə nüvəli kabel aldım və bunu mətbəx ətrafında işıq şeritlərinin hər birinin başlanğıc nöqtəsinə qədər çəkdim. Kabelləri bir fişdə bağlamağa imkan verən bir neçə priz və fiş də aldım və dörd yuvanı daha böyük qutuya quraşdırdım. Bu şəkildə işıq şeridlərini yenidən sifariş edə bilərəm ki, onlar zərbəni taxtadan, tutacaqlardan, şkafın altından və şkafın işığının üstündən, kodu dəyişdirmək əvəzinə, sadəcə ayıraraq başlasınlar.

Bu qutu eyni zamanda yuxarıda bir Arduino NANO (yenidən 3 funt sterlinqdən aşağı olan üçüncü tərəf lövhəsi) quraşdırdı. Kiçik əlaqələri NANO-dan çıxarmaq və MOSFETS və s. Üçün müxtəlif rəngli tək nüvəli kabeldən istifadə etdim (istiliyədavamlı izolyasiya ilə istifadə etdim, amma ehtiyacınız yoxdur). Hələ də MOSFET-lərdən prizlərə qədər yüksək cərəyanlı iki nüvəli kabeldən istifadə etdim.

Qutuları qazmaq üçün xoşbəxtlikdən bir sütun matkabım var idi, amma onsuz da kiçik bir qazma ucu ilə bir pilot çuxuru qaza bilərsiniz və sonra pilləli qazma ucundan istifadə edərək çuxuru genişləndirə bilərsiniz (https:// amzn.to/2DctXYh). Bu yolla, xüsusən ABS qutularında daha səliqəli və daha idarə olunan deliklər əldə edirsiniz.

Delikləri diaqrama uyğun olaraq qazın.

Ağ qutu, sensorun mövqeyini və ağ fresnel lensin yerləşdiyi yeri qeyd etdim. Sonra bunun mərkəzinin harada olduğunu tapanda bir pilot çuxuru qazdım və daha sonra genişləndirmək üçün daha böyük pilləli matkap ucunu istifadə etdim (daha böyük ölçüdə 'ağac' matkap ucundan istifadə edə bilərsən). Sonra çuxuru bir az daha böyük zımpara etmək məcburiyyətində qaldım, amma bütün fresnel lensini çuxurdan itələmədim - çuxuru kiçik tutaraq sensoru o qədər də görünməz hala gətirmir.

Ağ qutuda, qutunun divara vidalanmasına icazə vermək üçün yan tərəfə yapışan bir neçə tutacaq olduğunu da tapa bilərsiniz, amma bunları kəsdim. Daha sonra bir tərəfdən istifadə etdiyim daha böyük 4 nüvəli kabeli uyğunlaşdırmaq üçün hazırlanmış qutudakı kiçik kəsikləri genişləndirdim və qutunun digər tərəfini açara uyğun genişləndirdim (şəklə baxın).

Addım 3: Kabel bağlayın

Bağlama
Bağlama

Əlavə edilmiş elektrik sxeminə baxın.

Əsasən, itələyici bağlayıcılardan istifadə edə bilərsiniz və sonra Arduino ilə birlikdə gələn pinlərdə lehim edə bilərsiniz və ya mənim etdiyim kimi birbaşa Arduino lövhəsindəki pinlərə lehimləyin. Hər hansı bir lehimləmə işində olduğu kimi, təcrübəsizsinizsə, əvvəlcə Youtube videolarına baxın və məşq edin - amma mahiyyətcə: 1) Dəmirin üstünə yaxşı bir istilik (çox isti və çox soyuq deyil) istifadə edin və ucunun çuxurlu olmadığından əmin olun.. 2) Lehimi dəmirin ucuna "yükləməyin" (ilk işə başladığınızda ucunu "qalaylamaq" yaxşı bir təcrübə olsa da artıqlığını silin və ya yıxın - dəmirin ucunu komponentə toxundurun və qısa müddət sonra lehim ucuna və komponentə eyni anda toxunun və lövhəyə 'axmalıdır'. sərinləmək üçün buraxın və bir müddət sonra yenidən cəhd edin və eyni sahədə çox uzun müddət işləməyin. 4) üç əliniz olmadıqda və ya çubuq tutmaq təcrübəniz yoxdursa, komponentləri bir yerdə saxlamaq üçün köməkçi əllərdən birini alın (məsələn

Həyatı asanlaşdırmaq üçün MOSFET lövhələrindəki 3 pinli bağlayıcıları da lehimlədim. Bunu etmək üçün, yenidən lehim etməsi üçün mövcud lehim bağlantısına bir az lehim əridin, sonra isə hələ də ərimiş halda sancaqları çəkmək üçün bir cüt pens istifadə edin. Komponenti çıxarmazdan əvvəl əridilmiş lehimi çəkmək üçün bir lehimləmə nasosunuz və ya fitiliniz varsa kömək edir (məsələn https://amzn.to/2Z8P9aT), ancaq onsuz edə bilərsiniz. Eynilə, istəsəniz, birbaşa sancaqlara lehim edə bilərsiniz (lövhəyə birbaşa tel bağlasanız daha səliqəlidir).

İndi, bağlama sxeminə baxın.

İncə tək nüvəli teldən bir parça götürün və ucundan bir az izolyasiya alın (rolson soyucuları və kəsicini yaxşı görürəm https://amzn.to/2DcSkom) sonra telləri bükün və üzərinə bir az lehim əridin onları bir yerdə tutun. Teli lövhədəki çuxurdan itələyin və sonra teli yerinə lehimləyin.

Bunu sadaladığım Arduino üzərindəki bütün tellər üçün davam etdirin (ehtiyac duyduğunuz rəqəmsal pinlərdən istifadə edin - 4 dəst işıqım var, amma daha çox və ya daha az istifadə edə bilərsiniz). İdeal olaraq istifadəyə uyğun rəngli kabel istifadə edin (məsələn, 12V Qırmızı, GND qara və s.).

İşləri səliqəli etmək və qısa qapanmaların qarşısını almaq üçün, lehimdən əvvəl hər bir əlaqə üçün bir az istilik büzüşmə qolunu (https://amzn.to/2Dc6lD3) sürüşdürməyi məsləhət görürəm. Lehim edərkən uzaq tutun, sonra birləşmə soyuduqdan sonra və hər şeyi sınaqdan keçirdikdən sonra onu bağlamanın üzərinə sürüşdürün və bir neçə saniyə istilik tabancası ilə qızdırın. Səliqəli bir birləşmə etmək üçün kiçilir.

QEYDLƏR: Bir yerdə oxudum ki, Arduino D12 və ya D8 -dəki bəzi sancaqlar arasında müəyyən bir kəsişmə var. Təhlükəsiz olmaq üçün dördüncü çıxış üçün D3 istifadə etdim - amma başqalarını sınamaq istəyirsinizsə, özünüzü sərbəst hiss edin, kodda yeniləməyi unutmayın.

Kabelləri qutunun içərisinə sığdırmaq üçün ağlabatan uzunluğa kəsin, sonra uclarını yenidən kəsin və qalaylayın. Bu dəfə, kabelləri göstərildiyi kimi pinlərdəki MOSFET lövhələrinə lehimləyin. Hər bir rəqəmsal çıxış (D9, D10, D11 və D3) dörd lövhədən birinə lehimlənməlidir. GND çıxışları üçün hamısını bir araya gətirdim və bir lehim parçası ilə birləşdirdim - ən səliqəli yol deyil, amma hər halda bir qutuda gizlənir ….

Arduino -dan MOSFET -ə

Giriş gərginliyi +12V və GND-ni eyni şəkildə bağladım və onları və 2 nüvəli kabelin qısa uzunluqlarını Chocblock-a qoydum. Bu, Choblock-dan LED sürücüsündən/PSU-dan gələn gücün gərginliyi azaltmaq üçün istifadə etməyə imkan verdi və daha qalın 2-nüvəli kabellərin daha səliqəli şəkildə birləşdirilməsinə imkan verdi. Əvvəlcə kabellərin uclarını qalayladım, ancaq MOSFET lövhələrindəki əlaqələrə uyğun olmadığını gördüm, buna görə də qalaymış ucları kəsdik və daha yaxşı bağladılar.

2 nüvəli kabelin 4 sm uzunluğunda bir az daha götürüb 2.1 yuvasına lehimlədim. Diqqət yetirin ki, bunların üzərində üç sancaq var və biri bir əlaqə kəsildikdə yem təmin etmək üçün istifadə olunur. Daxili pin (12V) və xarici (GND) üçün əlaqəni istifadə edin və üçüncü pimi ayırmayın. Sonra hər bir kabeli qutunun yan tərəfindəki deliklərdən keçirin, bir qoz əlavə edin, sonra MOSFET konnektorunun çıxış terminallarına daxil edin və bərkidin.

Sensorun bağlanması

Dörd nüvəli bir kabel istifadə edərək, PSU-nu gizlətdiyiniz yerdən sensoru yerləşdirmək istədiyiniz yerə getmək üçün kifayət qədər uzunluq kəsin (bu əraziyə gedərkən sizi tutacaq bir yer olduğundan əmin olun, ancaq qonşu otaqda kimsə yanından keçəndə ayaq açmır!).

Sensor lövhəsindəki sancaqlara telləri lehimləyin (istəsəniz sancaqları çıxara bilərsiniz) və qısa bir kabel istifadə edərək (qara!) GND kabelini açarın bir tərəfinə davam etdirmək üçün bir keçid kabeli bağlayın. Sonra 4 nüvəli kabeldən başqa bir telə keçidin digər tərəfinə lehimləyin.

Sensoru yerləşdirin və ağ qutuya keçirin, sonra kabeli otağınızın ətrafında gəzdirin və sonra kabelin digər ucunu qara qutunun çuxurundan itələyin və telləri Arduino üzərindəki düzgün sancaqlara lehimləyin.

Kabelin çəkilməsinin və Arduino ilə əlaqənizi korlamasının qarşısını almaq üçün qutunun içindəki kabelin ətrafına kiçik bir kabel bağlayın.

Güc

Aldığım LED Sürücü (Güc təchizatı) iki çıxış quyruğuna sahib idi - hər ikisi də 12V və GND çıxdı, buna görə də hər ikisini də istifadə etdim və 2 x LED iki MOSFET -dən keçdi və onlardan biri ilə təchiz olundu. enerji təchizatı çıxışları və digər çıxışdan digər 2 LED. İstifadə etdiyiniz LED -lərin yükündən asılı olaraq fərqli bir enerji təchizatı seçmiş ola bilərsiniz və yalnız bir çıxışınız ola bilər.

Beləliklə, mənim qutumda, Güc Təchizatından olan kabellərin daxil olduğu 2 x deşik var və sonra əlaqəni qurmaq və gərginliyi aradan qaldırmaq üçün içərisinə bir Chocblock qoydum.

Addım 4: Arduino Proqramı

Arduino proqramı
Arduino proqramı

Proqram (əlavə olunur) nisbətən başa düşülən olmalıdır və bütün müddət ərzində şərhlər verməyə çalışmışam. Zəhmət olmasa öz layihə tələbləriniz üçün onu dəyişdirə bilərsiniz.

Vacib: Bunu əvvəlcə bir parça dəsti və bir Arduino UNO üzərində qurdum. Arduino NANO lövhələrindən istifadə etsəniz, üzərindəki yükləyicinin daha yaşlı olması ehtimalı var. Bunu yeniləməyinizə ehtiyac yoxdur (bunun bir yolu var, amma bu layihə üçün lazım deyil). Etməyiniz lazım olan şey, Alətlər> İdarəetmə panelində Arduino NANO -nu seçdiyinizə əmin olmaq, sonra da Alətlər> Prosessor bölməsində düzgün olanı seçməkdir. COM portunu seçdikdən sonra serial konsoluna (Alətlər> Serial Monitor) qoşulduqda nə baş verdiyini də görə bilərsiniz.

Bu mənim ilk Arduino layihəmdir və Arduino proqramlaşdırma vasitələrini (proqramları yazıb lövhəyə yükləməyinizə imkan verən) yükləməyin və quraşdırmağın və istifadənin həqiqətən asan olmasından məmnun oldum. (IDE -ni https://www.arduino.cc/en/main/software saytından yükləyin)

Lövhəni bir USB portuna bağlayaraq, bir proqramı lövhəyə yükləyə biləcəyiniz bir cihaz kimi görünür və kod işləyir!

Kod necə işləyir

Əsasən hər şeyi təyin etdiyim bir az yuxarı hissə var. Burada işıqlar üçün istifadə etdiyiniz sancaqları, işıqların maksimum parlaqlığını (255 maksimumdur), nə qədər tez sönməsini və nə qədər tez sönməsini dəyişə bilərsiniz.

Bir işığın digərindən solması arasındakı boşluq olan bir ofset dəyəri də var - buna görə hər birinin sönməsini gözləməyinizə ehtiyac yoxdur - bir əvvəlki sönmə bitməmiş növbəti solmaya başlaya bilərsiniz.

Mənə uyğun olan dəyərləri seçdim, amma sınamaqdan çekinmeyin. Ancaq: 1) Maksimum parlaqlığı çox yüksəkə çevirməyi məsləhət görməzdim - işləsə də, işıqların çox parlaq və incə olmadığını hiss edirəm (və uzun bir LED xətti ilə əlavə cərəyan MOSFET -lərin istiləşməsinə səbəb olur. qutunu daha havalandırılan bir qutuya dəyişdirin). 2) ofset cari dəyərlər üçün işləyir, lakin LED -lərin tətbiq olunan gücə əsaslanaraq parlaqlığını xətti bir şəkildə artırmaması səbəbindən yaxşı bir təsir əldə edənə qədər digər parametrləri də tənzimləməyinizə ehtiyac ola bilər. 3) Fade up rejimində, tezgah üstü işıqlarımın maksimum parlaqlığını maksimum 255 olaraq təyin etdim (daha az cərəyan çəkirlər, buna görə də MOSFET-ləri çox qızdırmayın və nə bişirdiyimi də görmək istəyirəm!).

Quraşdırma hissəsindən sonra böyük bir döngə var.

Bu, göyərtədəki LED -də bir və ya iki flaşla başlayır (belə ki, işlədiyini görə bilərsiniz, həm də sensorun diapazonundan çıxmaq şansını vermək üçün gecikmə kimi). Kod sonra bir döngədə oturur və sensordan tetiklenen bir dəyişikliyi gözləyir.

Bunu əldə etdikdən sonra, FadeSpeed1 dəyərində göstərdiyiniz məbləğ artaraq, seçilmiş maksimum dəyərdəki 4 cihazın hamısının 0 -a qədər saydığı TurnOn yönləndirməsini çağırır. Hər bir çıxışın maksimum parlaqlıqdan daha böyük olmasını qarşısını almaq üçün constrain əmrindən istifadə edir.

Sensor yenidən işə salındıqda bir dəyəri sıfırlayaraq başqa bir döngədə oturur. Bu sıfırlanmırsa, Arduino timer bu nöqtəyə çatdıqda, döngədən çıxır və TurnOff rejimini çağırır.

"Açıq vəziyyətdə" döngəsinin istənilən nöqtəsində, keçid bir neçə milisaniyədən çox basıldığı təqdirdə, işıqları təsdiqləyirik və sonra timer dəyərinin həmişə sıfırlanmasına səbəb olan bir bayraq qururuq - beləliklə işıqlar heç vaxt sönmür. yenidən. Şalterə ikinci dəfə basmaq, işıqların yenidən yanıb sönməsinə və döngənin çıxmasına səbəb olur, bu da işıqların sönməsinə və sıfırlanmasına imkan verir.

Addım 5: Hamısını Qutuya Qoyun

Hamısını Qutuya Qoymaq
Hamısını Qutuya Qoymaq
Hamısını Qutuya Qoymaq
Hamısını Qutuya Qoymaq

Hər şeyi bağladıqdan sonra sınamağın vaxtı gəldi.

Sensor üçün orijinal yerimin işləməyəcəyini gördüm, buna görə də kabeli qısaldaraq yeni bir yerə qoydum - müvəqqəti olaraq isti əriyən yapışqan ilə yapışdırdım, amma orada çox yaxşı işləyir velcro yastiqcikleri istifade etmek yerine orda qaldi.

Sensorda, PIR -in həssaslığını və sensorun nə qədər işə düşməsini tənzimləməyə imkan verən bir neçə dəyişən potansiyometr var. Koddakı 'nə qədər uzun' elementinə nəzarət etdiyimiz üçün bunu ən aşağı dəyərdə buraxa bilərsiniz, ancaq həssaslıq seçimini tənzimləməkdən çekinmeyin. Bir tullanan da var - bunu standart vəziyyətinə buraxdım, həm də sensorun "yenidən işə salınmasına" imkan verir - yalnız bir dəfə səni aşkar edərsə, hər zaman köhnəlirsə, bu keçidi hərəkət etdirməyin vaxtıdır!

Testlərə kömək etmək üçün işıqların yanma müddətini 2 dəqiqə gözləmək əvəzinə təxminən 12 saniyəyə qısaldım. Diqqət yetirin ki, onu tamamilə söndürmək üçün lazım olan vaxtdan daha az etsəniz, kod həmişə maksimum vaxtdan artıq olacaq və dərhal sönəcək.

LED şeritləri üçün, şeridi işarələnmiş nöqtələrdə kəsməlisiniz. Sonra iti bir bıçaqla (amma sonuna qədər kəsməmək üçün diqqətli olun!) Su keçirməyən örtüyü metal zolağa kəsin və sonra iki lehim yastığını açaraq soyun. Bunun üzərinə bir az lehim qoyun (yenə də onları çox qızdırmamağa diqqət edin) və iki nüvəli bir tel bağlayın. Sonra telin digər ucunda, bir fiş üzərində lehimləyin, beləliklə onu idarə etmək üçün dövrəyə daxil edə bilərsiniz.

Qeyd: Sadəcə sürüşdürə biləcəyiniz LED şeritləri üçün 90 dərəcə bağlayıcı alsam da, amma titrəyəcək və ya uğursuz olacaq qədər pis bir əlaqə qurduqlarını gördüm. Buna görə zolaqları istədiyim ölçüdə kəsdim və əvəzinə LED şerit parçaları arasında birləşdirici bir kabel lehim etdim. Qabyuyan maşın və soyuducunun olduğu yerləri daha uzun birləşdirmək məcburiyyətində qaldığım üçün şkafın altındakı zolağı idarə etməli olduğum zaman bu da kömək etdi.

Hər şeyi bir yerə bağlayın və sonra Güc Təchizatını elektrik şəbəkəsinə qoşun. Sonra PIR sensoru yaxınlığında hərəkət etsəniz, işə salınmalı və işıqların zərif bir şəkildə söndüyünü görməlisiniz.

Əgər mənim kimi işıqlar səhv qaydada sönərsə, sadəcə olaraq hansı kabelin olduğunu müəyyənləşdirin və gözəl bir şəkildə sönənə qədər kabelləri başqa bir yuvaya çıxarın/dəyişdirin.

Proqram parametrlərini də düzəltmək istəyə bilərsiniz (LED şeridlərinin nə qədər uzun olduğunu, 'tam parlaqlıqda' göstərdikləri qaranlığı gördüm) və arduinonu kompüterinizə qoşub yeni bir proqramı yenidən yükləyə bilərsiniz.

Arduino -ya iki enerji təchizatı qoymağın yaxşı bir fikir olmadığını bir yerdə oxusam da (USB də güc verir), sonda arduino -nu Güc Təchizatına bağladım və sonra USB bağlantısını kompüterə qoşdum. Serial Port monitorundan istifadə edərək nə baş verdiyini izləyə bilərdim. Bu mənim üçün yaxşı işləyir, buna görə də bunu etmək istəyirsinizsə, serial mesajlarını kodda qoymuşam.

Hər şeyin işlədiyini təsdiqlədikdən sonra hər şeyi qutulara yerləşdirməyin vaxtı gəldi. Bunun üçün sadəcə isti yapışqan istifadə etdim.

Qutudakı hər şeyin mövqeyinə baxsanız, MOSFET lövhələrinin qutunun hər iki tərəfinə otura biləcəyini və bu döngələrin çıxışından çıxan kabelin və 2.1 mm yuvanın yanında yerləşdirilə biləcəyini görəcəksiniz. MOSFET -in özünə, delikdən və qozu yerində tutmaq üçün bağlayın. Kiçik bir yapışqan onları yerində saxlamağa kömək edir, lakin lazım olduqda yenə də çıxarıla bilər.

Arduino, qutunun üstündə yan-yana yerləşdirilməli və giriş üçün chocblock altda oturmalıdır.

Bütün kabelləri ölçmək və yenidən lehimləmək üçün vaxtınız varsa, bunu etməkdən çəkinməyin, amma həm qutunun içərisində, həm də dəzgahlarımın altında gizləndiyindən, tellərimin ortasında "siçovul yuvamı" buraxmışam. qutu (MOSFET -lərdəki qızdırıcılardan uzaqdır, istilərsə).

Sonra sadəcə qapağı qutunun üzərinə qoyun, qoşun və zövq alın!

Addım 6: Xülasə və Gələcək

Ümid edirəm bunu faydalı hesab etdiniz və yeni mətbəxim üçün (dörd LED elementli) dizayn etməyimə baxmayaraq, digər məqsədlər üçün asanlıqla uyğunlaşdırıla bilər.

Bu LED -lərin əksər məqsədlər üçün kifayət qədər işıq verdiyini və mətbəxi daha maraqlı bir yer halına gətirdiyindən əsas mətbəx işıqlarını istifadə etməyə meylli olmadığımızı görürəm.

Bu mənim ilk Arduino layihəmdir və kodlaşdırma hissəsi elektron dizayn proseslərindən daha çox (paslı!) Kodlaşdırma bacarıqlarımdan istifadə etməyimə imkan verdiyi üçün əlbəttə mənim son layihəm olmayacaq və Arduino bağlantısı və dəstəyi ehtiyac olmadan çox gözəl funksiyalar verir. çoxlu elektrik dövrələri etmək.

LED şeritlərinin yüksək cərəyanını idarə etmək üçün MOSFET -lərin özlərini satın ala bilərdim (və ya başqa bir üsuldan istifadə edə bilərdim), amma bu, dəstək komponentlərinin (diod, rezistor və s.) Alınması demək olardı və lövhədəki SMD LED -i faydalı idi, buna görə lövhələr üçün kiçik bir əlavə ödəməyi hiss etdim.

Xüsusi layihənizdə digər işıqlandırma dövrələrini, hətta fanatları və ya digər motor dövrələrini idarə etmək üçün bunu dəyişdirmək istəyə bilərsiniz. Eyni şəkildə işləməlidir və Pulse Width Modulation metodu bu cihazlarla yaxşı işləməlidir.

Mətbəximizdə işıqların vurğu üçün olması lazım olduğu üçün hər zaman istifadə edirik. Ancaq əvvəlcə kifayət qədər qaranlıq olanda "ON" vəziyyətini təmin etmək üçün bir işıq sensoru əlavə etməyi düşünürdüm. Koddakı mərhələli döngələrə görə, Arduino -dakı analoq pinlərdən birinə İşıqdan Asılı Rezistor əlavə etmək və sonra sensorun və LDR -nin işləməsini gözləmək üçün 'OFF' döngəsindəki qırılma vəziyyətini dəyişdirmək asan olardı. məsələn, müəyyən bir dəyərin altında olmaq ((digitalRead (SENSOR) == LOW) və (LDR <= 128));.

Bu və digər təkliflərlə nə düşündüyünüzü və ya nə etdiyinizi mənə bildirin!

Tövsiyə: