Mundarija:

"Oson" cheksiz kub: 14 qadam (rasmlar bilan)
"Oson" cheksiz kub: 14 qadam (rasmlar bilan)

Video: "Oson" cheksiz kub: 14 qadam (rasmlar bilan)

Video:
Video: Ajoyib boshqotirma | 4 ta to'g'ri chiziq bilan 9 ta nuqtani kesib o'ting. 2024, Noyabr
Anonim
Image
Image
Rasm
Rasm
Rasm
Rasm

Cheksiz kublar va ikosaedrlar - bu har doim mening ko'zlarimni qamrab olgan narsalar. Nisbatan murakkab ramka tufayli ularni yasash har doim qiyin bo'lib tuyuldi. Bu cheksiz kubik, bir bo'lakda bosilgan ramkaga ega. Qurilishni boshqa loyihalarga qaraganda ancha kuchli va oson qilish. Kubning o'lchami tanlangan, shuning uchun butun kub uchun atigi 1M LED tasmasi kerak bo'ladi, bu esa narxni past darajada ushlab turadi. Bu loyiha qanday amalga oshganidan juda xursandman va sizga ham yoqadi degan umiddaman!

1 -qadam: materiallar / asboblar

Materiallar:

  • 1 metrli ws2812b 144LED/m IP30 8,69 dollar
  • mikrokontroller (Arduino) $ 2,58
  • 6 pleksiglasli kvadrat (91*91*3 mm)
  • $ 2.19 oynali film
  • sim (LED tasma bo'laklarini ulash uchun) $ 1.61
  • 3D bosilgan ramka
  • sabunlu suv (bu hatto materialmi?)
  • 5V quvvat manbai $ 4,86 (agar siz barcha LEDlarning oq bo'lishini xohlasangiz 10 A, lekin ko'p hollarda 5A yaxshi bo'lishi kerak)

Asboblar:

  • Lehimlash temir
  • ikkinchi elim
  • issiq elim (ixtiyoriy)
  • simlarni olib tashlash
  • kichik penseler (qattiq burchaklarda lehimlashga yordam berish uchun)
  • 3d printer (yoki sizga ramkani bosib chiqarishda sizga yordam berishga tayyor)

2 -qadam: ramka

Ramka
Ramka
Ramka
Ramka
Ramka
Ramka
Ramka
Ramka

Bu loyihaning eng muhim qismi. Qism uning burchaklaridan birida bosilgan, shuning uchun qatlamlar chizig'ida farq kamroq bo'ladi va "nazariy jihatdan" bu yo'nalishda chop etilganda qo'llab -quvvatlash talab qilinmaydi. Ammo, bu chop etish muvaffaqiyatsiz tugagach, men baribir qo'llab -quvvatlovchilarni qo'shishga qaror qildim. Qo'llab -quvvatlovchilar aslida modelda chizilgan, chunki kesuvchi ularni shunday model uchun samarali ishlab chiqara olmaydi ("v3 v11.stl" ning tayanchlari bor, v3 v12.stl "qo'llab -quvvatlamaydi).

Yo'nalish tufayli 114*114*114 kubni chop etish uchun 180*160*180 bo'sh joy kerak. Chop etish uchun 10 soat vaqt kerak bo'ldi va model uchun taxminan 65 g filament kerak.

3 -qadam: LED simi

LED simlari
LED simlari
LED simlari
LED simlari

Lehimlashdan oldin simlarni qanday lehimlash kerakligini tushunish kerak, chunki ular bilan ishlash uchun joy ko'p emas. Yuqoridagi rasm (kubni ifodalaydi) sizga hamma narsa qanday lehimlangani haqida tasavvur berishi kerak.

5 Simlar teshikdan kubga o'tadi. Ikki juft 5V va GND, bittasi LED chizig'ining boshini quvvatlaydi (pastki qatlamda) va uchini quvvatlantirish uchun (yuqori qatlamda). Bu faqat chiziqni ikki uchidan quvvatlantirish emas, balki bu murakkabroq lehim birikmalariga bo'lgan ehtiyojni bartaraf etish uchun kerak. Boshqa kiruvchi sim - bu Ma'lumotlar liniyasi, bu rangni ko'rsatish uchun barcha LEDlarga ma'lumotlarni yuboradigan chiziq.

Agar siz yashil chiziqqa amal qilsangiz, siz 12 ta LEDning chiziqli qismlari bir -biriga ulanish tartibini ko'rishingiz mumkin (ular rasmdagi tartibda raqamlangan). Yashil chiziq LED chizig'i yonida o'tadigan qismlarda, bu chiziq ostida ishlayotganini bildiradi (ramkada bu simlar uchun joy bor).

Eskizda siz ikkita kvadrat o'rtasida joylashgan uchta qism, markaziy kvadrat, tashqi kvadrat va o'rtadagi 4 qismdan iborat ekanligini ko'rishingiz mumkin. O'rta 4 ta bo'linma 5V tashqi kvadratdan va GND markaziy maydondan oladi.

E'tibor bering, tashqi kvadratni quvvatlantiruvchi simlar pastki qatlamga kiradi va ramkadan (LED chizig'ining bir qismi orqasida) yuqori qavatgacha o'tadi.

4 -qadam: Lehimlash 1 -qadam

Lehimlash 1 -qadam
Lehimlash 1 -qadam
Lehimlash 1 -qadam
Lehimlash 1 -qadam

Men hamma narsani yaxshiroq tushuntirish uchun ushbu bo'limni kichik bosqichlarga ajratmoqchiman. Men hamma narsani yaxshiroq tushuntirish uchun yuqoridagi rasmda LED tasmasini qismlarini raqamladim.

Men buni shunday qildim, agar sizda yaxshiroq yo'l bo'lsa, o'zingiznikidan foydalaning.

LED chiziqli bo'laklarning yo'nalishiga e'tibor qaratganingizga ishonch hosil qiling! Bir bo'lakni noto'g'ri joylashtirish sizga ko'p muammo tug'dirishi mumkin

1 -qadam: Bizga 12 ta LEDning bo'laklari kerak bo'lgani uchun, siz LED tasmasini har birining 12 ta 12 ta bo'lagidan kesib boshlashingiz kerak. Keyin, 1 -qismga 3 ta simni ulang, ularni Din tomoniga ulang. 12 -qismdagi V5 va GND ga Dout tomoniga ulanish uchun yana 2 ta sim qo'shing, bu tomondan simlar kamida 12 sm uzunroq bo'lishi kerak, chunki ular ramkadan o'tishi kerak, simlarni qismlarga lehimlash shart emas. Hali 12. Bu qismlarni teshik orqali bog'laydigan barcha 5 ta simni o'tkazing. Keyin yopishqoq lentaning qopqog'ini olib tashlang va 1 -qismni ramkaga yopishtiring, xavotir olmang, lenta unchalik yaxshi yopishmaydi, qismlar keyinchalik elim bilan biriktiriladi.

5 -qadam: Lehimlash 2 -qadam

Lehimlash 2 -qadam
Lehimlash 2 -qadam
Lehimlash 2 -qadam
Lehimlash 2 -qadam
Lehimlash 2 -qadam
Lehimlash 2 -qadam

LED chiziqli bo'laklarning yo'nalishiga e'tibor qaratganingizga ishonch hosil qiling! Bir bo'lakni noto'g'ri joylashtirish sizga ko'p muammo tug'dirishi mumkin

2-qadam: Endi 2-3 qismlar qo'shiladi, xuddi shu jarayon 4, 5 va 6, 7 uchun takrorlanishi mumkin. Birinchidan, 3-qismning Din qismiga simni lehimlash kerak, bu sim 15 sm bo'lishi kerak. uzunroq va 2 -qism Doutiga boradigan (rasmdagi ko'k chiziq). Bu sim keyinchalik kesiladi. Telni lehimlagandan so'ng, bu qismning yopishqoq lenta qopqog'ini olib tashlang va pastga qo'ying.

Keyin, Dout op 1 -qismini 2 -qismning Din bilan ulang, buning uchun sizga 1 -qismni ramkadan biroz tortish kerak bo'lishi mumkin. bu o'rtada izolyatsiya bo'lagi bo'lgan juda qisqa sim bo'lishi kerak. Lentani 2 -qismdan chiqarib oling va uni joyiga qo'ying, ko'k sim uning orqasida oqayotganiga ishonch hosil qiling.

Endi 3 -qismning Din -ga ulangan simni kesib oling va uni 2 -qismning Dout -ga payvandlang. Lehimlash uchun bo'sh joy olish uchun 2 -qismini yana ramkadan olib tashlashingiz kerak bo'ladi. Bu juda qattiq burchak va 2-qism ostidagi sim 2-qismning Dout-ga ulanish uchun 180 gradusli keskin burilish yasashi kerak bo'ladi (buni 4-rasmda ko'rish mumkin).

Endi V5 -ni 1 -qism va 3 -qismga ulang, buning uchun qisqa sim kerak bo'lishi mumkin.

Nihoyat, 1, 2 va 3 -qismlarning GND -ni bir -biriga ulash uchun simning kichik qismini oling. Agar 2 -qismning 5V yostig'i yo'lda bo'lsa, lehim yostig'ini olib tashlash uchun siz uning qismining burchagini diagonal kesib olishingiz mumkin.

Agar siz xato qilgan bo'lishingiz mumkin deb o'ylasangiz, qisqa kiyimlarni tekshiring.

Endi 4, 5 va 6, 7 -qismlarni takrorlang:)

6 -qadam: Lehimlash 3 -qadam

Lehimlash 3 -qadam
Lehimlash 3 -qadam

LED chiziqli bo'laklarning yo'nalishiga e'tibor qaratganingizga ishonch hosil qiling! Bir bo'lakni noto'g'ri joylashtirish sizga ko'p muammo tug'dirishi mumkin

3 -qadam: Hozirda 1 dan 7 gacha bo'lgan qismlar qo'yilishi kerak, hamma narsani uch marta tekshirib ko'ring, chunki siz uni osonlikcha sinovdan o'tkaza olmaysiz, chunki 2, 4 va 6 -qismlarda hali 5 V yo'q. Teshik orqali o'tadigan 5V va GND simlarini 12 -qismga ulang. 12 -qismdan yopishqoq lenta qopqog'ini chiqarib, pastga qo'ying. 8 -qism (hali joylashtirilmagan) trubkasi orqali simlar yaxshi o'tishiga ishonch hosil qiling. Simlarni bir -biriga yaqinroq joylashtirish uchun ularni teshikdan biroz tortib olishingiz mumkin. Oldingi bosqichda bo'lgani kabi, 8 -qismning Dinini 7 -qismning Dout -ga ulang. keyin 7 -qismning GND -ni 8 -qism bilan ulang.

(Yuqoridagi rasmda men hali 12 -qismni qo'shmaganman, qo'shganman, lekin uning tasviri yo'q.)

7 -qadam: Lehimlash 4 -qadam

Lehimlash 4 -qadam
Lehimlash 4 -qadam
Lehimlash 4 -qadam
Lehimlash 4 -qadam

LED chiziqli bo'laklarning yo'nalishiga e'tibor qaratganingizga ishonch hosil qiling! Bir bo'lakni noto'g'ri joylashtirish sizga ko'p muammo tug'dirishi mumkin

4 -qadam: Siz deyarli tayyorsiz, faqat 9, 10 va 11 -qismlarni qo'yish kerak. Ularni lehimlash to'g'ridan -to'g'ri bo'lishi kerak, faqat bitta bo'lakni ikkinchisining diniga lehimlang, chunki keyin kirish qiyin. Ushbu qatlamning 5V kuchlanishini 2, 4, 6 va 8 -qismli 5V ga ulashni unutmang.

Barcha LEDlarning ishlashini tekshirish uchun men quyidagi kodni ishlatganman. U barcha LEDlardan birma -bir o'tadi. Agar biror narsa ishlamasa, nima bo'lganini aniqlash uchun multimetrdan foydalanishingiz mumkin.

#include #define LED_PIN 7 #NUM_LEDS 144 CRGB lED [NUM_LEDS] ni belgilang; int hisoblagich; void setup () {FastLED.addLeds (leds, NUM_LEDS); hisoblagich = 0; } void loop () {counter = (counter+1)%144; leds [taymer] = CRGB (255, 0, 0); FastLED.show (); kechikish (20); leds [taymer] = CRGB (0, 0, 0); }

Bir vaqtning o'zida faqat bitta LED yoqilganligi sababli, bu kod Arduino orqali quvvatlanishi mumkin. Bu shuni anglatadiki, bu kodni ishlatish uchun tashqi quvvat manbai kerak emas, faqat 5V va GND tasmasini Arduino -ga ulash mumkin.

8 -qadam: LEDlarni ramkaga yopishtirish

LEDlarni ramkaga yopishtirish
LEDlarni ramkaga yopishtirish

Yuqorida aytib o'tganimizdek, chiziqdagi yopishqoq lenta PLAga yaxshi yopishmaydi. Shuning uchun men LED tasmasini bir oz ko'tarib, ostiga ikkinchi yopishtirgich qo'ydim va keyin bosdim.

Bu elim to'kilmasligi uchun ehtiyot bo'ling. Qo'llaringizni bir -biriga yopishtirishdan tashqari, ramkada dog'lar qoladi

9 -qadam: Akril kvadratlarni kesish (agar sizda kesilmagan bo'lsa)

Akril kvadratlarni kesish (agar sizda kesilmagan bo'lsa)
Akril kvadratlarni kesish (agar sizda kesilmagan bo'lsa)
Akril kvadratlarni kesish (agar sizda kesilmagan bo'lsa)
Akril kvadratlarni kesish (agar sizda kesilmagan bo'lsa)
Akril kvadratlarni kesish (agar sizda kesilmagan bo'lsa)
Akril kvadratlarni kesish (agar sizda kesilmagan bo'lsa)

Akrilni 91 mm kvadratchalar bilan kesishning o'rniga, men chizgichni va pichoqni ishlatib, akrilni sindirmoqchi bo'lgan joylarimdan chiziqlar yasadim. Akrildan pichoq bilan chiziq yasab bo'lgach, chiziqni bo'lakni sindirish uchun stolning chetiga qo'ydim. Bu juda aniq emas va biroz notekis qirralarga olib kelishi mumkin, lekin bir necha mm xato bo'lishi mumkin, shuning uchun bu unchalik muhim emas.

(Men filmni tasvirdagi ikkita kvadratga surtganman)

10 -qadam: Oynali filmni qo'llash

Ko'zgu filmini qo'llash
Ko'zgu filmini qo'llash
Ko'zgu filmini qo'llash
Ko'zgu filmini qo'llash
Ko'zgu filmini qo'llash
Ko'zgu filmini qo'llash

Mana buni qanday qilish kerakligini tushuntirib beradigan odamga havola, uni umumlashtirish:

  1. Akrilni tozalang, tolalarni yoki changni tozalang
  2. Akrilga sovunli suv surting
  3. filmdan plastmassani olib tashlang
  4. filmni akril ustiga qo'ying
  5. pufakchalar va sovunni markazdan plastik kartochka bilan chiqarib oling
  6. qirralarni kesish

Filmni qo'llashdan oldin barcha zarrachalarni olib tashlaganingizga ishonch hosil qiling, bu uning tashqi ko'rinishini sezilarli darajada farq qiladi

11 -qadam: oynalarni ramkaga joylashtirish

Ko'zgularni ramkaga joylashtirish
Ko'zgularni ramkaga joylashtirish
Ko'zgularni ramkaga joylashtirish
Ko'zgularni ramkaga joylashtirish
Ko'zgularni ramkaga joylashtirish
Ko'zgularni ramkaga joylashtirish

Ko'zgularni ramkaga qo'yishdan oldin, ko'zgu tomoni yaxshilab tozalanganligiga ishonch hosil qiling, bu tomon ichkariga joylashtiriladi va keyin tozalanmaydi.

Men ko'zgularni bir -biriga qarama -qarshi juftlarga joylashtirdim, shunda ular xuddi shunday tezlikda yurishayotganini tekshirishdi. Bunga erishish juda oson, chunki ramka moslashtirish haqida g'amxo'rlik qilishi kerak. Men oynani ramkaga ikkinchi yopishtiruvchi bilan yopishtirdim (buning uchun issiq elim yaxshiroq bo'lishi mumkin, bu PLA -ni dog 'qilmaydi). Ko'zgu tomoni ichkariga qaraydi, chunki bu eng nozik tomoni va shu tariqa yorug'lik aksidan oldin akril qatlami bo'ylab o'tishi shart emas.

12 -qadam: elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

Men kubdan chiqayotgan simlarni tozalashdan boshladim, bu mening fikrimcha, hamma narsa biroz toza ko'rinadi. Bu loyiha faqat LED tasmasi bo'lgan Arduino bo'lgani uchun hammasi juda oddiy. Quvvat manbasidan 5V kubning 5V va Arduino 5V ga ulanishi kerak. Quvvat manbasidan keladigan GND kub GND va Arduino GND ga ulanishi kerak. Kutupluluğun to'g'ri ekanligiga ishonch hosil qiling, uni yoqishdan oldin, agar kerak bo'lsa, multimetr bilan tekshiring, aks holda siz Arduino -ni qovurishingiz mumkin. Buning oldini olish uchun siz Arduino -ni quvvat ulagichi orqali quvvatlantirishingiz mumkin, lekin buning uchun sizga qo'shimcha ulagich kerak bo'ladi. Endi qolgan yagona narsa - Din Dinamik kubni Arduino -dagi pinga ulash, men 5 -pinni ishlatib tugatdim, lekin bu muhim emas. Oddiy, to'g'rimi?!

E'tibor bering: uchinchi rasm - bu Internetda topilgan sxemadir, u erda rezistor kerak emas. Siz uni qo'shishga qaror qilishingiz mumkin,

13 -qadam: kod:)

Image
Image

Men hozirgacha ishlatgan kod juda sodda edi, men faqat tezkor LED misollar kutubxonasidan bir nechta kodni oldim va bu kubda ishlash uchun bir nechta raqamni o'zgartirdim (men ishlatgan asl kodni bu erda topish mumkin). USB port yordamida kompyuteringizga Arduino -ni ulashdan oldin, quvvat manbai va Arduino o'rtasidagi 5V ulanishni uzib qo'yganingizga ishonch hosil qiling.

Men bir nechta animatsiyali kod yozishni tugatdim, ularning ba'zilarini yuqoridagi videoda ko'rish mumkin.

Bu joydan nusxa ko'chirmang, u ko'rsatma beruvchilarning kodni yopishtirish usuli tufayli ishlamaydi

#include #define LED_PIN 5 #NUM_LEDS 144 CRGB LEDlarini [NUM_LEDS] belgilang;

bo'sh o'rnatish () {

FastLED.addLeds (LEDlar, NUM_LEDS); fill_solid (LEDlar, NUM_LEDS, CRGB (0, 0, 0)); // hamma qora FastLED.show () ni to'ldiring; } void loop () {onesake (10000); fill_solid (LEDlar, NUM_LEDS, CRGB (0, 0, 0)); fadeFromCenter (10000); fill_solid (LEDlar, NUM_LEDS, CRGB (0, 0, 0)); // kamalak (5000); fill_solid (LEDlar, NUM_LEDS, CRGB (0, 0, 0)); uchqunlar (10000); fill_solid (LEDlar, NUM_LEDS, CRGB (0, 0, 0)); // loopThroughColors (5000); fill_solid (LEDlar, NUM_LEDS, CRGB (0, 0, 0)); } void onesnake (int duration) {unsigned long startTime; startTime = millis (); int manzil = 1; int nextpath = 1; int burchaklari [8] [3] = {{-7, 8, 1}, {-1, 2, 3}, {-3, 4, 5}, {-5, 6, 7}, {-8, -12, 9}, {-2, -9, 10}, {-4, -10, 11}, {-6, -11, 12}}; int ledsInSnake [48]; int rangi = 0; for (int i = 0; imillis ()) {if (location> 0) {for (int i = 0; i <12; i ++) {color = (color+5)%2550; leds [ledsInSnake [0] = CHSV (255, 255, 0); for (int j = 0; j <48; j ++) {if (j! = 0) {leds [ledsInSnake [j] = CHSV (rang/10, 255, (j*255)/48); ledsInSnake [j-1] = ledsInSnake [j]; }} ledsInSnake [47] = (manzil-1)*12+i; leds [ledsInSnake [47] = CHSV (rang/10, 255, 255); FastLED.show (); kechikish (20); }} if (joylashuv <0) {uchun (int i = 0; i <12; i ++) {color = (rang+5)%2550; leds [ledsInSnake [0] = CHSV (255, 255, 0); for (int j = 0; j <48; j ++) {if (j! = 0) {leds [ledsInSnake [j] = CHSV (rang/10, 255, (j*255)/48); ledsInSnake [j-1] = ledsInSnake [j]; }} ledsInSnake [47] = (joylashuv+1)*-12+11-i; leds [ledsInSnake [47] = CHSV (rang/10, 255, 255); FastLED.show (); kechikish (20); }} keyingi yo'l = tasodifiy (0, 2); uchun (int i = 0; i <8; i ++) {// farq 8 bo'lsa (burchaklar [0] ==-joylashuv || burchaklar [1] ==-joylashuv || burchaklar [2] ==-joylashuv) {if (burchaklar [keyingi yo'l]! =-joylashuv) {manzil = burchaklar [keyingi yo'l]; } boshqa {manzil = burchaklar [keyingi yo'l+1]; } tanaffus; }}

FastLED.show ();

kechikish (20); }} void fadeFromCenter (int duration) {unsigned long startTime; startTime = millis (); int hisoblagich = 0; while (startTime+duration> millis ()) {counter = (counter+1)%255; for (int i = 0; i <12; i ++) {for (int j = 0; jmillis ()) {counter = (counter+1)%255; uchun (int i = 0; i

bo'sh kamalak (int davomiyligi) {

imzosiz uzoq startTime; startTime = millis (); int hisoblagich = 0; while (startTime+duration> millis ()) {counter = (counter+1)%255; for (int i = 0; i <NUM_LEDS; i ++) {leds = CHSV ((i*5+hisoblagich)%255, 255, 255); } FastLED.show (); kechikish (20); }} bo'sh uchqunlar (int davomiyligi) {unsigned long startTime; startTime = millis (); int LENGTH = 40; int milt -milt [LENGTH]; int rangi = 0; for (int i = 0; imillis ()) {color = (color+5)%2550; LEDlar [miltillash [0] = CHSV (255, 255, 0); uchun (int i = 0; i <LENGTH; i ++) {if (i! = 0) {leds [miltillovchi = CHSV (rang/10, 255, (i*255)/LENGTH); miltillash [i-1] = miltillash ; }} miltillash [LENGTH-1] = tasodifiy (0, NUM_LEDS); FastLED.show (); kechikish (50); }}

14 -qadam: Ajoyib Infinity Cube -dan rohatlaning !

Ajoyib Infinity Cube -dan bahramand bo'ling !!
Ajoyib Infinity Cube -dan bahramand bo'ling !!
Ajoyib Infinity Cube -dan bahramand bo'ling !!
Ajoyib Infinity Cube -dan bahramand bo'ling !!
Ajoyib Infinity Cube -dan bahramand bo'ling !!
Ajoyib Infinity Cube -dan bahramand bo'ling !!

Umid qilamanki, sizga bu ko'rsatma yoqdi. Agar shunday bo'lsa, iltimos, tanlovda menga ovoz bering va menga fikr -mulohazalaringizni bildiring, men sizning loyihalaringiz yoki ushbu tuzilmani takomillashtirish haqidagi fikrlaringizni eshitmoqchiman. O'qiganingiz uchun tashakkur!

Buni "Glow" tanloviga aylantiring
Buni "Glow" tanloviga aylantiring
Buni "Glow" tanloviga aylantiring
Buni "Glow" tanloviga aylantiring

"Yorqin qil" tanlovining ikkinchi mukofoti

Tavsiya: