Mündəricat:

Səs Pulsing Switch: 6 Addım
Səs Pulsing Switch: 6 Addım

Video: Səs Pulsing Switch: 6 Addım

Video: Səs Pulsing Switch: 6 Addım
Video: КАК НАСТРОИТЬ L4D2 2024, Noyabr
Anonim
Image
Image

Yataqda qalarkən heç bir problem yaşamırsınız, amma birdən işıqların hələ də açıq olduğunu anlayın. Ancaq o qədər yorğunsan ki, nə işığı söndürmək üçün yataqdan aşağı getmək istəmirsən, nə də telefonunu istifadə edərək işığı söndürməyə imkan verən Philip Hue mühit işığı almaq üçün səksən dollar xərcləmirsən. Bir keçid ilə ənənəvi bir işıq istifadə edirsinizsə, niyə tənbəlliyinizi aradan qaldırmaq üçün bu yeni, eyni zamanda asan Arduino layihəsini yoxlamayın!

Təxminən bir il əvvəl, yeni evimə köçdüyümdə, işıq açarının yatağımın yaxınlığında olmadığını öyrənərək, hər gecə yatağımı yorğun yatanda yatağımdan çıxmağa məcbur edərək bu layihənin ideyasına sahib olmağa başladım., yalnız İŞIĞI SÖNDÜRMƏK üçün (hər gecə məni qıcıqlandırır)! Bununla birlikdə, bu layihəni etdikdən sonra, məndən böyük fayda görmüşəm və bu fikri hal -hazırda uzaq işıq açarı problemindən əziyyət çəkən bütün SÖZLƏNMƏZ istifadəçilərlə bölüşməyi ümid edirəm.

Bu Sound Pulsing Switch-in əsas fikri, bir sıra hərəkətlər etmək üçün KY-037 Sound Detector Sensorunu işə salmaqdır, o cümlədən söndürmək üçün əsl işıq açarına vurmaq üçün servo motoru işə salmaqdır. Beləliklə, KY-037 Səs Algılayıcı Sensoru tam olaraq necə işləyir: əsasən ətraf mühitdəki səsin intensivliyini, bu halda hər 20 milisaniyədə (bunu kodlaşdırma bölməsində, 5-ci addımda təyin etmək olar) və nə vaxt Osiloskop izində qeyri -adi yüksək bir səs dalğası olduğunu öyrənir, sonra saymağa səbəb olacaq, iki sayına çatdıqda isə servo motoru işə salıb işıqları daha da söndürəcək.

Addım 1: Təchizat

Təchizat
Təchizat
Təchizat
Təchizat

Bu Səs Pulsing Switchini yaratmaq üçün aşağıdakı kimi müəyyən təchizatlara ehtiyacımız var:

Elektronika:

  • Arduino Nano lövhəsi
  • Çörək lövhəsi
  • Jumper Telləri (Dişi -Dişi, Dişi -Kişi, Kişi -Kişi)
  • KY-037 Səs Detektor Sensor Modulu
  • Alüminium Elektrolitik Kondansatörler 220uF 25V
  • Servo Motor
  • Batareya Bankı
  • Xarici Güc Təchizatı *(iki başlıq Du-Pont Telinə USB)
  • 9V Batareya
  • 9V batareya konnektoru

Dekorasiya Modelləri:

Karton (və ya ağac, lazerlə kəsilərsə)

Digərləri

  • Tez quruyan yapışqan yapışqan
  • Kommunal bıçaq
  • Mat kəsmə
  • Kompas kəsici
  • Qələm və Silgi
  • Yapışqan gil
  • İki tərəfli lent
  • Tape
  • Lehimləmə avadanlığı

Addım 2: Elektron komponentləri yığın

Elektron komponentləri yığın
Elektron komponentləri yığın
Elektron komponentləri yığın
Elektron komponentləri yığın
Elektron komponentləri yığın
Elektron komponentləri yığın

Modeli əslində qurmadan əvvəl, çox sadə olan və bir neçə addımda edilə bilən elektron komponentləri yığmalıyıq:

  1. 9V batareya konnektorunu Arduino Nano lövhəsinə lehimləyin. Hər hansı bir lehimləmə texnikası ilə tanış olmayan insanlar üçün bu bir az çətin ola bilər, ancaq bu layihəni uğurla yerinə yetirmək üçün vacibdir, çünki lövhə kifayət qədər güclə təchiz edilmədikdə düzgün və ya yaxşı işləməyə bilər. Lehimləmə üçün qırmızı teli VIN pininə bağlayın; və qara tel GND pininə, hər ikisi də lövhənin sağ tərəfində dayanır.
  2. Atlama tellərini Arduino Nano lövhəsinə bağlayın. Bu layihədə yalnız A0, D2, GND pin və 5V pininə qatqı təmin edəcəyik.

    • Pinləri bağlamaq üçün çörək taxtasından istifadə edərək, KY-037 Səs Algılayıcı Sensor Modulundan G pinini çörək taxtasına bağlamalıyıq; eyni sütunda (ehtiyatlı olun, eyni sütunda olmasaydı, son layihəniz işləməyəcəkdi), servo motordan qara teli və xarici enerji təchizatınızdan qara teli bağlayın (bunu etmək üçün bunu etməlisiniz. GND pin, 5V pin deyil, çünki xarici enerji təchizatı Arduino yandırılmadığı təqdirdə ortaq bir zəmin yaratmalı olacaq), sonra eyni sütuna başqa bir Kişi və Dişi tullanan tel bağlayın.
    • Sonra, KY-037 Səs Algılayıcı Sensor Modulundakı "+" pinini eyni sütundakı deliklərdən birinə bağlayın, sonra çörək taxtasındakı eyni sütuna, digər tərəfi isə Nanoya qoşulan başqa bir Kişi-Dişi tullanan teli götürün. lövhə
    • Bundan sonra, servo mühərrikdəki qırmızı teli istifadə edilməsinə baxmayaraq başqa bir sütuna bağlayın və batareya bankını gücləndirmək üçün qırmızı naqili xarici enerji təchizatından eyni sütuna yerləşdirin. Əslində, servo motoru işə salmaq üçün USB alt başını güc bankına qoşun.
    • Ayrıca, GND və 5V pininin dayandığı iki sütundan kənara çıxaraq, KY-037 Səs Algılayıcı Sensoru üçün nisbətən sabit bir mühit yaratmaq üçün, tutumun iki ayağını hər iki sütunun üzərinə qoyun.
    • Nəhayət, servo motordakı ağ teli Nano üzərindəki D2 pininə bağlayın. KY-037 Səs Algılayıcı Sensor Modulundan A0-dan A0-a sırasıyla Arduino Nano lövhəsinə qoşun.

Və bütün elektronika ilə işiniz bitdi!

Addım 3: Modelin dizaynı

Modelin Dizaynı
Modelin Dizaynı

Bu layihə üçün model qurmaq son dərəcə asandır, çünki yalnız altı tərəfli bir qutu yaratmalıyıq. Ancaq dizayn, aşağıda verdiyim AutoCAD faylı qədər dəqiq olmalı idi.

Bu layihəni həqiqətən yaxşı və dəqiq etmək istəyirsinizsə, bu layihənin dizayn ideyasını öyrənmək üçün oxumağa davam edin.

Bu Sound Pulsing Switch, altı tərəfi olan bir qutu ehtiva edir, hər tərəfindəki deliklər, cihazın funksiyasını yerinə yetirmək üçün elektron komponentləri yerləşdirmək üçün bir yer təşkil edir.

  1. Yuxarıda, servo motoru yerləşdirmək, işləməsi və düyməni basması üçün yer vermək üçün uzunluğu 3 * eni 2 olan bir çuxur var;
  2. Qarşı tərəf olaraq, qeyd edirik ki, bu, içərisində hər şeyi gözəl saxlamaq və təsdiq etmək üçün heç bir deşik olmayan düzbucaqlı bir bazadır; sonra sağ tərəf üçün, güc bankını gücləndirmək üçün güc bankına qoşulmaq üçün xarici enerji təchizatı telinin çıxması üçün bir çuxura ehtiyacımız var;
  3. Daha sonra, sol tərəf üçün sağ sol tərəfə bənzəyir, lakin çuxur yoxdur;
  4. Nəhayət, cəbhə üçün əslində daha çox çuxura ehtiyacımız var, biri 9V batareya konnektorunun qutudan kənarda olmasıdır ki, hər hansı bir israfçılığın qarşısını almaq üçün açarı söndürsək, enerjini kəsdiyimiz zaman batareyanı asanlıqla dəyişə bilərik. batareya gücündən, digəri KY-037 mikrofonuna aiddir ki, bu da cihazın ətrafdakı səsin dəyişməsini aşkar etməsini təmin edir;
  5. Həm də alt olaraq, arxa tərəfində heç bir deşik yoxdur, sadəcə hər şeyi gözəl tutmaq və təsdiq etmək

Addım 4: Modelin qurulması

Modelin qurulması
Modelin qurulması
Modelin qurulması
Modelin qurulması
Modelin qurulması
Modelin qurulması

Planımızı hərtərəfli hazırladıqdan sonra, əslində modelin qurulması prosesinə keçməliyik. Ancaq bu proses əvvəlki addıma nisbətən qeyri -adi dərəcədə asan olacaq:

  1. AutoCAD sənədində göstərilən miqyasda altı tərəfi kartonla kəsin və ya lazerlə kəsin
  2. Yapışqan yapışqan götürün və parçaların yanlarına yapışdırın ki, onları bir araya toplayaq, amma yenə də içərisindəki komponentləri hələ də tənzimləyə biləcəyimizi kənara qoyun.
  3. 9V batareya konnektorunu modelin ön tərəfində kəsdiyimiz çuxura yapışdırın
  4. KY-037 Səs Algılayıcı Sensor Modulunuzu kəsdiyimiz çuxura yapışdırın, ancaq bir az daha geniş kəsməyi unutmayın, verdiyim diametr fərqli hissələrdə dəyişə bilən "mənim" komponentim üçün təxmini bir dəyərdir, həm də düzbucaqlı hissə kifayət qədər sıxılmamasına səbəb ola bilər
  5. Çörək taxtanızın arxasındakı stikeri cırın və modelinizin ön hissəsinin arxasına yapışdırın
  6. Servo motorunuzu modelin üst hissəsində kəsdiyimiz çuxura yaxşı yerləşdirin

    • Yapışqan gildən bir az möhkəmlətmək üçün servo motorun arxasına qoyun
    • Həm də daha güclü olması üçün iki tərəfli bant qoymağı unutmayın
  7. Xarici USB kabelinizi quruluşun sağ tərəfində kəsdiyimiz çuxurdan çıxarın və güc bankına qoşun.
  8. Arxa tərəfinizi modelə yapışdırın, ancaq işinizdən əmin deyilsinizsə və hələ də cihazınızı düzəltməyə və ya təmir etməyə ehtiyacınız ola bilərsə, əvvəlcə yapışdırmaq üçün bəzi skotç lentlərindən istifadə edin ki, asanlıqla yırtsın.

Addım 5: Kodlaşdırma

Kodlaşdırma
Kodlaşdırma
Kodlaşdırma
Kodlaşdırma

Və kodlaşdırmadan bu layihənin ən əyləncəli və ən vacib hissəsi yoxdur, cihazınız heç vaxt işləməyəcək, nə qədər yaxşı model qurmusunuz və ya dövrə düzəltmisiniz, kodlaşdırmadan bu heç bir şey deyil. Beləliklə, burada yalnız bu layihə üçün bir kod yazdım və kodun şərh bölməsində hər sətrin nə demək olduğunu izah etdim, amma hər kəsin hələ də problemi varsa, aşağıda xoşbəxt bir şərh yazmağınızdan çekinmeyin. dərhal cavab vermək (inanıram).

Bu kodda, servo motorun doxsan dərəcə və yüz səkkiz dərəcə dönməsinə icazə verməyi seçdim, lakin hər kəsin evdə əldə etdiyi fərqli keçid səbəbiylə tənzimlənə bilər və inanıram ki, bu hamının dəyişdirilməsi üçün pulsuzdur. Koduma baxarkən, unutmayın ki, bu cihaz səs metodundan istifadə edərək işığı "avtomatik olaraq" söndürmək üçündür, lütfən, çaşmayın və əgər qarışıqsınızsa, buradakı videoya yenidən müraciət edə bilərsiniz. ən başlanğıcı. İndi kodu aşağıda və ya bu Arduino Veb Saytı Yarat linkindən görə bilərsiniz.

Arduino Link yaradın

Əlavə olaraq, kifayət qədər insan kodun hər hansı bir aydınlaşdırılması haqqında soruşsaydı, bu barədə düşünə bilərdim LOL …

Arduino-Səs-Pulsing-Switch

#include // servo motor üçün kitabxananı daxil edin
int MIC = A0; // A0 ayağına bağlı səs aşkarlama komponenti
boolean keçid = yalan; // keçidin ilkin versiyasını qeyd etmək
int micVal; // aşkar edilmiş həcmi qeyd edin
Servo servo; // Servo motorun adını servo olaraq təyin edin
işarəsiz uzun cərəyan = 0; // cari vaxt möhürünü qeyd edin
imzasız uzun son = 0; // sonuncu möhürü qeyd edin
imzasız uzun fərq = 0; // iki zaman damgası arasındakı vaxt fərqini qeyd edin
imzasız int sayı = 0; // keçid sayını qeyd edin
void setup () {// bir dəfə işlədin
servo.attach (2); // D-pin ayağına 2 qoşulmaq üçün servonu işə salın
Serial.begin (9600); // serialı işə salın
servo.write (180); // servonun ilkin açısına dönməsini təmin edin
}
void loop () {// loop sonsuza qədər
micVal = analogRead (MIC); // analoq çıxışı oxuyun
Serial.println (micVal); // ətraf səsinin dəyərini çap edin
gecikmə (20); // hər iyirmi saniyədə
if (micVal> 180) {// burada 180 -ə təyin etdiyim limiti aşarsa
cari = milis (); // cari vaxt möhürünü qeyd edin
++ sayı; // sayılan keçidlərə birini əlavə edin
//Serial.print("count= "); // dəyişdirilən vaxtları çıxarın, istəsəniz açın
//Serial.println(sayı); // nömrəni çap edin, istəsəniz açın
if (count> = 2) {// keçid sayı artıq ikidən çox və ya bərabərdirsə, iki zaman damğasının 0.3 ~ 1.5 saniyə arasında davam edib -etmədiyini təyin edin
fərq = cari - son; // iki zaman damgası arasındakı vaxt fərqini hesablayın
if (dif> 300 && diff <1500) {// iki zaman markasının 0.3 ~ 1.5 saniyə arasında davam edib -etmədiyini təyin edin
keçid =! keçid; // keçidin mövcud vəziyyətini geri qaytarın
say = 0; // sayını sıfıra çevirin, yenidən sınamağa hazır olun
} başqa {// vaxt məhdud saylar arasında davam etmirsə, sayını birə qaytarın
say = 1; // sayma
}
}
son = cari; // sonrakı müqayisə üçün son zaman damğasını yeniləmək üçün cari vaxt möhürünü istifadə edin
if (keçid) {// keçidin aktiv olub olmadığını müəyyən edin
servo.write (90); // işığı açmaq üçün servo 90 dərəcəyə dönəcək
gecikmə (3000); // 5 saniyə gecikdir
servo.write (180); // servo orijinal yerinə qayıdacaq
gecikmə (1000); // başqa 5 saniyə gecikdirin
say = 0; // saymaq üçün sayını ilkin nömrəyə təyin edin
}
başqa {
servo.write (180); // keçid işləmirsə, yalnız başlanğıc 180 dərəcə qalmaqdan daha yaxşıdır
}
}
}

GitHub tərəfindən ❤ ilə ev sahibliyi edilən rawArduino-Sound-Pulsing-Switch-ə baxın

Addım 6: Tamamlama

Image
Image
Tamamlanması
Tamamlanması

İndi işığını söndürmək üçün Səs Pulsing Switch ilə oynaya biləcəyiniz layihəni bitirdiniz, tənbəlliyinizin bir daha problem olmayacağını göstərir! Unutmayın ki, bu layihəni həyata keçirtmisinizsə, layihənin möcüzəsini göstərmək üçün bunu mənə və dünyaya onlayn paylaşın!

Maraqlı olun və araşdırmağa davam edin! Uğurlar!

Tövsiyə: