Mündəricat:

Vodka Hədiyyə qutunuzu təkmilləşdirin: 7 addım (şəkillərlə birlikdə)
Vodka Hədiyyə qutunuzu təkmilləşdirin: 7 addım (şəkillərlə birlikdə)

Video: Vodka Hədiyyə qutunuzu təkmilləşdirin: 7 addım (şəkillərlə birlikdə)

Video: Vodka Hədiyyə qutunuzu təkmilləşdirin: 7 addım (şəkillərlə birlikdə)
Video: What Alcohol Does to Your Body 2024, Iyun
Anonim
Image
Image
Vodka Hədiyyə Qutunuzu təkmilləşdirin
Vodka Hədiyyə Qutunuzu təkmilləşdirin
Vodka Hədiyyə Qutunuzu təkmilləşdirin
Vodka Hədiyyə Qutunuzu təkmilləşdirin

Bu təlimatda, bir az rgb LED əlavə edərək bir araq hədiyyə qutusunu necə təkmilləşdirdiyimi göstərəcəyəm. Üç iş rejimi var: statik rənglər, fırlanan rənglər və oyun rejimi. Oyun rejimində cihaz təsadüfi olaraq bir şüşə götürür və altındakı işığı yandıraraq oyunçunun çəkiliş etməsini təklif edir. Videoda bütün rejimlər təqdim olunur.

İstifadə etdiyim LEDlər WS2812B LED modullarına əsaslanan bir LED zolaqdan götürülmüşdür. Hər bir LED -in rəngini ayrı -ayrılıqda idarə etməyinizə imkan verdiyi üçün əladır və istədiyiniz qədər bir -birinin ardınca bağlaya bilərsiniz, buna görə də onları idarə etmək üçün yalnız bir rəqəmsal pin lazımdır. Adafruits NeoPixel kitabxanası ilə də uyğundur, buna görə asanlıqla başlaya bilərsiniz.

LEDləri idarə etmək və düyməni basmağa cavab vermək üçün bir Attiny84 istifadə etdim. Əvvəlcə hər şeyi adi bir Arduino ilə sınadım, ancaq korpusun içinə sığmır, buna görə də müstəqil çipdən istifadə etmək cavab idi.

Parçaları kasaya bağlamaq üçün şəffaf lent istifadə etdim, çünki isti yapışqan silahım yox idi və bu layihəni tezliklə bitirmək istəyirdim. Əlbəttə ki, bəyəndiyiniz hər hansı bir bağlama üsulundan istifadə edə bilərsiniz.

Addım 1: Davanı hazırlayın

Davanı hazırlayın
Davanı hazırlayın
Davanı hazırlayın
Davanı hazırlayın
Davanı hazırlayın
Davanı hazırlayın

Paketin açılması və şüşələrin çıxarılması ilə başlayın. Çalışarkən onları içmək istəyinizlə mübarizə aparmağa çalışın. Çantanın altındakı LED -lər üçün deşiklər etmək üçün bir dəri ustasından istifadə etdim, ancaq istədiyiniz vasitədən istifadə edə bilərsiniz.

Addım 2: LEDləri quraşdırın

LEDləri quraşdırın
LEDləri quraşdırın
LEDləri quraşdırın
LEDləri quraşdırın
LEDləri quraşdırın
LEDləri quraşdırın
LEDləri quraşdırın
LEDləri quraşdırın

LEDləri bağlamaq üçün LED şeridini bir qədər dəyişdirməli oldum. Şəkildən də göründüyü kimi, LED -lərin aralığı şüşə ilə eyni deyil. LED şeridini tək parçalara ayıraraq tel telləri ilə birlikdə lehimləməklə həll edilə bilər. LEDləri düzgün şəkildə lehimləmək üçün diqqətli olun ki, əvvəlki LED -in çıxışı növbəti LED -in girişinə keçsin. Bant parçaları ilə bağladım. Gərginliyə, məlumatlara və yer yastiqciklərinə asanlıqla daxil olmaq üçün zolağın ucunu da əydim.

Addım 3: Düymə

Düymə
Düymə
Düymə
Düymə
Düymə
Düymə

LED -lərin işıqlandırma rejimlərini statik, dəyişən və oyun arasında idarə etmək üçün korpusun ortasındakı şüşənin altına bir düymə quraşdırdım. Bu şəkildə orta şüşəni aşağıya basdığınız zaman düyməni aktivləşdirir və onunla hərəkətlər edə bilərsiniz. Şüşə aşağı basıldıqda basıldı, ancaq şüşənin ağırlığı altında basıldığı üçün alt hissəsində sağa yapışdırılmış bir düyməyə sahib olduğum üçün şanslı oldum.

Addım 4: Attiny84

84
84
84
84
84
84

LEDləri idarə etmək və düymə hərəkətlərinə cavab vermək üçün attiny84 mikro nəzarətçisindən istifadə etdim. LEDləri və düyməni idarə etmək üçün yalnız iki rəqəmsal sancağa ehtiyacım olduğu üçün yəqin ki, attiny85 də istifadə edə bilərdim, amma ətrafımda heç bir şey yox idi. Çipi nöqtəli misdən hazırlanmış bir protoboardda lehimlədim və bütün telləri və düymə açılan müqavimətini bağlama sxeminə uyğun olaraq bağladım. Gəmidə proqramlaşdırıla bilmək istədim, buna görə ISP -nin yanıb sönən pinlərini 2X3 başlığına lehimlədim. Sonra bu təlimatlara uyğun olaraq çipi Arduino ilə proqramlaşdırdım.

Addım 5: Güc

Güc
Güc
Güc
Güc
Güc
Güc

İçindəki bütün komponentləri gücləndirmək üçün adi bir USB kabeli istifadə etdim. USB 5 volt ötürdüyü və bütün komponentlərim bu gərginlikdə işlədiyi üçün heç bir tənzimləyiciyə ehtiyac yox idi. Cihazın ucunda kiçik bir çuxur açdım və USB kabelini oradan keçdim. Kassanın içərisindəki artıq naqilləri azaltmaq üçün kabelin topraklama və gərginlik xətləri led şeridin müvafiq xətlərinə lehimlənə bilər.

Addım 6: Kod

LEDləri idarə etmək üçün Adafruits NeoPixel kitabxanasından istifadə etdim. Buradan əldə edə bilərsiniz

Statik rənglər və fırlanan rənglər arasında cihazın davranışını dəyişdirmək istədim. Təsadüfi olaraq bir şüşə götürdüyü və altındakı ledi yandırdığı bir oyun rejimi əlavə etmək istədim. Buna nail olmaq üçün kodu həm qısa, həm də uzun basmağa reaksiya verdim. Uzun basışlar rejimi dəyişdirir və qısa basışlar oyun rejimində lotereyanı aktivləşdirir. Kodu birbaşa redaktorunuza kopyalaya biləcəyiniz və ya əlavə edilmiş faylı yükləyə biləcəyiniz üçün aşağıya yapışdırdım.

#daxil edin

#define LEDPIN 0 // ledlərinizi idarə etmək üçün rəqəmsal çıxış pin #define BUTTON 1 // düyməni bağlamaq üçün pin #PIXELCOUNT 5 təyin edin // şeridinizdəki ledlərin miqdarı p = 0; // fırlanma rejimi üçün faz int maxpow = 100; // fırlanan rejim üçün maksimum güc, 0 ilə 225 int rejimi arasında = 0; // ledlər hansı rejimdədir. 0: statik rənglər, 1: fırlanan rənglər, 2: oyun rejimi bool basdı = yalan; // int pushCount = 0 üçün itələmələrin izlənməsi; // qısa və uzun itələmələri müəyyən etmək üçün itələmə müddətini saymaq üçün cuonter uint32_t red = 0xff0000; // təsadüfən yanıb -sönən qırmızı rəng // statik rejim üçün rənglər: mavi, sarı, qırmızı, yaşıl, bənövşəyi uint32_t rəngləri [5] = {0x00ff00, 0xffff00, 0xff0000, 0x00ff00, 0xff00ff}; Adafruit_NeoPixel pikselləri = Adafruit_NeoPixel (PIXELCOUNT, LEDPIN, NEO_GRB + NEO_KHZ800); void setup () {pinMode (BUTTON, INPUT); piksel.begin (); } // təsadüfi olaraq bir şüşə/fincan seçmək və altındakı boşluğu döndərmək funksiyası () {randomSeed (millis ()); int fincan = təsadüfi (5); // təsadüfi kubokun seçilməsi // (int i = 1; i <100+fincan; i ++) {üçün (int j = 0; j

0){

itələdi = doğru; əgər (rejim <= 1) switchMode (); } pushCount = 0; // cari rejim keçidinə (hərəkətə) əsaslanan hərəkətlər etmək {hal 0: // statik rejim, hər bir led üçün statik rənglər (int i = 0; i

Addım 7: Nəticə

Nəticə
Nəticə
Nəticə
Nəticə

LED -lərin əlavə edilməsi onu həqiqətən bənzərsiz bir hədiyyə halına gətirir və onu həqiqətən bəzək elementi edir və oyun rejimi partiyalar üçün əla işləyir. Şüşələr boş olduqda, eyni ölçüdə şüşələr ilə əvəz edilə bilər.

Öz fikrimcə nəticələr olduqca yaxşı görünürdü və oyun rejimi olduqca əyləncəli və çıxılmaz idi. Hər dəfə bir anda bütün ləkələri yandıracaq bir cekpot buraxmağı düşündüm, amma dostlarım bunun çox qəddar olduğunu söylədi və yəqin ki, haqlıdırlar.

Bu təkmilləşdirmə və ya hack əlbəttə ki, hər hansı digər şüşə qabına tətbiq oluna bilər və s. LED -ləri daha böyük şüşələrin altındakı bir rəfə daha soyuq bir ev bəzək elementi etmək yaxşı olardı.

Tövsiyə: