Mundarija:

Vodka sovg'a qutisini yangilang: 7 qadam (rasmlar bilan)
Vodka sovg'a qutisini yangilang: 7 qadam (rasmlar bilan)

Video: Vodka sovg'a qutisini yangilang: 7 qadam (rasmlar bilan)

Video: Vodka sovg'a qutisini yangilang: 7 qadam (rasmlar bilan)
Video: Murod Xonto'rayev Siz Ko'rmagan Janglar 2024, Iyun
Anonim
Image
Image
Vodka sovg'a qutisini yangilang
Vodka sovg'a qutisini yangilang
Vodka sovg'a qutisini yangilang
Vodka sovg'a qutisini yangilang

Bu yo'riqnomada men aroq sovg'a qutisini qanday qilib rgb LEDlarini qo'shib yangilaganimni ko'rsataman. U uchta ish rejimiga ega: statik ranglar, aylanadigan ranglar va o'yin rejimi. O'yin rejimida qurilma tasodifan bitta shishani tanlaydi va uning ostidagi chiroqni yondiradi, bu esa o'yinchiga tortishishni taklif qiladi. Videoda barcha rejimlar ko'rsatilgan.

Men ishlatgan LEDlar WS2812B LED modullariga asoslangan LED tasmasidan olingan. Ular juda yaxshi, chunki ular sizga har bir LEDning rangini alohida boshqarishga imkon beradi va siz ularni xohlaganingizcha boshqasiga ulashingiz mumkin, shuning uchun ularni boshqarish uchun sizga bitta raqamli pin kerak. Ular Adafruits NeoPixel kutubxonasi bilan ham mos keladi, shuning uchun siz osongina boshlashingiz mumkin.

Men LEDlarni boshqarish va tugmalarni bosishga javob berish uchun Attiny84 -dan foydalandim. Men birinchi navbatda hamma narsani oddiy Arduino bilan sinab ko'rdim, lekin u korpusga mos kelmaydi, shuning uchun mustaqil chipdan foydalanish bu javob edi.

Ish qismlarini korpusga mahkamlash uchun shaffof lenta ishlatardim, chunki menda issiq yopishtiruvchi qurol yo'q edi va men bu loyihani tez orada tugatmoqchi edim. Albatta, siz xohlagan biriktirma usulidan foydalanishingiz mumkin.

1 -qadam: Kassani tayyorlang

Kassani tayyorlang
Kassani tayyorlang
Kassani tayyorlang
Kassani tayyorlang
Kassani tayyorlang
Kassani tayyorlang

Paketni ochish va idishlarni olib tashlash bilan boshlang. Ish paytida ularni ichish istagi bilan kurashishga harakat qiling. Men korpusning pastki qismidagi LEDlar uchun teshiklar tayyorlash uchun teridan foydalanardim, lekin siz xohlagan asbobdan foydalanishingiz mumkin.

2 -qadam: LEDlarni o'rnating

LEDlarni o'rnating
LEDlarni o'rnating
LEDlarni o'rnating
LEDlarni o'rnating
LEDlarni o'rnating
LEDlarni o'rnating
LEDlarni o'rnating
LEDlarni o'rnating

LEDlarni o'rnatish uchun men LED tasmasini biroz o'zgartirishim kerak edi. Rasmdan ko'rinib turibdiki, LEDlarning oralig'i butilkalarga to'g'ri kelmaydi. Buni LED chizig'ini bir bo'lakka kesib, sim bo'laklari bilan birlashtirish orqali hal qilish mumkin. LEDlarni to'g'ri lehimlashda ehtiyot bo'ling, shunda oldingi LEDning chiqishi keyingi LEDning kirishiga o'tadi. Ularni bir -biriga bog'lagandan so'ng, ularni korpusga o'rnatish mumkin. Men uni lenta bo'laklari bilan mahkamladim. Men, shuningdek, kuchlanish, ma'lumot va er yostiqchalariga oson kirish uchun chiziqning uchini egdim.

3 -qadam: tugma

Tugma
Tugma
Tugma
Tugma
Tugma
Tugma

LEDlarning yorug'lik rejimlarini statik, o'zgaruvchan va o'yin o'rtasida boshqarish uchun men korpusga o'rta shisha ostiga tugma o'rnatdim. Shunday qilib, siz o'rta shishani pastga bosganingizda, u tugmani faollashtiradi va siz u bilan harakatlarni bajarishingiz mumkin. Menga omad kulib boqdi, uning ostiga to'g'ri yopishtirilgan tugma bor edi, shunda u shisha bosilganda bosildi, lekin shishaning og'irligi ostida bosilmadi.

4 -qadam: Attiny84

84
84
84
84
84
84

LEDlarni boshqarish va tugma harakatlariga javob berish uchun men attiny84 mikro tekshirgichidan foydalanardim. Men, ehtimol, attiny85 -dan ham foydalanishim mumkin edi, chunki menga LED va tugmani boshqarish uchun faqat ikkita raqamli pin kerak, lekin menda hech qanday yotish yo'q edi. Men chipni misdan yasalgan misdan yasalgan lehimga lehimladim va unga barcha simlarni va tugmachaning qarshilik rezistorini ulanish sxemasiga muvofiq biriktirdim. Men uni bortda dasturlashtirmoqchi edim, shuning uchun Internet -provayderning miltillovchi pinlarini 2X3 sarlavhasiga lehimladim. Keyin men ushbu ko'rsatmalarga muvofiq chipni Arduino bilan dasturlashtirdim.

5 -qadam: quvvat

Quvvat
Quvvat
Quvvat
Quvvat
Quvvat
Quvvat

Ichidagi barcha komponentlarni quvvatlantirish uchun men oddiy USB kabelidan foydalandim. USB 5 voltni uzatadi va mening barcha komponentlarim shu voltajda ishlaydi, shuning uchun hech qanday regulyatorga ehtiyoj yo'q edi. Men qurilmaning oxirigacha kichik teshik ochdim va u orqali USB kabelini uzatdim. Korpus ichidagi ortiqcha o'tkazgichlarni kamaytirish uchun kabelning er va kuchlanish liniyalari etakchi chiziqning mos keladigan qismlariga lehimlanishi mumkin.

6 -qadam: kod

LEDlarni boshqarish uchun men Adafruits NeoPixel kutubxonasidan foydalandim. Siz uni bu erdan olishingiz mumkin

Men qurilmaning xatti -harakatlarini statik ranglar va aylanuvchi ranglar o'rtasida o'zgartira olmoqchi edim. Men, shuningdek, tasodifan bitta shishani olib, uning ostidagi chiroqni yondiradigan o'yin rejimini qo'shishni xohlardim. Bunga erishish uchun men kodni tugmani qisqa va uzoq bosish bilan javob berishga majbur qildim. Uzoq bosish rejimni o'zgartiradi va qisqa bosish o'yin rejimida lotereyani faollashtiradi. Men kodni quyida joylashtirdim, shunda siz uni to'g'ridan -to'g'ri muharriringizga ko'chirishingiz yoki biriktirilgan faylni yuklab olishingiz mumkin.

#qo'shing

#define LEDPIN 0 // raqamli chiqish pinini boshqarish uchun tugmalar #define BUTTON 1 // tugmachani ulash uchun #PIXELCOUNT 5 ni belgilash // chiziqdagi svetodiodlar miqdori p = 0; // aylanish rejimi uchun faza int maxpow = 100; // aylanish rejimi uchun maksimal quvvat, 0 dan 225 gacha int rejimi = 0; // LEDlar qaysi rejimda. 0: statik ranglar, 1: aylanadigan ranglar, 2: o'yin rejimi bool surilgan = noto'g'ri; // int pushCount = 0 ga surishlarni kuzatib borish; // cuonter surish uzunligini hisoblash uchun qisqa va uzoq turtishlarni aniqlash uint32_t red = 0xff0000; // tasodifiy miltillash uchun qizil rang // statik rejim uchun ranglar: ko'k, sariq, qizil, yashil, binafsha rang uint32_t ranglar [5] = {0x00ff00, 0xffff00, 0xff0000, 0x00ff00, 0xff00ff}; Adafruit_NeoPixel piksellari = Adafruit_NeoPixel (PIXELCOUNT, LEDPIN, NEO_GRB + NEO_KHZ800); void setup () {pinMode (BUTTON, INPUT); piksel.begin (); } // funktsiyasi tasodifiy bitta shisha/stakanni tanlab olib, uning ostidagi chiroqni o'chirib qo'yadi void rotate () {randomSeed (millis ()); int chashka = tasodifiy (5); // tasodifiy chashka tanlash // ajoyib animatsiya, bu erda ledlar (int i = 1; i <100+chashka; i ++) {uchun (int j = 0; j)

0){

itarib yuborilgan = rost; agar (rejim <= 1) switchMode (); } pushCount = 0; // amaldagi rejim tugmachasi (rejim) asosida amallarni bajarish {holat 0: // statik rejim, har bir LED uchun statik ranglar (int i = 0; i

7 -qadam: Xulosa

Xulosa
Xulosa
Xulosa
Xulosa

LEDlarni qo'shish chindan ham uni o'ziga xos sovg'aga aylantiradi va uni bezatish elementiga aylantiradi va o'yin rejimi partiyalar uchun juda yaxshi ishlaydi. Shishalar bo'sh bo'lganda, ularni bir xil o'lchamdagi ko'zoynaklar bilan almashtirish mumkin.

Menimcha, natijalar juda yaxshi ko'rinardi va o'yin rejimi juda qiziqarli va zo'r edi. Men birdaniga hamma joylarni birdaniga o'chirib yuboradigan jekpotni tashlab qo'yishni o'yladim, lekin do'stlarim bu ari juda shafqatsiz bo'lishini aytishdi va ular, ehtimol, to'g'ri.

Bu yangilanish yoki buzilish, albatta, har qanday boshqa turdagi idishlarga ham qo'llanilishi mumkin va hokazo. Menimcha, LEDni kattaroq shishaning ostidagi tokchaga uyni yanada sovuqroq bezatish elementini o'rnatish yaxshi bo'lardi.

Tavsiya: