Mündəricat:

Lazer Göstərici və Arduino ilə Floresan İşıqları İdarə Edin: 4 addım
Lazer Göstərici və Arduino ilə Floresan İşıqları İdarə Edin: 4 addım

Video: Lazer Göstərici və Arduino ilə Floresan İşıqları İdarə Edin: 4 addım

Video: Lazer Göstərici və Arduino ilə Floresan İşıqları İdarə Edin: 4 addım
Video: How to use Laser Transmitter and Laser sensor for Arduino 2024, Noyabr
Anonim
Lazer Göstərici və Arduino ilə Floresan İşıqları İdarə Edin
Lazer Göstərici və Arduino ilə Floresan İşıqları İdarə Edin
Lazer Göstərici və Arduino ilə Floresan İşıqları İdarə Edin
Lazer Göstərici və Arduino ilə Floresan İşıqları İdarə Edin

Alpha One Labs Hackerspace -in bir neçə üzvü floresan qurğular tərəfindən verilən sərt işığı sevmir. Fərdi qurğuları asanlıqla idarə etmək üçün bir yol istədilər, bəlkə də lazer göstəricisi ilə? Bir yığın bərk hal rölesi qazıb Laboratoriyaya gətirdim. Bir Arduino Duemilenova aldım və bir halogen lampanı qırpmaq üçün LED Blink nümunə eskizinin istifadəsini nümayiş etdirdim. LED -lərin işıq sensoru kimi istifadəsi haqqında bəzi məlumatlar tapdım [1] və texnikanı nümayiş etdirən Arduino eskizi [2]. LEDlərin demək olar ki, həssas olmadığını gördüm - lazer birbaşa işıq yayan hissəyə və ya LED -ə işarə etməli idi. qeydiyyatdan keçməzdi. Beləliklə, fototransistorlara keçdim. Daha həssasdırlar və daha geniş diapazonlarda. Transistor üzərindəki uyğun filtrlə onu qırmızı işığa daha çox həssas edə bilərdim və sensora daha geniş açılardan. DİQQƏT VƏ XƏBƏRDARLIQ: Bu təlimat 120 və ya 240 volt xətti (şəbəkə) gərginliyi ilə əlaqədardır. Bu dövrəni qurursanız sağlam düşüncədən istifadə edin - bir şeydən şübhəniz varsa, bilənlərdən soruşun. Siz (və başqalarının) təhlükəsizliyindən və yerli elektrik kodlarına riayət etməyinizdən məsuliyyət daşıyırsınız.

Addım 1: Eskiz və bəzi nəzəriyyə

Arduino -nu necə gücləndirəcəyinizi və bir eskiz tərtib edib yüklədiyinizi biləcəyinizi güman edirəm. Hər bir lampa üçün telefon kabelindən istifadə edirəm, çünki ucuzdur, dörd konduktoru var və hər halda ətrafımda bir dəstə vardı. Ümumi +üçün qırmızı, torpaq üçün qara, fototransistor kollektoru üçün yaşıl və rölesi idarə etmək üçün sarı +istifadə etdim. Arduinodakı Analogdan Rəqəmsal Dönüştürücü (ADC), yerə nisbətən pimdəki gərginliyi ölçür. Fototransistor məlumat vərəqinə baxdım və tranzistorların tam işıqda 10mA keçdiyini multimetrlə yoxladım. Ohm qanunu istifadə edərək, 5V -də təxminən 500 ohmdur, Lampaları idarə etmək üçün bərk hal rölesi modulundan istifadə etdim. Bunlar bizə lazım olan mövcud reytinqdə nisbətən ucuzdur, 4A -a qədər təxminən 4 dollar. Sıfır keçid detektoru olan röle modullarını satın aldığınızdan əmin olun, xüsusən də floresan işıq, mühərrik və ya divarlı siğil transformatoru kimi induktiv bir şeyi idarə edirsinizsə. Onları hər hansı bir yerdə açmaq və ya söndürmək ancaq sıfır nöqtəsi cihazınızın ömrünü azaldacaq və ən pis halda yanğına səbəb olacaq gərginlik artımlarına səbəb ola bilər.

Addım 2: İşıqların naqilləri

İşıqların çəkilməsi
İşıqların çəkilməsi
İşıqların çəkilməsi
İşıqların çəkilməsi
İşıqların çəkilməsi
İşıqların çəkilməsi

Tavana baxın və Arduino nəzarətçisini harada quraşdıracağınıza qərar verin. Unutmayın ki, 7-12V gücündə bir elektrik təchizatı lazımdır. Arduinodan nəzarət etmək istədiyiniz hər bir işığa olan məsafədən təxminən iki fut daha uzun olan telefon tellərini (və ya cat5 və ya hər hansı bir şeyi) kəsin. Bağlayıcıları sifariş edə bilərsiniz (Newark Electronics, əlimizdə olan Wago 930 seriyasını satır). Sonra mövcud telləri kəsməyinizə ehtiyac olmayacaq və bir şey səhv olarsa sistemi silə bilərsiniz. Zəmini (qara) röle girişinə lehimləyin və nəzarət (sarı) girişi + (şəkildəki rəng kodu) ön səhifəyə qoyduğumdan fərqli, çünki mənalı olan şey haqqında fikrimi dəyişdim). Röleyə qara (isti) teli lehimləyin və ya vidalayın. İstilik büzücü və elektrik lentindən istifadə etdiyinizə əmin olun! Qara telləri bağlayıcılarınıza itələyin və ağ (neytral) və torpaq (yaşıl) konnektordan konnektora düz keçsin. Tellərin digər ucu Arduinoya aşağıdakı kimi gedir: Bütün qırmızı tellər (ümumi katot və ya kollektor) Analog 0 -a (C0 portu) gedin və hamısı qara olsun. Hər yaşıl (anod və ya yayıcı) 8-13 sancaqlarına (B 0-5 portu) və sarı tellər 2-7 sancaqlara (D 2-7 portu) keçir. Yaşıl və sarı tellərin uyğun olduğundan əmin olun, çünki sensorun müvafiq röleyi idarə etməsi lazımdır! Sarı 2 -ci pin daxil etsəniz, eyni qurğudan yaşıl pin 8 -ə keçir.

Addım 3: Eskiz və Dizayn Qeydlərinin Test Edilməsi

Bu addımda, yolda qarşılaşdığım sınaqlardan və çətinliklərdən və bu işlərin faydalı olacağı ümidi ilə necə çalışdığımdan bəhs edəcəyəm. Elm Məzmunu sizin işiniz deyilsə, növbəti mərhələyə keçməkdən çəkinməyin:-) İlk addım, kapasitiv algılama və ya rezistiv algılama istifadə etməyinizə qərar vermək idi. Rezistiv algılama, bir rezistor vasitəsilə sensoru analoq pinlərindən birinə bağlamaq və analogRead etmək və bir eşiklə müqayisə etməkdir. Bu tətbiq etmək ən asandır, lakin çoxlu kalibrləmə tələb edir. Kapasitiv algılama nəzəriyyəsi, əks istiqamətdə (- + qurğuşuna və əksinə) tərs olduqda bir LED cərəyanın axmasına icazə verməyəcək, ancaq elektronlar bir tərəfdə toplanacaq və bir kondansatörü effektiv şəkildə dolduraraq digər tərəfi tərk edin. Normalda yaydığı tezlikdə LED -ə düşən işıq əslində bu kondansatörü boşaldan kiçik bir cərəyana səbəb olacaq. Beləliklə, LED 'kondansatörünü' doldursaq və bir rezistordan nə qədər boşalacağını hesablasaq, LED -ə nə qədər işığın düşdüyü barədə kobud bir fikir əldə edirik. Bu, fərqli cihazlarda daha etibarlı olduğu ortaya çıxdı və hətta fototransistorlar üçün işləyir! Dəqiq bir lümen ölçmə etmədiyimizdən və lazer göstəricisi ətrafdan daha parlaq görünməli olduğundan, eşikli bir boşalma vaxtı axtarırıq. Yerləşdirilməmiş sistemlərin proqramlaşdırılması ilə tanış olanlar üçün, populyar bir üsul, kodun kritik nöqtələrində çap ifadələrini əlavə etməkdir. Bu, gömülü sistemlərə də aiddir, lakin hər bir mikro saniyə sayıldıqda, Serial.write ("x is") üçün ayrılan vaxt; Serial.writeln (x); əslində olduqca əhəmiyyətlidir və prosesdə bir çox hadisəni qaçıra bilərsiniz. Çap ifadələrinizi həmişə kritik döngələrin xaricinə qoymağı və ya bir hadisə gözlədiyiniz zaman unutmayın. Bəzən kodun müəyyən bir nöqtəsinə çatdığınızı bildirmək üçün bir LED -in yanıb -sönməsi kifayətdir.

Addım 4: Veb Nəzarəti əlavə edin

Veb Nəzarəti əlavə olunur
Veb Nəzarəti əlavə olunur

Eskizə baxsanız, serial portunu da oxuduğumu və bir neçə tək xarakterli əmrləri yerinə yetirdiyimi gördünüz. 'N' simvolu bütün işıqları yandırır və 'f' onları söndürür. '0'-'5' rəqəmləri bu rəqəmsal çıxışa bağlı olan işığın vəziyyətini dəyişir. Buna görə də işıqlarınızı uzaqdan idarə etmək üçün asanlıqla bir CGI skriptini (və ya servleti və ya hər hansı bir veb texnologiyası qayığınızı üzər) ata bilərsiniz. Serial.writes, istifadəçi girişindən bir işıq dəyişdirildikdə də çıxır, buna görə səhifədə mövcud vəziyyəti göstərmək üçün Ajax yeniləmələri ola bilər. Təcrübə edəcəyim başqa bir şey otaqdakı hərəkəti aşkar etməkdir. İnsanlar işığı əks etdirir və hərəkət etdikcə işıq dəyişəcək. Yazdığım ifadələrin 'delta' hissəsidir.

Tövsiyə: