Агуулгын хүснэгт:

8x8x8 хэмжээтэй LED шоо хэрхэн бүтээж, Arduino ашиглан удирдах вэ: 7 алхам (зурагтай)
8x8x8 хэмжээтэй LED шоо хэрхэн бүтээж, Arduino ашиглан удирдах вэ: 7 алхам (зурагтай)

Видео: 8x8x8 хэмжээтэй LED шоо хэрхэн бүтээж, Arduino ашиглан удирдах вэ: 7 алхам (зурагтай)

Видео: 8x8x8 хэмжээтэй LED шоо хэрхэн бүтээж, Arduino ашиглан удирдах вэ: 7 алхам (зурагтай)
Видео: Светодиодный куб 8x8x8 своими руками 2024, Арванхоёрдугаар сар
Anonim
8x8x8 хэмжээтэй LED шоо хэрхэн бүтээж, Arduino ашиглан үүнийг хянах вэ
8x8x8 хэмжээтэй LED шоо хэрхэн бүтээж, Arduino ашиглан үүнийг хянах вэ
8x8x8 хэмжээтэй LED шоо хэрхэн бүтээж, Arduino ашиглан үүнийг хянах вэ
8x8x8 хэмжээтэй LED шоо хэрхэн бүтээж, Arduino ашиглан үүнийг хянах вэ

2020 оны 1 -р сарын засвар:

Үүнийг хэн нэгэн санаа гаргахын тулд ашиглахыг хүсч байгаа бол би үүнийг орхиж байна, гэхдээ эдгээр зааврыг үндэслэн шоо барих нь утгагүй болно. LED драйвер IC -ийг хийхээ больсон бөгөөд хоёуланг нь хоёуланг нь Arduino болон Processing -ийн хуучин хувилбаруудад бичсэн бөгөөд цаашид ажиллахаа больсон. Тэднийг ажиллуулахын тулд юу өөрчлөх ёстойг би мэдэхгүй байна. Түүнчлэн, миний бүтээсэн арга нь бүдүүлэг замбараагүй байдалд хүргэв. Миний санал бол өөр зааварчилгааны зааварчилгааг дагах эсвэл иж бүрдэл худалдаж авах явдал юм. Энэ шоо 2011 онд ойролцоогоор 50 долларын үнэтэй байсан бол одоо ebay -с 20 доллараар худалдаж авах боломжтой.

Анхны танилцуулга:

Instructables дээр маш олон LED куб байдаг, яагаад өөр нэгийг хийх ёстой юм бэ? Ихэнх нь 27 эсвэл 64 LED -ээс бүрдэх жижиг кубуудад зориулагдсан байдаг бөгөөд эдгээр нь микроконтроллер дээрх гаралтын тоогоор хязгаарлагддаг тул ховор тохиолддог. Энэхүү шоо нь 512 LED байх бөгөөд зөвхөн Arduino -аас 11 гаралтын утас хэрэгтэй болно. Энэ нь яаж боломжтой вэ? Allegro Microsystems A6276EA LED драйверийг ашигласнаар.

Би шоо хэрхэн өөрөө хийснээ, хянагчийн самбар, эцэст нь гэрэлтүүлэх кодыг үзүүлэх болно.

Алхам 1: Материал

Материал
Материал

Кубыг бүтээхэд шаардлагатай бүх хэсгүүд: Atmega168 ба түүнээс дээш чиптэй 512 LED бүхий 1 Arduino/Freeduino, хэмжээ, өнгө нь танд хамаарна, би хүчдэлийн урсгалыг хянахын тулд Allegro 8 NPN транзисторын 3 мм улаан 4 A6276EA LED драйверийн чипийг ашигласан., Би BDX53B Darlington транзистор 4 1000 ом эсэргүүцэл, 1/4 ватт ба түүнээс дээш 12 560 ом эсэргүүцэл, 1/4 ватт ба түүнээс дээш 1 330uF электролитийн конденсатор 4 24 зүү IC сокет 9 16 зүү IC сокет 4 "x4" (эсвэл түүнээс том)) бүх эд ангиудыг барих зориулалттай perfboard хэсэг, Хуучин компьютерийн сэнс Хуучин уян дискний хянагч кабель Хуучин компьютерийн тэжээлийн хангамж Маш олон тооны утас, гагнуур, гагнуурын төмөр, урсгал, үүнийг хийх явцад таны амьдралыг хөнгөвчлөх бусад зүйлс. LED гагнуур хийх зориулалттай 7 "x7" (эсвэл том хэмжээтэй) модон хэсэг Таны бэлэн болсон кубыг харуулах сайхан хайрцаг бол миний сонгох Arduino/Freeduino бол www.moderndevice.com дээрх Bare Bones Board (BBB) юм. LED -ийг eBay дээрээс худалдаж авсан бөгөөд Хятадаас нийлүүлсэн 1000 LED -ийн үнэ 23 доллар байв. Үлдсэн цахилгаан хэрэгслийг Newark Electronics (www.newark.com) -оос худалдаж авсан бөгөөд ердөө 25 долларын үнэтэй байх ёстой. Хэрэв та бүх зүйлийг худалдаж авах шаардлагатай бол энэ төсөл ердөө 100 долларын үнэтэй байх ёстой. Надад маш олон хуучин компьютерийн тоног төхөөрөмж байгаа тул эдгээр хэсгүүд нь хаягдал овоолгоос гарч ирсэн.

Алхам 2: Давхаргыг угсрах

Давхаргыг угсрах
Давхаргыг угсрах
Давхаргыг угсрах
Давхаргыг угсрах
Давхаргыг угсрах
Давхаргыг угсрах
Давхаргыг угсрах
Давхаргыг угсрах

Энэхүү 512 LED кубын 1 давхаргыг (64 LED) хэрхэн яаж хийх вэ: Миний худалдаж авсан LED нь 3 мм диаметртэй байсан. Би зардлаа бууруулахын тулд жижиг LED ашиглахаар шийдсэн бөгөөд шооны эцсийн хэмжээг ширээ, тавиурыг бүрэн авалгүйгээр ширээ эсвэл тавиур дээр суухаар жижиг болгохоор шийдсэн бөгөөд шугамын хооронд ойролцоогоор.6 инч хэмжээтэй 8х8 хэмжээтэй тор зурсан. Энэ нь надад нэг тал нь 4.25 инч орчим куб хэмжээтэй болсон. Давхарга бүрийг гагнах үед LED -ийг барих зориулалттай шугамыг холбохын тулд 3 мм -ийн цооног өрөмдөж, A6276EA нь одоогийн угаалтуурын төхөөрөмж юм. Энэ нь эх үүсвэрийн хүчдэлд хүрэх зам гэхээсээ илүү газарт хүрэх замыг хангадаг гэсэн үг юм. Та кубыг нийтлэг анодын тохиргоонд бүтээх хэрэгтэй болно. Ихэнх шоо нь ердийн катод хэлбэрээр хийгдсэн байдаг. LED -ийн урт тал нь ерөнхийдөө анод юм. Миний хийсэн хамгийн эхний зүйл бол LED бүрийг туршиж үзэх явдал юм. Тийм ээ, энэ бол урт бөгөөд уйтгартай үйл явц бөгөөд хэрэв та хүсвэл үүнийг алгасаж болно. Би кубыг угсарсны дараа үхсэн цэгийг олохын оронд LED -ийг туршихад илүү их цаг зарцуулахыг хүсч байна. Би 1000-аас 1 үхсэн LED олсон. Муу биш. 11 ширхэг хатуу, тусгаарлагчгүй дэгээг 5 инч хүртэл хайчилж ав. Дугуйныхаа төгсгөлд 1 LED байрлуулаад дараа нь анод бүрт утсыг гагнана. Одоо үлдсэн 6 LED -ийг эгнээнд байрлуулж, тэдгээр анодуудыг утас руу гагнана. Энэ нь босоо эсвэл хэвтээ байж болно, гэхдээ бүх давхаргыг ижил аргаар хийх нь хамаагүй. Мөр бүрийг дуусгахдаа анодоос илүүдэл тугалгыг хайчилж ав. Би 1/8 орчим үлдээсэн. Та бүх 8 эгнээ дуусах хүртэл давтана уу. Одоо 3 ширхэг утсыг бүхэлд нь нэг хэсэг болгон холбохын тулд гагнана. Дараа нь би 5 вольт холбож давхаргыг туршив. Резистороор дамжуулж утсан торыг холбож, катод тус бүрийн газардуулгын шугамд хүрнэ үү. Гэрэлгүй байгаа бүх LED -ийг солино. Дугуйнаас давхаргыг болгоомжтой авч хая. Хэрэв та утсыг нугалвал санаа зоволтгүй Тэднийг чадах чинээгээрээ тэгшлээрэй. Гулзайлгахад маш хялбар байдаг. Миний зургуудаас харахад надад маш олон нугалсан утаснууд байсан. Баяр хүргэе, та 1/8 ажил хийлээ. Дахиад 7 давхаргыг хий. СОНГОЛТ: Гагнуур хийх давхаргууд хамтдаа (3 -р алхам) илүү хялбар байдаг, дараагийн давхарга бүр хэвэндээ байсаар байтал катодын дээд дөрөвний нэг инчийг 45-90 градус урагш нугална. Эхний давхаргадаа үүнийг бүү хий, бид нэгийг нь доод давхарга гэж зарлах болно зан чанар.

Алхам 3: Кубыг угсарна уу

Кубыг угсарна уу
Кубыг угсарна уу
Кубыг угсарна уу
Кубыг угсарна уу

Бүх давхаргыг хэрхэн яаж гагнаж шоо хийх вэ: Хатуу хэсэг нь бараг дуусч байна. Одоо нэг давхаргыг болгоомжтой буцааж байрлуул. Энэ эхний давхарга нь кубын дээд нүүр юм. Эхний давхарга дээр өөр давхарга тавиад, утаснуудаа эгнүүлж, гагнуур хийж эхлээрэй. Эхлээд булан, дараа нь гадна талын ирмэг, дараа нь эгнээ дотор хийх нь илүү хялбар болсон. Дуусгах хүртэл давхаргыг нэмж байгаарай. Хэрэв та утаснуудаа урьдчилан нугалсан бол давхаргыг шулуун утсаар хамгийн сүүлд хадгалахаа мартуузай. Энэ бол доод хэсэг. Надад давхарга бүрийн хооронд хэтэрхий их зай байсан тул шоо хэлбэртэй болоогүй байна. Тийм ч том асуудал биш, би түүнтэй хамт амьдарч чадна.

Алхам 4: Хянагчийн самбар байгуулах

Хяналтын самбар байгуулах
Хяналтын самбар байгуулах
Хяналтын самбар байгуулах
Хяналтын самбар байгуулах
Хяналтын самбар байгуулах
Хяналтын самбар байгуулах

Хянагчийн самбарыг хэрхэн яаж бүтээж, Arduino дээрээ холбох вэ: Схемийг дагаж, хүссэнээрээ хавтанг бүтээгээрэй. Би хянагчийн чипийг самбарын голд байрлуулж, кубыг давхарга бүрт гүйдлийг хянадаг транзисторыг зүүн талд нь байрлуулж, хянагчийн чипээс катод руу дамждаг холбогчийг барихад баруун талыг ашигласан. LED багана Би компьютерийн тэжээлд залгахын тулд эмэгтэй molex холбогчтой хуучин 40 мм хэмжээтэй компьютерийн сэнс олсон. Энэ төгс байсан. Чипээр дамжин өнгөрөх бага хэмжээний агаарын урсгал нь ашигтай бөгөөд одоо 5 вольтын хянагч чип болон Arduino -ийг өөрөө хангах хялбар арга байна. Схемд RC нь A6276EA тус бүрт холбогдсон бүх LED -ийн одоогийн хязгаарлах эсэргүүцэл юм. Би 1000 ом ашигласан, учир нь энэ нь LED -ийг 5 миллиампаар хангадаг бөгөөд үүнийг асаахад хангалттай юм. Би Super Brite LED -ийг биш Өндөр тод байдлыг ашиглаж байгаа тул одоогийн ус зайлуулах хоолой бага байна. Хэрэв баганын бүх 8 LED нэгэн зэрэг асдаг бол энэ нь ердөө 40 миллиампер юм. A6276EA -ийн гаралт бүр 90 миллиамптай ажиллах чадвартай тул би логик эсвэл дохионы залгуурт холбогдсон эсэргүүцэл юм. Бодит үнэ цэнэ нь тийм ч чухал биш бөгөөд хэтэрхий том биш юм. Би 560 ом ашиглаж байна, учир нь би маш их бэлэн байсан, би кубын давхарга бүрт очиж буй гүйдлийг хянахын тулд 6 ампер хүртэл ажиллах чадвартай транзистор ашигласан. Кубын давхарга бүр бүх LED -ийг асаахад зөвхөн 320 миллиамп зурна. Өрөө томрохыг хүсч, дараа нь илүү том зүйл хийхийн тулд хянагчийн самбарыг ашиглаж болно. Транзисторыг өөрийн хэрэгцээнд нийцүүлэн ашигла. Хүчдэлийн эх үүсвэрийн 330 uF конденсатор нь хүчдэлийн бага зэргийн хэлбэлзлийг арилгахад туслах болно. Би хуучин компьютерийн цахилгаан хангамж ашиглаж байгаа тул энэ нь шаардлагагүй, гэхдээ хэн нэгэн 5 вольтын хананы адаптер ашиглан кубаа тэжээхийг хүссэн тохиолдолд би үүнийг орхисон. A6276EA хянагч чип бүр 16 гаралттай. Надад өөр тохирох холбогч байхгүй байсан тул би 16 зүү IC залгуурыг гагнасан бөгөөд эдгээрийг ашиглан хянагчийн самбарыг шоо руу холбох болно. Би мөн IC залгуурыг хоёр хувааж транзисторыг кубын давхаргад холбосон 8 утсыг холбосон бөгөөд хуучин уян дискний үзүүрээс 5 инч орчим зүсээд Arduino -ийг холбогч болгон ашигласан. Уян кабель нь 20 эгнээ бүхий 2 эгнээ, нүцгэн ясны самбар нь 18 голтой. Энэ бол Arduino -ийг самбартай холбох маш хямд арга (үнэгүй) юм. Би тууз кабелийг 2 утсаар бүлгээр нь салгаж, үзүүрийг нь хуулж, гагнав. Энэ нь Arduino -ийг холбогчийн аль ч эгнээнд залгах боломжийг танд олгоно. Схемийг дагаж холбогчийг гагнана. 5 вольт ба газардуулгыг гагнахаа бүү мартаарай. Arduino -ийг тэжээлээр хангахын тулд би энэ хянагч самбарыг бусад төслүүдэд ашиглахаар төлөвлөж байна. Хэрэв та холболтыг хатуу утсаар холбохыг хүсч байвал энэ нь зүгээр юм.

Алхам 5: Дэлгэцийн хайрцгийг бүтээх

Дэлгэцийн хайрцгийг бүтээх
Дэлгэцийн хайрцгийг бүтээх
Дэлгэцийн хайрцгийг бүтээх
Дэлгэцийн хайрцгийг бүтээх
Дэлгэцийн хайрцгийг бүтээх
Дэлгэцийн хайрцгийг бүтээх
Дэлгэцийн хайрцгийг бүтээх
Дэлгэцийн хайрцгийг бүтээх

Эцсийн бүтээгдэхүүнээ сайхан харагдуулаарай: Би энэ модон авдарыг Хобби Лоббид 4 доллараар олсон бөгөөд дотор нь бүх утсыг барих зайтай, сайхан харагдаж байна. Би компьютерын ширээн дээр таарсан улаан, ижил толбыг будсан бөгөөд тэдгээр нь хоорондоо таарч тохирсон байв. Гагнуурын зориулалттай торны хэмжээтэй ижил хэмжээтэй тор зурна (шугамын хооронд 6 инч). Дээд талаас дамжуулахын тулд цооног өрөмдөж, давхаргын/хавтгай утсыг сүлжээний ард өөр нүх өрөмдөнө (4 -р алхам дахь транзистороос). 64 -ийг эгнүүлэхийг оролдох нь жижиг нүхээр дамжихад маш хэцүү байдгийг би олж мэдсэн. Эцэст нь би процессыг хурдан болгохын тулд бүх нүхийг арай томоор дахин өрөмдөхөөр шийдсэн. Би ойролцоогоор.2 өрмийн бит ашиглаж дууслаа. Энэ шоо дэлгэцийн дээд талд байгаа тул булангийн ирмэгийг нугалж, утсыг холбохдоо шоо байрандаа байх болно. Бүх утсыг зөв дарааллаар холбосон эсэхээ шалгаарай. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Давхаргууд (схемд "онгоц" гэж тэмдэглэсэн) ба транзисторуудын хооронд утас холбоно. Arduino pin 6 дээрх транзистор нь кубын дээд давхарга юм. Хэрэв та утаснуудаа буруу ойлгосон бол энэ нь код дотор засагдах боломжтой боловч маш их ажил шаардагдах тул тэдгээрийг зөв дарааллаар нь хийхийг хичээгээрэй. Бүх зүйл бэлэн болсон бөгөөд кодоо аваад туршиж үзье.

Алхам 6: Код

Код
Код

Энэ кубын кодыг ихэнхээс өөрөөр хийдэг, би хэрхэн дасан зохицохыг тайлбарлах болно. Ихэнх куб код нь баганад шууд бичихийг ашигладаг. Кодонд X баганыг асаах шаардлагатай байна гэж хэлээд жүүс өгөөч, бид бэлэн боллоо. Хяналтын чипийг ашиглахад энэ нь ажиллахгүй бөгөөд хянагчийн чип нь Arduino-той ярихын тулд 4 утсыг ашигладаг: SPI-in, Clock, Latch, and Enable. Би идэвхжүүлэх зүү (21 -р зүү) -ийг резистороор (RL) холбосон тул гаралт үргэлж идэвхждэг. Би Идэвхжүүлэлтийг хэзээ ч ашиглаж байгаагүй тул кодоос хассан. SPI-in бол Arduino-ийн өгөгдөл бөгөөд Clock нь хоёуланг нь ярилцах цаг хугацааны дохио бөгөөд Latch нь хянагчийг шинэ өгөгдлийг хүлээн авах цаг болсныг хэлдэг. Чип бүрийн гаралт бүрийг 16 битийн хоёртын тоогоор хянадаг. Жишээлбэл; 1010101010101010 -ийг хянагч руу илгээвэл хянагч дээрх бусад бүх LED гэрэл асах болно. Таны код дэлгэцэнд шаардлагатай бүх зүйлийг ажиллуулж, хоёртын дугаарыг бүтээж, дараа нь чип рүү илгээх шаардлагатай болно. Энэ нь сонсогдож байгаагаас хамаагүй хялбар юм. Техникийн хувьд энэ нь битийн нэмэлт юм, гэхдээ би математикийн хувьд муу, тиймээс би бүгдийг аравтын бутархайгаар хийдэг. Эхний 16 битийн аравтын бутархай нь дараах байдалтай байна: 1 << 0 == 1 1 << 1 == 2 1 << 2 == 4 1 << 3 == 8 1 << 4 == 16 1 << 5 == 32 1 << 6 == 64 1 << 7 == 128 1 << 8 == 256 1 << 9 == 512 1 << 10 == 1024 1 << 11 == 2048 1 << 12 == 4096 1 << 13 == 8192 1 << 14 == 16384 1 << 15 == 32768 Энэ нь хэрэв та хүсвэл 2 ба 10 гаралтыг асаахад та аравтын бутархайг (2 ба 512) нэмж 514 авна. 514 -ийг хянагч руу илгээж, 2 ба 10 -р гаралт асах болно, гэхдээ бидэнд 16 -аас дээш LED байгаа тул арай илүү хэцүү болно. Бид 4 чипийн дэлгэцийн мэдээллийг бүтээх хэрэгтэй. Үүнийг 1 хүн бүтээхтэй адил хялбар, үүнийг 3 удаа хий. Би хяналтын кодыг хадгалахын тулд дэлхийн хувьсагчийн массивыг ашигладаг. Илгээхэд бэлэн болсон 4 дэлгэцийн кодтой болсны дараа түгжээг унагаж (LOW болгож тохируул) кодыг илгээж эхлээрэй. Та хамгийн сүүлд хамгийн түрүүнд илгээх хэрэгтэй. Чип 4, дараа нь 3, дараа нь 2, дараа нь 1 -ийн кодыг илгээж, түгжээг дахин HIGH болгож тохируулна уу. Идэвхжүүлэх зүү нь үргэлж газартай холбогддог тул дэлгэцийг шууд өөрчилдөг. Миний зааварчилгаа дээрээс үзсэн ихэнх куб кодууд, ерөнхийдөө вэб нь урьдчилан тохируулсан анимацийг гүйцэтгэх кодын асар том блокоос бүрддэг. Энэ нь жижиг шоо хийхэд тохиромжтой боловч дэлгэцийг өөрчлөх болгонд 512 битийн хоёртын файлыг хадгалах, унших, илгээх шаардлагатай байдаг нь маш их санах ой шаарддаг. Arduino хэд хэдэн хүрээнээс илүү ажиллах боломжгүй байв. Тиймээс би кубыг урьдчилан тохируулсан анимац гэхээсээ илүү тооцоололд тулгуурласан үйлдлийг харуулахын тулд хэдэн энгийн функц бичсэн. Үүнийг хэрхэн яаж хийхийг харуулахын тулд би жижиг хөдөлгөөнт дүрс оруулсан боловч би өөрөө дэлгэцээ бүтээхийг танд үлдээе. Cube8x8x8.pde бол Arduino код юм. Би кодонд үргэлжлүүлэн функц нэмж оруулахаар төлөвлөж байгаа бөгөөд програмыг үе үе шинэчилж байх болно. Matrix8x8.pde бол өөрийн дэлгэцийг бүтээх програм юм. A6276EA -ийн өгөгдлийн хүснэгтийг https://www.allegromicro.com/en/Products/Part_Numbers/6276/6276.pdf дээрээс авах боломжтой.

Алхам 7: Өөрийнхөө гараар хийсэн бүтээлээ үзүүлээрэй

Өөрийнхөө гараар хийсэн бүтээлээ үзүүлээрэй
Өөрийнхөө гараар хийсэн бүтээлээ үзүүлээрэй

Та дууслаа, одоо кубоо эдлэх цаг боллоо. Таны харж байгаагаар миний куб жаахан муруй гарч ирэв. Би дахиад нэг барилга барих сонирхолгүй байгаа тул муруйтай амьдрах болно. Надад анхаарах ёстой хэд хэдэн үхсэн газар бий. Энэ нь муу холболт байж магадгүй, эсвэл надад шинэ хянагч чип хэрэгтэй байж магадгүй. Энэхүү зааварчилгаа нь танд өөрийн шоо эсвэл A6276AE ашиглан бусад LED төслийг бүтээхэд урам зориг өгнө гэж найдаж байна. Та линкээ коммент хэсэгт бичээрэй. Би хаанаас хаашаа явахаа шийдэх гэж оролдсон. Хяналтын самбар нь 4x4x4 RGB хэмжээтэй кубыг хянах тул энэ нь боломжтой юм. Би бөмбөрцөг хийх, кодоо хэрхэн яаж бичих нь зөв байх болно гэж бодож байна, үүнийг хийхэд тийм ч хэцүү биш байх болно.

Зөвлөмж болгож буй: