Mündəricat:
- Addım 1: Nə lazımdır?
- Addım 2: Prototipləşdirmə:
- Addım 3: Kod:
- Addım 4: İndi Dava üçün:
- Addım 5: Son Nəticə Bənzər Bir Şey Görünməlidir:
- Addım 6: Lehimləmə
- Addım 7: Hazırıq
Video: İnteraktiv Toxunmaz İşıq: 7 addım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Hər kəsə salam! Çalışdığım layihəni burada paylaşmaq istərdim. Universitetimdəki bir layihə vasitəsilə kapasitiv toxunma algılamasını sınamaq üçün ilham aldım. Bu texnologiyanı təlimatlar vasitəsilə öyrəndim və maraqlı işıq rəngləri yaratmaq üçün fərqli RGB dəyərlərini qarışdırmaq üçün istifadə etdiyim toxunmadan idarəetmə qurğumu qurmaq üçün burada və internetdə öyrəndiyim şeyləri istifadə etdim.
Yeni başlayanlar üçün, bu layihəyə başlayanda nə elektronika, nə də kapasitiv toxunma algılaması haqqında heç nə bilmirdim.
Əvvəldən qaçdığım bəzi problemlər əslində baş verənləri başa düşməməkdən qaynaqlanır. Bunu necə başa düşdüyümə qısa bir giriş:
Kapasitiv bir sensor, əsasən bir çox komponentdən istifadə edir:
Bir kondansatör (bu layihədə alüminium folqa istifadə edirik, eyni zamanda keçirici mayelərdən istifadə etmək də mümkündür), tellər (əlbəttə ki, onun elektronikası)
və bir rezistor, 10 MOhm -dən aşağı olan hər hansı bir şey, birbaşa toxunmadan daha çox müqavimətdir.
işləmə üsulu, A nöqtəsi ilə B nöqtəsi arasındakı vaxt fərqini ölçməkdir. Başlanğıc pinindən bir son nöqtəyə bir siqnal göndərir, aldığı vaxt bir taymerlə ölçülür. Müqavimət dəyərini azaldaraq (bir kondansatörü (bu halda əlinizlə) sensorun kondensatoruna yaxınlaşdıraraq (alüminium folqa) bu dəfə qısaldır, zaman fərqi sensorun dəyər olaraq geri verdikləridir.
Sensorun kapasitiv səthlərdən təsirlənməsi səbəbindən məlumatlar müdaxilə səbəbiylə vəhşicəsinə düzensiz ola bilər. Kondansatörü düzgün izolyasiya etməklə və bir torpaq istifadə etməklə böyük bir hissəsi həll edilə bilər (daha sonra necə olacağını göstərəcəyəm).
Beləliklə, indi ehtiyacımız olan hər şeyi inventarlaşdırmağa başlaya bilmərik:
Addım 1: Nə lazımdır?
Elektronika:
1. 2 x 22M Ohm + rezistorları (müqavimət dəyəri nə qədər böyükdürsə, sensorun reaksiyası nə qədər uzaqdırsa, şəxsən mən 22M Ohm istifadə etmişəm, təcrübəli məlumatları əldə etmək üçün minimum 10M Ohm idi)
2. 3x 330 Ohm rezistorlar
3. Tellər
4. Çörək lövhəsi
5. Dövrə lövhəsi (mənimki kontuları mis zolaqlar idi)
6. Birdən çox ümumi Katot RGB Led (8 -dən istifadə etdim, amma nə qədər istədiyinizə görə az və ya çox ola bilərsiniz)
7. Alüminium folqa
8. Yapışqan sarğı
9. Arduino Uno
10. Bant
Hal:
1. Taxta 50 x 50 x 1.8 CM MDF istifadə etdim (həqiqətən hər şeyi istifadə edə bilərsiniz. İstədiyiniz effektdən və ixtiyarınızdakı vasitələrdən asılıdır)
2. 50 x 50 x 0.3 CM (və ya düyü kağızı kimi hər hansı digər şəffaf/şəffaf material) istifadə etdiyim akril pleksiglas
3. Zımpara (incə zımpara)
4. Taxta yapışqan
5. vener (isteğe bağlı)
6. Akrilik yapışqan
Alətlər:
Tel çıxarıcı
Lehimləmə dəmir + qalay
Stanley bıçağı
qazma
Gördüm (masa mişarından istifadə etdim)
Addım 2: Prototipləşdirmə:
İndi hər şeyimiz var və bunun necə işlədiyini görmək üçün bir prototip hazırlamağa başlaya bilərik:
Hazırlıq işləri:
Alüminium folqa içərisindən 4 düzbucaqlı kəsin (Mənimki təxminən 10 sm x 5 sm), onları toxunmadan izolyasiya etmək üçün yapışqan sarın və alüminium folqa bir tel yapışdırın. Sadəcə folqa üçün soyulmuş bir ucu yapışdırdım (əlaqə saxladıqları müddətcə).
Alüminiumun etibarlı şəkildə izolyasiya olunduğundan əmin olmaq üçün onu yapışqan ilə büküb kağızlar arasında ütülədim (tamamilə əriməməsi üçün bir neçə saniyə ərzində).
Sonra dövrədə şəkildə göründüyü kimi qurun.
Pin 4, hər iki sensör üçün bir göndərmə pimi olaraq istifadə olunur, qəbul pinləri isə pin 2 və 5 -dir. Birdən çox göndərmə sancağından istifadə edə bilərsiniz, lakin mükəmməl sinxronizasiya olunmadığı üçün problem yaradır.
hər şeyi bir -birinə lehimləməzdən əvvəl, hər şeyin həqiqətən nəzərdə tutulduğu kimi işlədiyinə əmin olmaq üçün bu ayarı ayıklama məqsədləri üçün istifadə edin.
Addım 3: Kod:
İndi hər şeyimiz var və sensorlar ayırmağa başlaya bilərik.
Kodumu istifadə etmək üçün Arduinodan kapasitiv algılama kitabxanasını yükləməli və istinad səhifəsində verilən təlimatlara uyğun olaraq qurmalısınız: Məni vurun
Kod: (Kodlaşdırmaqda yaxşı deyiləm, buna görə də bunu necə daha yaxşı edəcəyinizi bilirsinizsə edin)
#include // kod kitabxanasını idxal edin
CapacitiveSensor cs_4_2 = CapacitiveSensor (4, 2); // Pin göndər = 4, qəbul 2 və 5 -dir CapacitiveSensor cs_4_5 = CapacitiveSensor (4, 5); const int redPin = 11; const int greenPin = 10; const int bluePin = 9; const int numIndexR = 10; // sıra ölçüsü const int numIndexG = 10; int colorR = 0; int colorG = 0; float colorB = 0; int indexR [numIndexR]; int posIndexR = 0; uzun ümumi R = 0; // uzun olmalıdır, çünki dizimin cəmi tam ədəd üçün böyük idi. int ortaR = 0; int indexG [numIndexG]; int posIndexG = 0; uzun ümumi G = 0; int orta G = 0; boş quraşdırma () {pinMode (redPin, ÇIXIŞ); pinMode (greenPin, ÇIXIŞ); pinMode (bluePin, ÇIXIŞ); for (int thisIndexR = 0; thisIndexR <numIndexR; thisIndexR ++) {// dizini 0 indexR [thisIndexR] = 0 olaraq təyin edir; } üçün (int thisIndexG = 0; thisIndexG = 4500) {// sensor dəyərlərini istifadə edilə bilən maksimuma endirin, bu hər bir müqavimət dəyəri üçün eyni deyil və ətraf mühitdən mühitə bir qədər fərqlənə bilər. öz ehtiyaclarınız. cəmi1 = 4500; } if (total2> = 4500) {total2 = 4500; } totalR = totalR - indexR [posIndexR]; // bu, davamlı olaraq bir sensor çıxışı əlavə edən və ortalamanı çıxaran bir sıra yaradır. indexR [posIndexR] = cəmi1; totalR = totalR + indexR [posIndexR]; posIndexR = posIndexR + 1; əgər (posIndexR> = numIndexR) {posIndexR = 0; } ortaR = totalR / numIndexR; // çıxışı hamarlaşdırmaq üçün xam məlumatlar yerinə ortalamadan istifadə edirik, prosesi bir qədər yavaşlatır, həm də həqiqətən gözəl bir axın yaradır. totalG = totalG - indexG [posIndexG]; indexG [posIndexG] = cəmi2; totalG = totalG + indexG [posIndexG]; posIndexG = posIndexG + 1; əgər (posIndexG> = numIndexG) {posIndexG = 0; } ortaG = totalG / numIndexG; if (averageR> = 2000) {// biz sizin əlinizdən heç bir məlumat gəlmədikcə ledlərin dəyərini daim dəyişməsini istəmirik, buna görə də bütün aşağı ətraf oxunuşları nəzərə alınmır. colorR = xəritə (ortaR, 1000, 4500, 255, 0); analogWrite (redPin, colorR); } başqa if (ortaR = 1000) {colorG = xəritə (ortaG, 1000, 4500, 255, 0); analogWrite (greenPin, colorG); } başqa if (ortaG <= 1000) {colorG = 255; analogWrite (greenPin, colorG); } if (colorR <= 125 && colorG <= 125) {// B bir az fərqli işləyir, çünki mən yalnız 2 sensordan istifadə etmişəm, buna görə də B sensorunu hər iki sensorda xəritələmişəm colorB = map (colorR, 255, 125, 0, 127.5) + map (colorG, 255, 125, 0, 127.5); analogWrite (bluePin, colorB); } başqa {colorB = xəritə (colorR, 255, 125, 127.5, 0) + xəritə (colorG, 255, 125, 127.5, 0); əgər (colorB> = 255) {colorB = 255; } if (colorB <= 0) {colorB = 0; } analogWrite (bluePin, colorB); } Serial.print (millis () - başlanğıc); // bu, Serial.print ("\ t") ayıklama məqsədləri üçündür; Serial. çap (colorR); Serial.print ("\ t"); Serial. çap (colorG); Serial.print ("\ t"); Serial.println (colorB); gecikmə (1); }
Bu kodun etdiyi şey, xam məlumatları sensordan çıxarmaqdır (sensora təsir edən bütün fərqli amillər səbəbiylə bu məlumatlar hər zaman bir az düzensiz olacaq) və dizi maksimum dəyərə çatdıqda, xam məlumatları davamlı olaraq bir sıra halına gətirir (mənim vəziyyətimdə 10) son dəyəri təmizləyir və yenisini əlavə edir. Hər dəfə bir dəyər əlavə edildikdə, orta dəyəri hesablayır və yeni bir dəyişənə qoyur. Bu orta dəyişən, hər hansı bir kanalın parlaqlığını artırmaq üçün RGB sancaqlarına yazdığımız dəyərdir (0 və 255 arasında).
İndi kodunuzu arduino -ya yükləsəniz və seriyalı monitoru açsanız, əlinizi hər bir sensorun üzərinə apardığınızda RGB dəyərlərinin daha aşağı olduğunu görməlisiniz, həmçinin ledin işıq rəngi dəyişməlidir.
Addım 4: İndi Dava üçün:
Dava: Universitetdə mövcud olan vasitələrdən istifadə edərək işi açdım, buna görə də bu iş axını hər kəs üçün uyğun deyil. Bununla əlaqədar çox xüsusi bir şey yoxdur, USB portunun yerləşə bilməsi üçün bir tərəfində bir çuxura ehtiyacı var, ancaq bunun xaricində yalnız üstü açıq bir qutu var.
Ölçülər aşağıdakı kimidir:
Şəffaf üst üçün 15 x 15 CM
və
Taxta baza üçün 15 x 8 CM (ağacın qalınlığı mənim üçün 1.8 sm idi).
MDF lövhəsini lazım olan ölçülərə (4 panel 15 x 8 CM və 1 15 x 15 CM torpaq paneli) kəsmək üçün bir masa mişarı istifadə etdim, sonra küncləri 45 dərəcə bir açı ilə kəsdim. Taxta yapışqan və sıxaclardan istifadə edərək bir -birinə yapışdırdığım bütün hissələr (ən azı 30 dəqiqə qurumasına icazə verin), Plexiglas üçün eyni proseduru istifadə etdim, ancaq xüsusi mişar bıçağı ilə.
Taxta tərəflərdən 1 -nin ortasında arduino USB fişinin hündürlüyündə arduinonun takılmasına imkan verən bir deşik olmalıdır.
Döşəməni kaplama ilə bitirdim. Hər tərəfin səthindən bir qədər böyük olan parçalara ayırdım.
Bunu yapışdırdım, sonra hər tərəfə 30 dəqiqə bağladım (sürüşməməsinə əmin olmaq üçün fərdi şəkildə etmək daha yaxşıdır və quruduqdan sonra yapışan hər şeyi kəsdim.
Acryfix adlı xüsusi bir yapışqan istifadə edərək yapışdırdığım başlıq Acryfix.
Unutmayın ki, akril Pleksiglasdan istifadə edirsinizsə, yapışqan Pleksiglası bir qədər həll edir, buna görə də mümkün qədər dəqiq və sürətli olun (bir neçə dəqiqə ərzində quruyur, ancaq saniyələr ərzində havaya məruz qalır).
Qapağı bitirmək üçün kubu bir qum təmizləyicisi ilə dondurdum, ancaq incə zımpara da istifadə edə bilərsiniz, hətta düz görünməsi üçün daha çox vaxt lazımdır. Diqqət yetirin, əgər zımpara istifadə edirsinizsə, incə dənəvər olmalıdır və donma prosedurundan sonra hissələri bir -birinə yapışdırın (belə ki, çox təzyiq göstərərək təsadüfən sındırmazsınız)
Qapağın çox sürüşmədiyinə əmin olmaq üçün taxta kubun kənarlarına bir neçə kiçik taxta çubuq yapışdırdım.
Addım 5: Son Nəticə Bənzər Bir Şey Görünməlidir:
Addım 6: Lehimləmə
Bir dövrə lövhəniz varsa, çörək taxtanızdakı eyni quruluşu istifadə edərək bütün hissələri birlikdə lehimləməyə başlaya bilərsiniz.
Mənim dövrə lövhəmdə istifadə rahatlığı üçün davamlı mis zolaqlar var.
Hər bir sensor üçün rezistorları və telləri lehimləmək üçün kiçik bir kvadrat kəsdim.
Göndərmə telləri (pin 4 -dən hər bir sensora gedən tellər) ardıcıl olaraq ayrı bir kvadratda, pin 4 -ə daxil olan 1 tel ilə lehimlənir.
İmprovizasiya edilmiş bir LED şeridi düzəltmək üçün uzun bir düzbucaq saxladım (qapağın içərisinə, ancaq əsasın kənarlarına uyğun şəkildə ölçün). Ledləri ardıcıl olaraq bir -birinin ardınca lehimləyə bilərsiniz (şəkildəki yadda saxlayın ki, təsadüfən elektron lövhənin yanlış tərəfindəki ledləri və rezistorları lehimlədim, mis şeritler həmişə alt tərəfdə olmalıdır).
Ayrı -ayrı hissələri bir -birinə lehimləməyi bitirdikdən sonra qutuya yerləşdirin. Fərdi tellərimi birlikdə lehimləmədim, buna görə də lazım olduqda asanlıqla dəyişə bilərəm.
Hər şeyi bazaya uyğunlaşdırmağın vaxtıdır: Bu, ən asan addımdır, arduinonun korpusun arxasındakı çuxurdan USB portu ilə əvvəlcə yerləri olmalıdır. İndi sensorlar əlavə edin, sensor folyosunun hər iki tərəfdəki taxtaya uyğun olduğundan əmin olun, torpaq folyosu isə düzdür. Hər şey yaxşı oturduqda, RGB ledlərini sağ pinlərə (9, 10, 11) bağlayın və bazanın kənarlarına söykənməsinə icazə verin.
Addım 7: Hazırıq
Bütün bunları başa düşdünüzsə, indi kapasitiv toxunma rəng qarışığı olan bir işığınız olmalıdır. Əylənin!
Tövsiyə:
Bluetooth Uzaqdan İdarə Edilən İşıq Açarı - Gücləndirmə. İşıq Açarı Hələ İşləyir, Əlavə Yazı yoxdur.: 9 Addım (Şəkillərlə)
Bluetooth Uzaqdan İdarə Edilən İşıq Açarı - Gücləndirmə. İşıq Açarı Hələ İşləyir, Əlavə Yazı yoxdur .: 25 Noyabr 2017 -ni yeniləyin - Yükün kilovatını idarə edə bilən bu layihənin Yüksək Güclü bir versiyası üçün BLE Nəzarətini Yüksək Güclü Yüklərə Baxın - Əlavə Kablolama Lazım deyil Yeniləmə 15 Noyabr 2017 - Bəzi BLE lövhələri / proqram yığınları
Masa İşıq Süs və Qapı İşıq İşarəsi: 8 Addım (Şəkillərlə)
Masa İşıq Süslənməsi və Qapı İşıq İşarəsi: Bu dərslik, işıq saçan bir masa bəzəyini necə proqramlaşdıracağınızı və quracağınızı göstərəcək. Bu işıqlar bir saat ərzində rənglərini dəyişir. Proqramlaşdırmağı və yanan qapı işarəsini necə quracağınızı da öyrənəcəksiniz. Qapıdan istifadə edə bilərsiniz
Musiqi Reaktiv İşıq -- Masaüstünü Möhtəşəm etmək üçün Super Sadə Musiqi Reaktiv İşıq Necə Hazırlanır: 5 Addım (Şəkillərlə)
Musiqi Reaktiv İşıq || Masaüstü Awsome etmək üçün Super Sadə Musiqi Reaktiv İşıq Necə Hazırlanır: Salam uşaqlar, bu gün çox maraqlı bir layihə hazırlayacağıq.Bu gün biz reaktiv musiqi yaradacağıq. Led parlaqlığını dəyişəcək. əslində aşağı tezlikli səs siqnalı olan bas. Qurmaq çox sadədir, biz
LED İşıq Çəkmə Qələmləri: İşıq Doodle çəkmək üçün Alətlər: 6 Addım (Şəkillərlə)
LED İşıq Çəkmə Qələmləri: İşıq Doodle Çəkmək üçün Alətlər: Həyat yoldaşım Lori fasiləsiz bir karandaşdır və illərdir uzun pozlama fotoqrafiyası ilə oynamışam. PikaPika yüngül sənət qrupundan və rəqəmsal kameraların asanlığından ilhamlanaraq, nə edə biləcəyimizi görmək üçün yüngül rəsm sənəti formasına keçdik
A $ 20 / 20min Ticarət Keyfiyyətli Qatlanan İşıq Qutu / İşıq Çadırı: 7 Addım (Şəkillərlə)
A $ 20 / 20min Ticarət Keyfiyyətli Qatlanan İşıq Qutu / İşıq Çadırı: Məhsul üçün DIY işıq qutusu axtarırsınızsa və ya fotoşəkilləri bağlayırsınızsa, çoxlu seçimləriniz olduğunu bilirsiniz. Karton qutulardan paltar yuyanlara qədər, layihənin ölümcül edildiyini düşünürsünüz. Amma gözləyin! 20 dollara