Mundarija:
- 1 -qadam: Sizga kerak bo'lgan (yoki xohlagan) narsalarni to'plash
- 2 -qadam: hamma narsani kesib tashlang
- 3 -qadam: yopishtirish
- 4 -qadam: LEDlar ba'zi chiziqlar yasaydi
- 5 -qadam: Lekin! Ohanglar … Ularga sim o'tkazaylik
- 6 -qadam: Biz buni qilyapmizmi?
- 7 -qadam: HAKERTIME
- 8 -qadam: Final
- 9 -qadam: Siz tugadingiz
Video: Interfaol cheksiz oyna: 9 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Bu sinf uchun topshiriq oddiy, ammo murakkab edi: Arduino bilan interaktiv narsalarni yarating. U yaxshi ishlab chiqilgan bo'lishi kerak, texnik jihatdan etarlicha murakkab va o'ziga xos bo'lishi kerak, chunki hozirgi kunlarda Instructables kabi saytlarda asl g'oyalar mavjud. Men boshidanoq LEDlarga qiziqardim. Mening loyiham LED -lar bilan jihozlangan bo'lishi kerak edi, shuning uchun men o'ylaydigan birinchi narsa, masalan, chastotaning balandligini ko'rsatish uchun musiqani manba sifatida ishlatadigan LED -vizualizatorlar edi. Men tezda tushundimki, biz bu loyihani tugatishimiz kerak bo'lgan vaqt juda qisqa va men har bir rahbar musiqaga individual javob beradigan vizualizator yaratmoqchi edim. Bu juda uzoq davom etadi, shuning uchun men boshqa narsani qilishga qaror qildim. Funktsional narsaga ega bo'lish o'rniga, menga estetik jihatdan yoqimli narsa haqidagi fikr juda yoqdi. Svetodiodli yoritgichlar bilan nimanidir asrlar davomida kuzatish mumkin edi … Cheksizlik oynasi. Cheksizlik oynasi har doim tepib turardi va ma'lum bir tugmani bosganingizda ichidagi LEDlarni biror narsa qilishga majbur qilish, albatta, bu loyiha doirasida bo'ladi. Odatdagidek qilishning o'rniga men biroz boshqacha dizayn qildim (bu, albatta, oldin qilingan), oynaning o'rtasida kvadrat bor, uning atrofida LED tasmasi bor, shuning uchun ulkan cheksiz minora ko'tarilgandek. hech narsadan.
Cheksiz oynaning ko'zoynagi va chiroyli ko'rinishidan ilhomlanib, men ham boshqalar kabi qoniqarli bo'lgan ma'lumotga ega bo'lishni xohlardim. U erda men bosim o'tkazishni talab qilmaydigan (va sensorning sezgirligini o'zgartirsangiz, hech qanday aloqa qilmasligimiz kerak) sig'imli tugmachalarni o'ylab topdim, bu esa yanada sehrli tuyg'uni yaratadi.
Yetarli gaplashaylik, qurilishga kiraylik!
ps Siz ushbu loyihani xohlagan hajmda qilishingiz mumkin, shuni yodda tutingki, siz qancha LED ishlatsangiz, shuncha ko'p quvvat kerak bo'ladi;)
1 -qadam: Sizga kerak bo'lgan (yoki xohlagan) narsalarni to'plash
Wooinity nometalllari arzon bo'lmaydi, ayniqsa siz ularni alohida LEDlar bilan ishlatmoqchi bo'lsangiz. Agar siz bundan oldin hech qachon bunday ishni qilmagan bo'lsangiz, arsenalingizga lehimlantiruvchi temir yoki shisha kesuvchi kabi bir nechta asbob qo'shishingiz kerak bo'ladi. Birinchidan, men sizga kerakli qismlarni sanab o'taman (har xil o'lchamdagi loyiha uchun siz hamma narsani nisbatingizga qarab o'lchashingiz kerak) va ikkinchi ro'yxat men buni amalga oshirish uchun ishlatgan asboblar bo'ladi..
Qismlar: 8x6 mm qalinlikdagi 60x60 sm MDF panellar 1x 3 mm qalinlikdagi 50x50 sm pleksiglas paneli 1x 3 m ws2812 5050smd LED chiziqli, har bir metrga 60 ta LED yoki taxminan 160 ta LED (uning 12V o'rniga 5V temir yo'lak borligiga ishonch hosil qiling) 1x 5 mm qalinlikdagi 50x50 sm o'lchamdagi shisha oynali oynalar (shisha) Ko'zgu eng yaxshi effekt beradi! Siz boshqa turdagi oynadan foydalanishingiz mumkin, lekin u unchalik yaxshi ko'rinmaydi!) 1x Arduino Uno (5V bilan ishlaydigan va kamida 7 ta raqamli I bo'lsa, kichikroq yoki kattaroq Arduino etarli bo'ladi. 1x 5V 7A shahar adapteri Faqat bitta paketni sotib oling, bu etarli bo'lishi kerak) 1x50x50 sm o'lchamdagi maxfiylik oynasi folyosi, eng yaxshi natijaga erishish uchun sizda aks etuvchi turga ega ekanligingizga ishonch hosil qiling. birinchi marta juda qiyin 1x CAP1188 (at24qt1070) 5 kalitli sig'imli sensor 1x ozgina mis yoki alyuminiy lenta (agar ishonchingiz komil bo'lsa 1 metr oling) 1x arzon shaffof lak
Asboblar: Lazerli kesuvchi (60x60 sm gacha bo'lgan pleksiglas va 6 mm qalinlikdagi MDF panellarini kesish imkoniyatiga ega bo'lishi kerak) Asosiy asboblar (kichik arra, yog'ochdan yasalgan buyumlar, zımpara qog'ozi har qanday mayda, burg'ulash va boshqalar) Lehimlash temir kabeli kesgichlar Issiq yopishtiruvchi tabancalar
2 -qadam: hamma narsani kesib tashlang
Yog'ochni kesish vaqti keldi! Va shisha! Yog'ochdan yasalgan har bir ramkani alohida kesish uchun men taqdim etgan fayllardan lazer kesgichda bitta qatlam sifatida kesing. Oxirgi qatlamni pleksiglas bo'lagining to'liq o'rtasidan kesish kerak bo'lgan kvadrat uchun shablon sifatida ishlatishingiz mumkin. Ko'zgu uchun, avvalambor, sirt ustida hech narsa bo'lmasligi uchun tozalash kerak, shundan so'ng ehtiyotkorlik bilan o'lchang, shunda oyna 50x50 sm kesiladi. Keyin bir tekis qattiq harakatda oynani kesish uchun shisha kesgichingizning karbid g'ildiragidan foydalaning. U to'liq buzilmaydi, lekin tirnalgan joy qolishi kerak, agar bo'lmasa, qaytadan urinib ko'ring. Keyin juda ehtiyotkorlik bilan egilib, shisha qismini sindirmoqchi bo'ling. Siz kesishni tugatdingiz!
3 -qadam: yopishtirish
Birinchidan, biz yog'och bo'laklarini bir -biriga yopishtiramiz, men 2 qatlamning pastki qismiga yopishtirishni maslahat beraman. Keyin 3 -dan 6 -qavatgacha (birinchi 2 qatlamga biriktirilmaydi). Va 7 va 8 -qatlamlarni bir -biriga yopishtiring. Men hamma narsani yopishtirishni oxirgi qadam sifatida tavsiya qilaman, chunki siz uni yopishtirgandan so'ng, qurilishning ba'zi qismlariga kira olmaysiz. O'rtadagi ichi bo'sh kvadratni ham yopishtirib, ustki qopqog'ini tashlab qo'yish mumkin. Har bir narsani xona haroratida quruq joyda kamida 2 soat quritishga qoldiring. Pleksiglas bo'lagi uchun biz aks ettiruvchi plyonkani qo'llaymiz, sizga yordam berish uchun kimgadir murojaat qilish tavsiya etiladi, chunki bu juda qiyin jarayon va siz folga doimiy yoriqlari bo'lmaguncha ko'p marta chalkashtirib yuborishingiz mumkin. $ hlT qimmat!). Plexiglasning bir tomonini shohona sovunlang va yopishtirilgan tomonini ko'rsatish uchun folga plyonkasidan himoya qatlamini olib tashlang. uni chiroyli va silliq qilib olishga harakat qiling, hosil bo'lgan barcha havo cho'ntaklarini chiqarib olish uchun kredit karta yoki tekis narsadan foydalaning. (sirt tekisroq bo'lishi uchun avval kesilgan kvadratni orqaga qaytarish tavsiya etiladi). Ortiqcha folga kesib oling va kamida bir soat quriting. (yaxshisi bir kechada)
4 -qadam: LEDlar ba'zi chiziqlar yasaydi
Yog'ochdan yasalgan 4 ta kichkina lamelga biz etakchi chiziqlarni yopishtiramiz. Ushbu chiziqlarning ko'pchiligining orqa tomonida berilgan 3 m lentani ishlatishingiz mumkin. Agar issiq yopishtiruvchi yoki boshqa biror narsa bo'lmasa, u yopishib qolguncha etarli bo'ladi. Chiziq chizig'ini o'lchamiga kesib oling va 4 tomondan yopishtiring. (o'rta kvadratni unutmang!) o'rta maydonda ham, bitta yog'och taxtada ham teshiklar bor, bu erga bir oz joy qoldiring, chunki biz ular orqali kabel o'tkazamiz. LED chiziqlarini yopishtirgandan so'ng, siz ularni lehimlashingiz mumkin. Bu bitta katta chiziq bo'lishi kerak, shuning uchun hamma narsa ketma -ket lehimlanishi kerak! Hatto o'rta kvadrat.
5 -qadam: Lekin! Ohanglar … Ularga sim o'tkazaylik
Kapasitiv tugmalar uchun men taqdim etgan sxemaga amal qiling. Tugatilgan uchlar bir tomondan Arduino -ga, boshqa tarafdagi haqiqiy tugmalaringizga o'tadi. Sirtda alyuminiy yoki mis lentani ishlatishni unutmang (tasma qanchalik katta bo'lsa, tugma shunchalik sezgir bo'ladi!). Tugmalar o'rta kvadratning yuqori qopqog'ida bo'lishi kerak.
6 -qadam: Biz buni qilyapmizmi?
Quvvatni sim bilan ulashgina qoladi, faqat adapterning dc vilkasini kesib oling va er bilan 5v sim o'rtasida 1000uF kondansatörni lehimlang. Keyin uni oldingi diagrammada ko'rsatilgandek sozlamalarga ulang. Bundan tashqari, simlarni LED chizig'idan (atigi 3 bo'lishi kerak) Arduino -ga ulashingiz mumkin.
7 -qadam: HAKERTIME
Men bergan kod benuqson ishlashi kerak (agar siz simlaringizni boshqacha ulagan bo'lsangiz, kirish tugmachasining joylashuvi bilan o'ynashni xohlashingiz mumkin) Shunday qilib, nusxa ko'chiring, joylashtiring va yuklang!
// Jael van Rossum kodi | Talaba № 3032611 // ITTT loyihasi: aqlli cheksizlik oynasi
#qo'shish #qo'shish #qo'shish #qo'shish #qo'shish #qo'shish #qo'shish #qo'shish #qo'shish #qo'shish #kiritish #qo'shish #qo'shish #qo'shish #qo'shish #qo'shish #qo'shish #qo'shish #qo'shish #qo'shish #qo'shish #kiritish #qo'shing #qo'shing
// LED_Stripni sozlash uchun xotirada bo'sh joy yaratish #NUM_LEDS 151ni belgilash #DATA_PIN 6ni belgilash
// O'zgaruvchilarni e'lon qilish va manzilli LED_Strip CRGB LEDlarini yaratish [NUM_LEDS]; int LED_Hue = 0; int LED_Saturation = 255; int LED_Brightness = 255; int LED_Brightness_Right = LED_Brightness; int LED_Brightness_Top = LED_Brightness; int LED_Brightness_Left = LED_Brightness; int LED_Brightness_Bottom = LED_Brightness; int LED_Color = CRGB (255, 0, 0); CHSV hsv_Val (LED_Hue, LED_saturation, LED_Brightness);
void setup () {Serial.begin (9600);
// PINModlarni e'lon qilish LED_pinini DATA_PINni 6 pinMode (7, INPUT) sifatida belgilash orqali yuqorida aytilganidek e'lon qilmaydi; pinMode (8, INPUT); pinMod (9, Kirish); pinMod (10, Kirish); pinMode (11, INPUT); pinMode (12, INPUT); // Adresli LED_Strip FastLED.addLeds yaratish (LEDlar, NUM_LEDS); CHSV LED_Color = CHSV (LED_Hue, LED_Saturation, LED_Brightness); to'ldirish_soli (LEDlar, NUM_LEDS, LED_Color); FastLED.show (); }
void loop () {int Button_Bottom = digitalRead (8); int Button_Middle = digitalRead (9); int Button_Left = digitalRead (10); int Button_Top = digitalRead (11); int Button_Right = digitalRead (12); if (Button_Middle == HIGH) {LED_Hue = LED_Hue +1; CHSV LED_Color = CHSV (LED_Hue, LED_Saturation, LED_Brightness); to'ldirish_solid (LEDlar, NUM_LEDS, LED_Color); FastLED.show (); } if (Button_Right == HIGH) {if (LED_Brightness_Right> 0) {LED_Brightness_Right = LED_Brightness_Right - 1; CHSV LED_Color_Right = CHSV (LED_Hue, LED_Saturation, LED_Brightness_Right); to'ldirish_solid (LEDlar, 28, LED_Color_Right); to'ldirish_solid (LED+116, 10, LED_Color_Right); FastLED.show (); } boshqa {LED_Brightness_Right = 255; }}
if (Button_Top == HIGH) {if (LED_Brightness_Top> 0) {LED_Brightness_Top = LED_Brightness_Top -1; CHSV LED_Color_Top = CHSV (LED_Hue, LED_Saturation, LED_Brightness_Top); to'ldirish_solid (LED+28, 28, LED_Color_Top); to'ldirish_solid (LED+126, 10, LED_Color_Top); FastLED.show (); } boshqa {LED_Brightness_Top = 255; }}
if (Button_Left == YUQORI) {if (LED_Brightness_Left> 0) {LED_Brightness_Left = LED_Brightness_Left-1; CHSV LED_Color_Left = CHSV (LED_Hue, LED_Saturation, LED_Brightness_Left); to'ldirish_solid (LED+56, 28, LED_Color_Left); to'ldirish_solid (LED+136, 10, LED_Color_Left); FastLED.show (); } boshqa {LED_Brightness_Left = 255; }}
if (Button_Bottom == HIGH) {if (LED_Brightness_Bottom> 0) {LED_Brightness_Bottom = LED_Brightness_Bottom-1; CHSV LED_Color_Bottom = CHSV (LED_Hue, LED_Saturation, LED_Brightness_Bottom); to'ldirish_solid (LED+84, 27, LED_Color_Bottom); to'ldirish_solid (LED+111, 5, LED_Color_Bottom); to'ldirish_solid (LED+146, 5, LED_Color_Bottom); FastLED.show (); } boshqa {LED_Brightness_Bottom = 255; }}}
8 -qadam: Final
Qolgan narsa - bu hamma narsani birlashtirish (birlashtirishdan oldin, sinovdan o'tkazishni unutmang), yopishtirilmagan yog'och bo'laklarini ham yopishtiring (o'rta maydon ichidagi Arduino ham) va umid Murphy eng yomon (yoki eng yaxshi) vaqtda paydo bo'lmadi, sizning kabelingiz devorga ulangandan so'ng, Arduino ishlashi kerak va oynada videoda ko'rsatilgandek ishlash kerak.
9 -qadam: Siz tugadingiz
Juda qoyil! Siz ko'rsatmalarni tugatdingiz! O'zingizga cookie faylini olib keling, siz birinchi kurs talabasi tomonidan yozilgan ko'rsatmalarni birinchi marta bajarganingiz uchun o'zingizni faxrlanasiz! Ko'p maroqli dam oling va o'zingiz yaratgan narsalarni joylashtirishni unutmang!
Tavsiya:
Cheksiz oyna soati yarating: 15 qadam (rasmlar bilan)
Cheksiz oyna soati yarating: Oldingi loyihada men cheksiz oynani qurgan edim, u erda mening asosiy maqsadim soatga aylantirish edi. (Rangli cheksizlik oynasini yarating) Men uni qurganimdan keyin buni ta'qib qilmadim, chunki u ajoyib ko'rinishga ega bo'lsa -da, unda bir nechta narsalar bor edi
Cheksiz oyna kubini yasang: 12 qadam (rasmlar bilan)
Cheksiz oyna kubini yarating: Men birinchi cheksiz oynani yaratishda ma'lumot qidirayotganimda, cheksiz kubiklar tasvirlari va videolariga duch keldim va, albatta, o'zimnikini yasashni xohladim. Meni ushlab turgan asosiy narsa, men buni boshqacha qilmoqchi edim
Cheksiz oyna soati: 5 qadam (rasmlar bilan)
Infinity Mirror Clock: Bu asosan bezatish uchun qo'lda ishlangan soat. Soatda bir nechta LED chiroqlar bor, u yoqilganda yotoqxona uchun ajoyib bezakdir. O'chirilganda, bu kichik oyna. Albatta, bu soatning o'zi
Olti burchakli cheksiz oyna, LED chiroqlar va simli: 5 qadam (rasmlar bilan)
LED yoritgichli va lazerli simli olti burchakli abadiy oyna: Agar siz noyob yorug'lik qismini yaratmoqchi bo'lsangiz, bu haqiqatan ham qiziqarli loyiha. Murakkabligi sababli, ba'zi qadamlar haqiqatan ham aniqlikni talab qiladi, lekin umumiy ko'rinishga qarab, siz bir nechta yo'nalishlarni tanlashingiz mumkin
2x4: 9 qadamli cheksiz oyna (rasmlar bilan)
2x4 ichida cheksiz oyna: Bu xakerlikda men 2x4 ichida cheksiz oynani qanday yasashni ko'rsataman. Dastlab, u ichimlik suvi tashuvchisi sifatida o'ylab topilgan va ichidagi mikrosxem orqali unga ichimlik yoki bir shisha suv qo'yganingizda sezadi. Siz bu binoning butun hikoyasini ko'rishingiz mumkin