Mündəricat:

İnteraktiv Led Lampa - Tensegrity Structure + Arduino: 5 Addım (Şəkillərlə birlikdə)
İnteraktiv Led Lampa - Tensegrity Structure + Arduino: 5 Addım (Şəkillərlə birlikdə)

Video: İnteraktiv Led Lampa - Tensegrity Structure + Arduino: 5 Addım (Şəkillərlə birlikdə)

Video: İnteraktiv Led Lampa - Tensegrity Structure + Arduino: 5 Addım (Şəkillərlə birlikdə)
Video: Tensegrity led light 2024, Iyul
Anonim
İnteraktiv Led Lampa | Gərginlik Quruluşu + Arduino
İnteraktiv Led Lampa | Gərginlik Quruluşu + Arduino
İnteraktiv Led Lampa | Gərginlik Quruluşu + Arduino
İnteraktiv Led Lampa | Gərginlik Quruluşu + Arduino
İnteraktiv Led Lampa | Gərginlik Quruluşu + Arduino
İnteraktiv Led Lampa | Gərginlik Quruluşu + Arduino

Bu parça hərəkətə cavab verən lampadır. Minimum gərginlik heykəli olaraq dizayn edilən lampa, bütün quruluşun istiqamətinə və hərəkətinə cavab olaraq rəng konfiqurasiyasını dəyişir, başqa sözlə, istiqamətindən asılı olaraq lampa müəyyən bir rəngə, parlaqlığa və işıq rejiminə keçir.

İkosaedr fırlandıqda (öz oxu üzərində), virtual sferik rəng seçicidən bir dəyər seçir. Bu rəng seçici görünmür, ancaq rəng tənzimləmələri real vaxtda baş verir. Beləliklə, parça ilə oynayarkən hər bir rəngin kosmosda harada yerləşdiyini anlaya bilərsiniz.

İkosahedral forma 20 üz təyyarəsi təmin edir və gərginlik quruluşu ona 6 əlavə nöqtəni verir. Bu, lampa düz bir səthdə dayandıqda 26 mümkün rəng təmin edir. Lampanı havaya çevirdikdə bu rəqəm artır.

Sistem, üç oxlu bir akselerometrə qoşulmuş bir Pro Trinket tərəfindən idarə olunur. İşıq, rəng və ağ parlaqlıq dəyərini fərdi olaraq idarə edə bilən RGBW LED şeritləri ilə təmin edilir. Mikroprosessor, sensorlar və işıqlandırma sistemi də daxil olmaqla bütün dövrə 5v -də işləyir. Sistemi işə salmaq üçün 10A -a qədər bir qaynağa ehtiyac var.

Lampada istifadə olunan əsas elementlərin siyahısı aşağıdakılardır:

- Adafruit Pro Trinket - 5V

- Adafruit LIS3DH Üç Eksenli Akselerometr

- Adafruit NeoPixel Digital RGBW LED Şeridi - Ağ PCB 60 LED/m

- 5V 10A kommutasiya enerji təchizatı

Bu hərəkətə cavab verən lampa, daha uzun bir şəxsi layihənin ilk versiyası və ya prototipidir. Bu prototip təkrar emal edilmiş materiallardan hazırlanmışdır. Dizayn və tikinti proseslərində uğurlardan və səhvlərdən dərs aldım. Bunları nəzərə alaraq, indi daha ağıllı bir quruluşa və möhkəm bir proqrama sahib olacaq növbəti versiya üzərində işləyirəm.

LACUNA LAB ictimaiyyətinə, layihənin hazırlanması zamanı göstərdikləri köməyə, fikir və təkliflərə görə təşəkkür etmək istəyirəm.

işlərimi izləyə bilərsiniz: action-io / tumblraction-script / github

Addım 1: Fikir

Fikir
Fikir
Fikir
Fikir
Fikir
Fikir

Bu layihə bir müddətdir beynimdə oynadığım fikirlərin nəticəsidir.

Başladığım vaxtdan etibarən konsepsiya dəyişdi, ilkin layihə inkişaf etdi və əsl şəklini aldı.

İlk yanaşma, qarşılıqlı əlaqə vasitəsi olaraq həndəsi formalara maraq idi. Dizaynına görə bu lampanın çoxbucaqlı üzləri giriş metodu olaraq xidmət edir.

İlk fikir, icosahedronu hərəkət etməyə məcbur etmək üçün dinamik bir sistemdən istifadə etmək idi. Bu, interaktiv bir tətbiq və ya sosial media istifadəçiləri tərəfindən idarə oluna bilərdi.

Başqa bir ehtimal, daxili mərmərin və ya topun fərqli düymələrə və ya sensorlara basması və parça hərəkət edərkən təsadüfi girişlər yaratmaq olardı.

Gərginlik quruluşu daha sonra meydana gəldi.

Bu tikinti metodu məni heyran etdi: quruluş hissələrinin bir -birini balanslaşdırması. Vizual baxımdan çox xoşdur. Bütün quruluş özünü balanslaşdırmışdır; parçalar birbaşa bir -birinə toxunmur. Parçanı yaradan bütün gərginliklərin cəmidir; bu fantastikdir!

İlkin dizayn dəyişdikcə; layihə irəliləyir.

Addım 2: Quruluş

Struktur
Struktur
Struktur
Struktur
Struktur
Struktur
Struktur
Struktur

Daha əvvəl də qeyd etdiyim kimi, bu ilk model atılmalı olan təkrar emal edilmiş materiallardan hazırlanmışdır.

Küçədə tapdığım taxta çarpayıdan götürdüyüm taxta lövhələr. Qızıl bəzəklər köhnə bir lampanın qolunun bir hissəsi idi və rezin bantlar üçün tıxaclar ofis klipləridir.

Hər halda, quruluşun qurulması olduqca sadədir və addımlar hər hansı bir gərginlikdə olduğu kimidir.

Lövhələrlə etdiklərim onları iki qrup halında bir araya gətirməkdir. İşıqların parlayacağı bir boşluq buraxaraq qızıl aralayıcılarla "sandviç" hazırlamaq.

Layihənin ölçüləri tamamilə dəyişkəndir və etmək istədiyiniz strukturun ölçüsündən asılı olacaq. Bu layihənin şəkillərindəki taxta çubuqların uzunluğu 38 sm və eni 38 mm -dir. Lövhələr arasındakı məsafə 13 mm -dir.

Taxta lövhələr eyni şəkildə kəsilir, zımparalanır (köhnə boya qatını çıxarmaq üçün) və sonra hər iki ucunda deşilir.

Sonra lövhələri köntöy qaranlıq lak ilə boyadım. Parçaları birləşdirmək üçün hər tərəfdən bir düyün ilə 5 sm və 5 mm -lik hissələrə kəsilmiş 5 mm yivli çubuq istifadə etdim.

Gəricilər qırmızı rezin bantlardır. Kauçuku çubuqlara bağlamaq üçün kiçik bir çuxur açdım və içindən bantı keçdim və sonra tıxacla bağladım. Bu, lövhələrin sərbəst hərəkət etməsinə və strukturun sökülməsinə mane olur.

Addım 3: Elektronika və İşıqlar

Elektronika və İşıqlar
Elektronika və İşıqlar
Elektronika və İşıqlar
Elektronika və İşıqlar
Elektronika və İşıqlar
Elektronika və İşıqlar
Elektronika və İşıqlar
Elektronika və İşıqlar

Elektron komponentlərin konfiqurasiyası, eyni məntiqi və 5v istifadə edərək sistem boyunca qidalanma eyni gərginliyi qorumaq üçün hazırlanmışdır.

Sistem, üç oxlu bir akselerometrə qoşulmuş bir Pro Trinket tərəfindən idarə olunur. İşıq, rəngləri və ağ parlaqlıq dəyərlərini fərdi olaraq idarə edə bilən RGBW LED şeritləri ilə təmin edilir. Mikroprosessor, sensorlar və işıqlandırma sistemi də daxil olmaqla bütün dövrə 5v -də işləyir. Sistemi işə salmaq üçün 10A -ya qədər bir qaynağa ehtiyac var.

Pro Trinket 5V, Arduino UNO -da eyni əsas çip olan Atmega328P çipindən istifadə edir. Demək olar ki, eyni sancaqlar var. UNO layihənizi miniatür məkanlara gətirmək istədiyiniz zaman həqiqətən faydalıdır.

LIS3DH çox yönlü bir sensordur, +-2g/4g/8g/16g daxilində oxumaq üçün yenidən konfiqurasiya edilə bilər, həmçinin Tap, Double-tap, oriyentasiya və sərbəst düşmə algılamasını da gətirir.

NeoPixel RGBW LED Strip, rəng tonunu və ağ intensivliyi ayrıca idarə edə bilər. Xüsusi bir ağ LED ilə, ağ işığa sahib olmaq üçün bütün rəngləri doyurmağa ehtiyac yoxdur, eyni zamanda ağı daha saf və parlaq edir və bunun üzərinə də enerji qənaət edir.

Kabel qurmaq və komponentləri bir -birinə bağlamaq üçün, kıvrımlar və bağlayıcı korpuslardan istifadə edərək, kabel keçirib kişi və dişi sancaqlar olan prizlər yaratmağa qərar verdim.

Bibərləri SPI -ni standart konfiqurasiyaya atmaq üçün akselerometrə bağladım. Bu, Vini 5V enerji təchizatına bağlamaq deməkdir. GND -ni ümumi gücə/məlumat sahəsinə qoşun. SCL (SCK) pinini Digital #13 -ə qoşun. SDO pinini Digital #12 -ə qoşun. SDA (SDI) pinini Digital #11 -ə qoşun. CS pin Digital #10 -a qoşun.

Led şeridi yalnız bir pinlə idarə olunur, bu #6 -ya gedir və yerə və 5v birbaşa enerji təchizatı adapterinə gedir.

Lazım ola biləcək bütün sənədləri adafruit səhifəsində daha ətraflı və daha yaxşı izah edə bilərsiniz.

Enerji təchizatı, eyni zamanda mikrokontrolörü və LED şeridini qidalandıran bir qadın DC adapterinə bağlıdır. Ayrıca, "açma" anında dövrəni qeyri -sabit cərəyandan qorumaq üçün bir kondansatör var.

Lampada 6 işıq çubuğu var, lakin LED şeritləri tək uzun bantla gəlir. LED bandı 30 sm (18 LED) hissələrə kəsildi və sonra modul olaraq dövrə qalanına qoşulmaq üçün kişi və dişi 3 sancaqla qaynaqlandı.

Bu layihə üçün 5v - 10A enerji təchizatı istifadə edirəm. Lazım olan led sayından asılı olaraq sistemi qidalandırmaq üçün lazım olan cərəyanı hesablamalı olacaqsınız.

Parçanın sənədləri boyunca, LEDin hər LED üçün 80mA çəkdiyini görə bilərsiniz. Ümumilikdə 108 LED istifadə edirəm.

Addım 4: Kod

Kod
Kod

İşləmə sxemi olduqca sadədir. Bir akselerometr, x, y, z oxunda hərəkət haqqında məlumat verir. İstiqamətə əsaslanaraq LED -lərin RGB dəyərləri yenilənir.

İş aşağıdakı mərhələlərə bölünür.

  • Sensordan oxu edin, sadəcə api istifadə edin.
  • Triqonometriya ilə "yuvarlanma və meydança" dəyərlərini həll edin. Daha çox məlumatı Mark Pedleyin bu sənədində tapa bilərsiniz.
  • HSL - RGB çevrilmə funksiyasından istifadə edərək 0-360 RGB dəyərinə müraciət edirik. Rəng seçmə kürəsinin əks yarımkürələri tamamilə ağ rəngdədir.
  • Fərdi LED rənglərinin məlumatlarını saxlayan işıqların tamponunu yeniləyin. Bu məlumatdan asılı olaraq tampon nəzarətçisi bir animasiya yaradacaq və ya tamamlayıcı rənglərlə cavab verəcək.
  • Nəhayət rəngləri göstərin və LEDləri yeniləyin.

Başlanğıcda fikir, hər hansı bir rəngi seçə biləcəyiniz bir rəng kürəsi yaratmaq idi. Rəng çarxını qaranlıq və işıq tonlarını meridianın üzərinə və qütbünə yerləşdirin.

LEDlər fərqli tonlar yaratdığından, hər bir rgb LEDini tez bir zamanda yandırdıqları üçün, tünd rəngləri təmsil etmək üçün aşağı dəyərlər verildikdə, LEDlər çox zəif bir performans verir və necə yanıb -sönməyə başladıqlarını görə bilərsiniz. Bu, rəng kürəsinin qaranlıq yarımkürəsinin düzgün işləməməsinə səbəb olur.

Sonra, hazırda seçilmiş ton üçün tamamlayıcı rənglər təyin etmək fikri gəlir.

Beləliklə, bir yarımkürə təkərin monoxromatik rəng dəyərini 50% işıqlandırmadan 90 ~ 100% doyma ilə seçir. Eyni zamanda, digər tərəf eyni rəng mövqeyindən bir rəng qradiyenti seçir, lakin gradientin digər tərəfinə tamamlayıcı rəng əlavə edir.

Sensordan alınan məlumatların oxunması xamdır. Səs -küyü və lampanın özünün titrəmələrini hamarlaşdırmaq üçün bir filtr tətbiq oluna bilər. Hal -hazırda mənə maraqlı gəlir, çünki daha çox bənzəyir, hər hansı bir toxunuşa reaksiya verir və tamamilə sabitləşmək üçün bir saniyə çəkir.

Hələ də kod üzərində işləyirəm və yeni xüsusiyyətlər əlavə edərək animasiyaları optimallaşdırıram.

Github hesabımda kodun ən son versiyalarını yoxlaya bilərsiniz.

Addım 5: Sarma

Sarma
Sarma
Sarma
Sarma
Sarma
Sarma
Sarma
Sarma

Son montaj olduqca sadədir. İki komponentli epoksi yapışqanlı LED şeritlərin silikon örtüyünü çubuqlara yapışdırın və 6 hissəni bir -birinin ardınca bağlayın.

Komponentləri bağlamaq və akselerometri və bibloyu taxtaya vidalamaq istədiyiniz bir nöqtəni düzəldin. Sancaqların dibini qorumaq üçün plastik boşluqlardan istifadə etdim. Enerji təchizatı adapteri daha çox epoksi epoksi yapışdırıcı ilə çubuqların arasına düzgün şəkildə sabitlənmişdir. Lampa dönərkən hərəkət etməsinin qarşısını almaq üçün hazırlanmışdır.

Müşahidələr və təkmilləşdirmələr

Layihənin inkişafı zamanı problemlərin həlli yolları haqqında yeni fikirlər ortaya çıxdı. Təkmilləşdirilə bilən bəzi dizayn qüsurlarını və ya hissələrini də anladım.

Etmək istədiyim növbəti addım məhsulun keyfiyyətinin və bitirmənin yaxşılaşmasıdır; əsasən quruluşdadır. Dizaynın bir hissəsi olaraq tensorları birləşdirən və komponentləri gizlədən daha yaxşı strukturlar haqqında daha yaxşı fikirlərlə gəlirəm. Bu quruluş, 3D printerlər və lazer kəsicilər kimi daha güclü vasitələrə ehtiyac duyacaq.

Hələ də quruluş boyunca naqilləri gizlətməyin yolunu gözləyirəm. Və daha səmərəli enerji istehlakı üzərində çalışın; lampa uzun müddət işlədikdə və işıqlandırmanı dəyişdirməyəndə xərcləri azaltmaq.

Məqaləni oxuduğunuz üçün və işimə olan marağınız üçün təşəkkür edirik. Ümid edirəm ki, mənim kimi bu layihədən də öyrənmisiniz.

Tövsiyə: