Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-23 12:54
Ətrafdakı səsi iki fərqli 4x5 LED -də dörd fərqli tezlikdə davamlı olaraq göstərə bilən kompakt papaq
Bu dərslik, hər hansı bir izdiham arasında fərqlənməyinizi təmin edəcək bir papaq necə düzəldəcəyinizi izah edəcək.
Bu layihə üçün nə lazımdır:
1 Arduino Pro Micro və ya bənzər ölçüdə 16MHz -də işləyən Arduino
40 ədəd 3 mm LED
1 sadə düymə
1 Elektret Mikrofonu
1 Şarj Edilə bilən 3.7V 800mAh 25C 1 Hüceyrəli LiPo Batareya
10 100Ω rezistorlar
1 10kΩ müqavimət
1 220Ω müqavimət
Bir PCB maşınına giriş (Çaplı Devre Kartı)
Ucuz tənzimlənən çəngəlli/klipli papaq və ya sadəcə tənzimlənən qarmaqlı/klipli boyunbağı
Addım 1: PCB çap edin
Bir dövrə lövhəsi çap edərkən.cmp faylını istehsalçının tələblərinə uyğunlaşdırmaq lazım ola bilər. Bununla birlikdə, orijinaldakı lövhə kifayət qədər qeyri -dəqiq bir üsulla hazırlanmışdır, buna görə əksər istehsalçılar PCB -ni heç bir dəyişiklik etmədən istehsal edə biləcəklər. Şəkillərdə PCB -nin ön və arxasını görə bilərsiniz. Dizayn, lehimləmə deliklərində vias olmadığını və yalnız ayrı yerləşdirilə biləcəyini (birdən çox tərəfi olan PCB -lərdə təbəqələr arasındakı əlaqələr olduğunu) ehtiva edir.
Hər bir işıq, Charlieplexing adlanan bir texnikadan istifadə edərək fərdi LED ünvan matrisindən daha az giriş qovşağına imkan verir, çatışmazlıq, yalnız işığın bir anda açılmasıdır ki, bu da massivin nə qədər böyük olacağına məhdudiyyət qoyur. nəzərəçarpacaq dərəcədə yanıb -sönmədən. Charliplexing iki siqnal 1 və 0 yerinə, üç 1, 0 və Z -ə malikdir. Z çox açıq bir empedansa malik olaraq açıq bir dövrə kimi işləyir. Beləliklə, hər bir işıq, düyünün 1, 0, Z, Z, Z birləşməsində olması ilə açılır, yəni cərəyan bir anda yalnız bir qovşaqdan digərinə keçə bilər.
Addım 2: Hamısını Birlikdə Lehimləmək
PCB -də işıqları lehimləyərkən, LED -in müsbət tərəfini ardıcıl olaraq kvadratlara, mənfi tərəfini isə dairəyə lehimləmək çox vacibdir. Bunun əksinə edilməsi koddakı ünvanın yanlış işıqları yandırmasına və uyğunsuzluq birdən çox işığın eyni stimullarla yandırılmasına səbəb olacaq.
Sonra, 10 100Ω rezistorları lentlə bağlayın.
Sonra digər parçaları dövrə diaqramında göstərildiyi kimi bağlayın, arduino USB ilə qoşulduqda doldurulacağı üçün batareyanı birbaşa Arduinoya lehimləmək yaxşıdır. Bütün parçaları PCB arxasına yapışdırmadan əvvəl, serialdakı səhvləri yoxlamalısınız.
Addım 3: Kod Yükləmə və Hata Ayıklama
Yuxarıdakı kodu yükləyin. Yükləndikdə aktivləşdirmək üçün düyməni basın, indi içəriyə işarə edən üçbucaq şəkli papaq üzərində yuxarı və ya aşağıya doğru sürüşməlidir.
Əks təqdirdə, qalan hər şeyi şərh edərkən, boşluq döngəsindəki while (mode = 0) döngəsindəki hər bir işıq üçün fərdi olaraq 1-20 rəqəmi daxil olan Blink (LED) funksiyasından istifadə edin. döngə.
boşluq döngəsi () {
isə (rejim == 0) {
Göz qırpmaq (1); // İşıqların lazım olduğu kimi işlədiyini və hansının işləmədiyini yoxlamaq üçün bir -bir test edin
// Göz qırpmaq (2); // növbəti addım 20 -yə qədər
/* əgər (digitalRead (Düymə) == 0) {
rejimi = 1;
Off ();
turnOn (1);
gecikmə (200);
fasilə;
}
Off (); */ // bu bölmə ayıklama zamanı şərh olunur
}
…..
Hata Ayıklama:
Hər tərəfdə fərqli işıqlar varsa, lehimdə bir problem var və təsirlənmiş işıqları söküb yenidən 2 -ci addımı etməlisiniz.
2 işığın cütü söndürüldükdə viyasalar ola bilər.
İki işıq həmişə birlikdə yanarsa və digərlərindən daha az parlaq olarsa, biri yanlış yolda lehimlənmişdir.
Hər bir işıq ayrı -ayrılıqda yanarsa, ancaq 2 -ci addımı səhv saldığınız kodun yuxarısındakı təlimatlarda təsvir olunan modeli izləməyin.
PCB-də pis əlaqə və ya qısa qapanma nəticəsində digər problemlər yarana bilər.
Xəbərdarlıq: Bu seqment çox texniki və papaq bağlamaq üçün lazımsızdır
Xüsusilə 16MHz saat tezliyi olan bir Arduino üçün spektr analiz kodunu yazdım. Başqa sistemlərdə nə qədər yaxşı işləyəcəyinə tam əmin deyiləm, bütün qrupların çox fərqli reaksiya verməsinə səbəb ola bilər, amma çox dəyişə bilməz.
Təxminən 8, 9 kHz bir nümunə götürmə tezliyi olan təxminən 6,7 ms -də 60 nümunə götürərək işləyir. Sonra onları 4 fərqli şəkildə analiz edərək 4 fərqli tezlik veririk.
Ən yüksək tezlik təhlili, hər bir nümunəni bir sonrakı ilə müqayisə edərək, dəyərini kvadratlaşdıraraq və hər bir nümunə cütü üçün toplayaraq işləyir. Bu, nümunə götürmə tezliyinin yarısı civarında ən yüksək effekti verir, buna görə də 4, 4 kHz ətrafında bir bant keçid filtridir.
Analiz üçün kobud riyazi düstur:
Σ (kvadrat (x [2n-1] -x [2n]))
Sonrakı çox oxşar şəkildə işləyir, ancaq əvvəlcə bir anda iki nümunə əlavə edir. Bu, son sistemin nümunə götürmə tezliyinin yarısını səmərəli şəkildə verir, ən yüksək tezlikləri süzərkən 2, 2kHz ətrafında bir bant keçidi filtri yaradır.
Növbəti sistem eyni şeyi edir, ancaq bir anda 2 nümunə əlavə etmək əvəzinə 440Hz üçün bir bandpass filtrinə çevrilən 10 əlavə edir.
Son analiz ilk 30 nümunəni yekunlaşdırır və son 30 -un cəmiylə müqayisə edir. Bu təsirli olaraq 150Hz üçün bir bandpass filtrinə çevrilir.
Addım 4: Hamısını bir -birinə yapışdırın
Arduino-nu PCB-dən ayırmaq vacibdir, çünki təmasda olarsa qısaqapanmaya səbəb ola bilər. Aralarındakı elektrik lenti ilə birlikdə yapışdıraraq edilə bilər. Batareyanın balans üçün bir qanadında, digərində mikrokontrolörün olması da faydalıdır. Bir neçə millimetr uzanaraq özofagusunuza işarə etməli olduğu üçün mikrofon istisna olmaqla, boyunbağının bağlandığı yer olduğu üçün yay qalstukunun mərkəzini kifayət qədər boş saxlamağa çalışmalısınız, bu, danışarkən hər kəs bunun ən aydın olduğunu görəcək.
Unutmayın: papaqların arxa tərəfində heç kim bunu görməyəcəyi üçün estetikadan daha vacibdir.
Tövsiyə:
Cib Sonic Cədvəli: 3 Adım (Şəkillərlə birlikdə)
Cib Sonic Cədvəli: Cibinizdə gəzdirə biləcəyiniz və obyektin uzunluğunu ölçə biləcəyiniz bu cib ölçülü Ultrasonik tərəzi, boyunuzu, mebel hündürlüyünüzü ölçə bilərsiniz və s. və
Sonic Tornavida TV-B-Gone Dönüşüm: 5 Addım (Şəkillərlə)
Sonic Tornavida TV-B-Gone Dönüşüm: Beləliklə, keçən ay dostumun doğum gününün yaxınlaşdığını öyrəndim və qəribə bir şey almalı olduğumu qərara aldım. O, həqiqətən də böyük bir Doctor Who pərəstişkarıdır və Netflix -də olan bütün epizodları təzə izləmişdim. mən br
SONIC LED ƏLAQƏ: 7 Adım (Şəkillərlə birlikdə)
SONIC LED ƏLAQƏSİ: Yenə salam, robotunuzun hər şeyə düşməsinə nifrət edirsiniz? Bu problemi həll edəcək. 8 səs sensoru ilə bu mürəkkəb görünür … amma əslində bunu çox asanlaşdırdım. Arduino haqqında öyrənməyinizə və 'qutunun xaricində' göstərməyinizə kömək edəcək layihələr göndərməyə çalışıram
Sonic Tornavida ilə Ödənişlər: 6 Adım (Şəkillərlə birlikdə)
Sonic Tornavida ilə Ödənişlər: Bu təlimat, təmassız ödəniş kartımızın ağıllı kart çipini necə çıxardığımızı və onu təmassız ödənişlər üçün Lievenin Sonic Tornavidasını təkmilləşdirmək üçün necə uyğunlaşdırdığımızı izah edir. Lieven Scheire və Maarten Weyn tərəfindən yaradılmışdır
Ultimate Sonic Tornavida: 7 Adım (Şəkillərlə birlikdə)
Ultimate Sonic Tornavida: Tamam, Doctor Who -dan əsl sonic tornavida qədər edə bilməz, amma bu bir başlanğıcdır. Bu layihə qardaşım üçün əlavə bir kiçik Milad hədiyyəsi idi. Amazonda sonic tornavida oyuncaqları tapa bilərsiniz, ancaq işıqlandırmaq və ehtimal etməkdən başqa