Mündəricat:

İnteraktiv, Açıq Mənbə Mood Light: 9 Addım (Şəkillərlə birlikdə)
İnteraktiv, Açıq Mənbə Mood Light: 9 Addım (Şəkillərlə birlikdə)

Video: İnteraktiv, Açıq Mənbə Mood Light: 9 Addım (Şəkillərlə birlikdə)

Video: İnteraktiv, Açıq Mənbə Mood Light: 9 Addım (Şəkillərlə birlikdə)
Video: Куликовская Битва. Литература в основе официальных доказательств. 2024, Iyul
Anonim
İnteraktiv, Açıq Mənbə Mood Light
İnteraktiv, Açıq Mənbə Mood Light

Bu öyrədici, interaktiv, çox funksiyalı bir əhval işığı necə edəcəyinizi izah edəcək. Bu layihənin əsası BlinkM I2C RGB LED -dir. Bir gün internetdə gəzərkən BlinkM diqqətimi çəkdi və düşündüm ki, keçmək çox sərin bir şeydir. Beləliklə, bir neçə ay sonra, onu istifadə edərək bir növ əhval -ruhiyyə açmaq qərarına gəldim. Və budur!

Addım 1: Nə lazımdır

Doğru materiallardan istifadə etsəniz bu layihə olduqca ucuz ola bilər. Daha ucuz istehsal etmək üçün istifadə edilə bilən alternativ hissələri qeyd edəcəyəm. Tikinti prosesini bir az asanlaşdıran üzünə görə bir az daha bahalı olan bəzi komponentlərdən istifadə etdim.

İşıq mənbəyi:

BlinkM RGB I2C tərəfindən idarə olunan LED

Nəzarətçi:

Arduino mikro nəzarətçisi - 'Arduino Nano' istifadə etdim, çünki hər şeyi yerləşdirmək üçün istifadə olunan 'toxunma işığının' içərisində boş yer olduğundan çox kiçik bir şeyə ehtiyacım var idi.

Mənzil:

Bu əhval-ruhiyyə işığı üçün bir çox fərqli korpusları nəzərdən keçirdim və nəhayət hamımızın tanış olduğu bir şeyə qərar verdim: o ucuz-o, ağ, 'toxunma günbəz işıqları'. Evdəki depoda cəmi 4 dollara iki paket tapdım. Düzgün etsəniz, bu işıqlardakı yer miqdarı bütün komponentlərə uyğun olacaq qədərdir.

Güc/Bağlayıcılar:

Başlanğıcda, batareya enerjisini tükətməyin yaxşı olacağını düşündüm (çünki korpusda artıq rahat bir batareya bölməsi var), amma uzun müddət işləyəcəyiniz halda bu o qədər də praktik deyil. Bunun əvəzinə, ətrafında yatdığım 12V 150Ma transformatorlu radioşakdan 5.5 mm DC güc girişindən istifadə etdim. Arduino üzərindəki tənzimləyici 12 volt aşağı düşür və 150Ma hər şeyi gücləndirmək üçün kifayət qədər cərəyan idi. Tel üçün, əlimdə olan hər şeyi istifadə etdim. Baxmayaraq ki, möhkəm nüvəli tel istifadə etməlisiniz.

Komponentlər:

Bu komponentlər əhval işığı üçün üç sensoru hazırlamaq üçün istifadə olunur: səs sensoru, 'tap' sensoru və işıq sensoru. Səs sensoru üçün sizə lazım olacaq:- LM741 Op-Amp- Elektret Mikrofonu (3-qurğuşun)- 2.2k rezistor- 100k rezistor- 200k rezistor- 0.47uf elektrolitik kondansatör- 0.047uf keramika kondansatörü- 2x 10k rezistor- Diode 'tap' sensoruna ehtiyacınız olacaq:- Piezo elementi (bunu müəyyən elektron oyuncaqlardan, telefonlardan və bip səsi verən bir çox digər elektron cihazdan xilas edə bilərsiniz və ya mouserdən, radioşakdan və s. əldə edə bilərsiniz.)- 1M rezistor … Və işıq sensoru üçün sizə lazım olacaq:- CdS hüceyrəsi (LDR), tercihen çox böyük (daha çox qətnamə).- 10K rezistor- 3 pinli başlıq və qıvrılmış bağlayıcı tellər (isteğe bağlı)

Digər

Çörək taxtasından istifadə etdim, çünki çox lehimləmək istəmirdim. Bütün əlaqələri daha etibarlı etmək üçün bir çox qıvrılmış bağlayıcı tel istifadə etdim, lakin bunlar isteğe bağlıdır. Alternativ olaraq, ATmega168 mikro-nu dəstəkləmək üçün homebrew inkişaf etdirmə lövhəsindən istifadə edə bilərsiniz və DIP-tipli ATmega168-dən (daha böyük qurğulara malik uzun) istifadə edə bilərsiniz. Bunun nə qədər uyğun olacağını bilmirəm, amma sınamağa dəyər. Çörək taxtası üçün pulunuz yoxdursa, adi bir ATmega168 -i PCB -ə lehimləyə və tənzimləyicini, proqramlaşdırma əlaqələrini və s.

Addım 2: 'toxunma işığını' hazırlayın

'Toxunma işığı' hazırlayın
'Toxunma işığı' hazırlayın
'Toxunma işığını' hazırlayın
'Toxunma işığını' hazırlayın
'Toxunma işığı' hazırlayın
'Toxunma işığı' hazırlayın
'Toxunma işığı' hazırlayın
'Toxunma işığı' hazırlayın

Birincisi, ev depolarında əldə etdiyimiz ucuz-toxunma işığını əhval-ruhiyyəni işıqlı hala gətirməliyik. Əvvəlcə işığı çevirin və batareyanın qapağını və vintlərini çıxarın. Batareya bölməsinin içərisində ampul qurğusunu görəcəksiniz. Çıxarın, onu və ampulü atın. Sonra, korpusu açın. İndi güclə məşğul olmalıyıq. Batareya bölməsinin ortasındakı metal parçasını və onu batareya kontaktlarından birinə bağlayan teli çıxarın. Şəkildə göstərildiyi kimi telləri batareya kontaktlarına yapışdırın. Fərqli rəngli teliniz yoxdursa, onları etiketləmək də istəyə bilərsiniz. Həm də bu əhval işığını divar priz transformatoru ilə işlək hala gətirəcəyik. DC güc yuvasının diametri ilə eyni ölçüdə bir qazma ucu istifadə edərək bir delik açın. Sonra, korpusla bərabər olana qədər vidalayın. Burada etməli olduğumuz son dəyişiklik piezo tap sensorunu əlavə etməkdir. Daha yaxşı həssaslıq üçün onu plastik "kənarına" bağlamaq daha yaxşıdır. Daha sonra başqa bir yerə quraşdırılmış bu təlimatda təsvir etdim, amma bunun səbəbi, sınaqlar zamanı korpusu o qədər açmaq və bağlamaq məcburiyyətində olduğum üçün tellər qırılmağa başladı. Plastikə isti yapışdırın, ancaq movabke günbəzindəki mexaniki hərəkətə mane olmadığından əmin olun! (yəni çox yapışmasına icazə verməyin).

Addım 3: Güc Dövriyyəsi Qorunması əlavə edin

Güc Dövrü Qorunması əlavə edin
Güc Dövrü Qorunması əlavə edin

Bu hissə, DC elektrik prizindən istifadə edərkən batareyalar quraşdırılmış olsanız, divar transformatorunu/batareyalarını qızartmaqdan qorumaq üçün diodlardan istifadə edən sadə bir əlavədir. Maksimum gərginlik dərəcəsi divar transformatorunun dərəcəsindən yüksək olduğu müddətdə hər hansı bir blokaj diodundan istifadə edə bilərsiniz. Çörək lövhəsindəki tənzimlənməyən elektrik zolağında 'VIN' etiketli hissə (arduinoda VIN -ə gedir). 'DCPower' etiketli hissə, DC güc girişidir. Nədənsə bu sxemi hazırladığım proqram etiketlər haqqında həqiqətən seçici idi, ona görə də ad verməyimə icazə verən budur. DİQQƏT: Bu dövrəni etməsəniz, divar transformatoruna əhval -ruhiyyə işığı bağladığınız zaman batareyaları batareya bölməsində saxlaya bilməyəcəksiniz, əks halda onu korlayacaqsınız.

Addım 4: Breadboard, Arduino və BlinkM əlavə edin

Breadboard, Arduino və BlinkM əlavə edin
Breadboard, Arduino və BlinkM əlavə edin

Çörək taxtasını əlavə etməzdən əvvəl, batareyanın təmaslarını metal çörək taxtası dəstəyindən izolyasiya etməliyik (yəni, metal lövhənizi özünüzə yapışdırıbsınızsa. Bu addımı atlayın). İzolyasiya olunduğundan əmin olmaq üçün bütün metal kontaktların üzərinə bir az skotç bant qoyun. Açıq tel istəmirik. İndi batareya bölməsinin üstündəki çörək taxtasını yapışdırın (isti yapışqan istifadə etdim). Xoşbəxtlikdən bizim üçün mükəmməl uyğun gəlir. İndi 2-ci addımdakı müsbət (+) və mənfi (-) telləri çörək taxtasının müsbət və mənfi elektrik zolaqlarından birinə bağlayın. İndi arduino və göz qırpımını birləşdirə bilərik. İşdə pin əlaqələri:

  • A5 - Saat (BlinkM -də 'c' işarəsi var)
  • A4 - Məlumat (BlinkM -də 'd' işarələnir)

Və bunu etdiyiniz biri, nizamsız VCC -ni (+) arduino üzərindəki 'VIN' pininə və nizamlanmış VCC -ni BlinkM -dəki (+) pininə qoşun. Sonra arduino üzərindəki GND -ni və BlinkM -i elektrik zolağında GND -yə bağlayın və hər iki GND elektrik şeridini birləşdirin. Bu əlaqələri qarışdırmamaq üçün diqqətli olun, yoxsa BlinkM -i qızardın.

Addım 5: Sensorlar - Səs, Tap və İşıq

Sensorlar - Səs, Tap və İşıq
Sensorlar - Səs, Tap və İşıq
Sensorlar - Səs, Tap və İşıq
Sensorlar - Səs, Tap və İşıq
Sensorlar - Səs, Tap və İşıq
Sensorlar - Səs, Tap və İşıq

Növbəti yerdə sensorlar dayanır. İşıq sensoru qurmaq üçün ən asandır. Sağ tərəfə gedən tel arduinoya qoşulur. Sensorların bağlandığı sancaqlar haqqında daha çox məlumat növbəti addımdadır. Səs sensoru bir qədər çətindir, amma gülünc qədər mürəkkəb deyil. DİQQƏT: Burada bir gərginlik bölücü dövrə göstərmədim. Şematik olaraq 2.5V, 'gərginlik bölücü' adlanan bir şey ilə təmin edilməlidir. Çox sabit rezistorlardan və ya bir qazandan (potensiometr) ibarət çox, çox sadə bir dövrədir. Bu dövrə üçün 50K qazan istifadə edin. Google 'gərginlik bölücü' və bir qurmaq üçün kömək üçün vikipediya girişinə baxın. 27/09/08 EDIT: Mən bu səs dövrəsini kəsdim və bunun əvəzinə səslə işləyən işıqlı bir asqıdan istifadə etdim. Buradakı dövrə yaxşı işləmir; Niyə olduğunu bilmirəm, amma dizayn qüsurludur; bir şey düzgün deyil. Kolyenin SMD LM386 op-amp istifadə etdiyini gördüm. Rezistorlar LEDlərə, VCC və GND -ə getməzdən əvvəl lehimləmişəm. Sonra etməli olduğum tək şey proqramdakı dəyərləri bir az manipulyasiya etmək idi və presto! daha yaxşı işləyən səsə cavab verən əhval işığı. Hal -hazırda, musiqidə nəbz verən işığın videosu, orijinal dövrənin istifadə edildiyi zamandır. Bəlkə də təkmilləşdirilmiş dizaynı göstərən başqa bir fayl yükləyəcəyəm (daha çox yeni dövrə görə musiqiyə cavab verən kimi görünür). Piezo elementini necə lehim edəcəyimdən əmin deyildim, buna görə də təxmin etdiyim və göstərildiyi kimi lehimlədim. Çalışsa da. Piezonun polaritesinin əhəmiyyəti yoxdur. Rezistor çörək taxtasındadır (göstərilməyib). DİQQƏTƏ DİQQƏT: Bu sxemlərin dəyərləri sizinkindən fərqlənəcək, buna görə də kodda bəzi düzəlişlər etməlisiniz. Bu dəyərlərlə bağlı hər hansı bir sualınız varsa, mənə bildirməkdən çekinmeyin.

Addım 6: Sensorlar üçün yer tapın və hamısını birləşdirin

Sensorlar üçün yer tapın və hamısını birləşdirin
Sensorlar üçün yer tapın və hamısını birləşdirin
Sensorlar üçün yer tapın və hamısını birləşdirin
Sensorlar üçün yer tapın və hamısını birləşdirin

Bu hissə çox çətin olmamalıdır. 'Toxunan işıq' korpusu, uyğunlaşdırmaq üçün lazım olan hər şeyi yerləşdirmək üçün geniş bir yerə malikdir. Sensorları istədikləri yerə yerləşdirdim. Bütün əlaqələr aşağıdakılardır:

  • Pin A6: Səs sensoru - Qeyd: arduino olmayan nano istifadəçiləri üçün digər arduinoların 7 -ci analoq pinləri yoxdur. Bunu kodda dəyişdirməlisiniz.
  • Pin A3: Piezo sensoru (tap sensoru)
  • Pin A0: İşıq sensoru

Sensorların (+) uclarını təsadüfən nizamsız elektrik şeridinə bağlamadığınızdan əmin olun, yoxsa qızardacaqsınız.

Addım 7: Test edin

Test edin
Test edin
Test edin
Test edin

Güc əlaqələrinin yaxşı olduğundan əmin olun; Güc adapterindən istifadə edin və batareyalardan istifadə edin. Ümumi problem, pozitiv və zəminlə zəif əlaqələrdir. QEYD: Bilirəm ki, şəkildə işıq sensoru yoxdur; O hissəni əlavə etməzdən əvvəl götürmüşəm.

Addım 8: Proqramlaşdırın, bağlayın və istifadə edin

Proqramlaşdırın, bağlayın və istifadə edin
Proqramlaşdırın, bağlayın və istifadə edin
Proqramlaşdırın, bağlayın və istifadə edin
Proqramlaşdırın, bağlayın və istifadə edin
Proqramlaşdırın, bağlayın və istifadə edin
Proqramlaşdırın, bağlayın və istifadə edin

İstifadə etdiyim kod Tod E. Kurt (www.todbot.com/blog) və BlinkM (ThingM) istehsalçılarının yaratdığı kitabxanadan istifadə edir. Kodun daha anlaşıqlı olması üçün qeydlər əlavə etməyə çalışacağam; İndiki vaxtda bir növ məşğulam. Kodu yükləyərkən arduino proqramında kod kitabxanasını ("BlinkM_funcs.h" etiketli fayl) açmalısınız, əks halda işləməyəcək. Kodu görmək istəsəniz, ancaq arduino proqramınız yoxdursa, onu bir söz emal proqramı ilə aça bilərsiniz (aka wordpad Windows istifadəçiləri üçün). Yeni funksiyalar üçün fikirlər xoş gəlir. Zəhmət olmasa onları göndərməkdən çekinmeyin; Mən bunu açıq mənbə etmək istəyirəm. Kodu necə qurduğumun məqsədi yeni funksiyaların asanlıqla əlavə oluna bilməsidir. Funksiyalardan bəziləri istehsalçı (ThingM) tərəfindən BlinkM -də proqramlaşdırılmışdır, lakin bunlardan ikisini mən etmişəm; 'Səs İşıq' və 'Mimik İşıq'. Hal -hazırda aşağıdakılara malikdir:

  • Mood Light - Yavaş -yavaş təsadüfi rənglərə çevrilir
  • Şam - Portağal və sarı rəngli şam kimi titrəyir
  • Su Yansımaları - Mavi, firuzəyi və mavi rəngli "Parıltılar"
  • Mövsümi Rənglər - Mövsümi rənglərə çevrilir (mavi, yaşıl, bənövşəyi və narıncı olduğunu düşünürəm)
  • Fırtına - Bəzən ildırımı simulyasiya edən yanıb sönür
  • Stop Light - qırmızıdan sarıya yaşıl və yenidən geri çevrilir
  • Mimik İşıq - 50 -ə qədər işıq dövrəsini (bir fənərdən istifadə edə bilərsiniz) ardıcıllığını qeyd edir, açma/söndürmə vaxtlarını 'yadda saxlayır' və sonra onları heç bitməyən bir döngədə oynayır.
  • Səs İşıq - Musiqinin səsinə nəbz verir

İstənilən vaxt funksiyanı dəyişdirmək üçün şəffaf günbəzə yüngülcə vurun. Bu qaydanın bir istisnası var: 'mimik işığı' funksiyasına çatanda yaşıl rəngdə yanıb sönəcək. Qübbəni yanıb -sönərkən vurursanız, son funksiyaya keçəcək ('səs işığı'). Yalnız gözləsəniz, "mimik işığı" funksiyasına keçəcək. 'Səs işığı' funksiyasına gəldikdə, səs sensorunu oxuduğuna görə funksiyaları dəyişə və birincisinə keçə bilməzsiniz. İndi çətin hissəsi gəlir. Əhval işığı qapağını bağlamaq üçün bir neçə diqqətli addım atmalısınız. Əvvəlcə dayaq yaylarını plastik günbəzdəki kiçik çubuqlarla düzəltməlisiniz. DC elektrik prizi kənarda olduğundan və tellər çörək taxtasına getdiyindən, plastik qübbəni İLK olaraq bu tellərin üzərinə sürüşdürməlisiniz, sonra xarici günbəzin vida sütunlarını plastik günbəzdəki girintilərlə düzün. Bütün çubuqların, kənarındakı vida sütunlarına və dayaq boşqabındakı çubuq deliklərinə uyğun gələn dəstək yaylarının yerləşdirilməsi ilə üst -üstə düşdüyündən əmin olun. Sonra, hər şeyin üst -üstə düşdüyünə əmin olduğunuzda, xarici kənarını alt plitə üzərinə yapışdırın. Bundan sonra, heç bir telin yaylara yapışmadığından və ya gələcəkdə ola biləcəyi bir yerdə olmadığından əmin olun. Bu, plastik günbəzin hərəkətini əngəlləyərdi. Nəhayət, vintləri dəyişdirin və zövq alın! Son qeydlər: Vacibdir: batareyalardan istifadə etməyin və eyni zamanda divar adapterini qoşmayın. Nə olacağını bilmirəm, amma əminəm ki, gücə bağlı olan hər şeyi məhv edəcək !!

Addım 9: ƏLAVƏ

İşdə bəzi videolar: Bu, BlinkM-də quraşdırılmış 6 əvvəlcədən proqramlaşdırılmış funksiyalardan biridir:… Bu, əlavə etdiyim xüsusi səs/musiqiyə cavab verən koddur (bunun hansı mahnı olduğunu təxmin edə bilərsinizmi? …:… Və nəhayət, amma mütləq deyil ən azından hamısını etmək üçün ən sərin (zənnimcə) və ən çətin funksiyadır; 'mimik işıq' funksiyası:

Tövsiyə: