Мазмұны:

8x8x8 жарықдиодты текшені қалай құруға және оны Arduino көмегімен басқаруға болады: 7 қадам (суреттермен)
8x8x8 жарықдиодты текшені қалай құруға және оны Arduino көмегімен басқаруға болады: 7 қадам (суреттермен)

Бейне: 8x8x8 жарықдиодты текшені қалай құруға және оны Arduino көмегімен басқаруға болады: 7 қадам (суреттермен)

Бейне: 8x8x8 жарықдиодты текшені қалай құруға және оны Arduino көмегімен басқаруға болады: 7 қадам (суреттермен)
Бейне: Урок №2.1. Светодиод на Arduino. BeyondRobotics 2024, Шілде
Anonim
8x8x8 жарықдиодты текшені қалай құруға болады және оны Arduino көмегімен басқаруға болады
8x8x8 жарықдиодты текшені қалай құруға болады және оны Arduino көмегімен басқаруға болады
8x8x8 жарықдиодты текшені қалай құруға болады және оны Arduino көмегімен басқаруға болады
8x8x8 жарықдиодты текшені қалай құруға болады және оны Arduino көмегімен басқаруға болады

2020 жылдың қаңтарындағы өңдеу:

Мен мұны біреу идеялар жасау үшін қолданғысы келетін жағдайда қалдырамын, бірақ бұл нұсқауларға сүйене отырып, текше құрудың қажеті жоқ. Жарықдиодты драйвер IC -лері енді жасалынбайды және екі эскиз де Arduino мен Processing ескі нұсқаларында жазылған және енді жұмыс істемейді. Мен олардың жұмыс істеуі үшін не өзгерту керектігін білмеймін. Сондай -ақ, менің құрылыс әдісім біркелкі бұзылуға әкелді. Менің ұсынысым - басқа нұсқаулықтағы нұсқауларды орындау немесе жинақ сатып алу. Бұл текше 2011 жылы шамамен 50 доллар тұрады, сіз ebay жиынтығын шамамен 20 долларға сатып ала аласыз.

Түпнұсқа кіріспе:

Instructables -те жарық диодты текшелер көп, сондықтан неге басқасы? Көбісі 27 немесе 64 светодиодтан тұратын шағын текшелерге арналған, олар сирек үлкен, себебі олар микроконтроллерде шығатын шығыс санымен шектелген. Бұл текше 512 жарықдиодты болады және Arduino -дан тек 11 шығыс сым қажет болады. Бұл қалай мүмкін? Allegro Microsystems A6276EA жарықдиодты драйверін қолдану арқылы.

Мен сізге текшені, контроллер тақтасын және ақырында оны жарқырататын кодты қалай жасағанымды көрсетемін.

1 -қадам: материалдар

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

Текшені құруға қажет барлық бөлшектер: Atmega168 немесе одан жоғары чипі бар 512 светодиодтары бар 1 Arduino/Freeduino, мөлшері мен түсі сізге байланысты, мен Allegro 8 NPN транзисторларынан 3 мм қызыл 4 A6276EA жарықдиодты драйвер чиптерін қолдандым., Мен BDX53B Darlington транзисторы 4 1000 ом резисторы, 1/4 ватт немесе одан жоғары 12 560 ом резисторы, 1/4 ватт немесе одан жоғары 1 330uF электролиттік конденсатор 4 24 істікшелі IC розеткасы 9 16 істікшелі IC розеткалары 4 «x4» (немесе одан үлкенірек)) барлық бөлшектерді ұстауға арналған перфорация бөлігі, ескі компьютер желдеткіші Ескі дискета контроллері кабелі Ескі компьютердің қуат көзі Көптеген сымдар, дәнекерлеуіштер, дәнекерлеу үтігі, флюс және басқалары сіздің өміріңізді жеңілдетеді. Жарықдиодты дәнекерлеу қондырғысын жасау үшін пайдаланылатын 7 «x7» (немесе үлкенірек) ағаш бөлігі Сіздің дайын Arduino/Freeduino текшеңізді көрсетуге арналған жақсы жағдай - www.moderndevice.com сайтынан жалаңаш тақтай (BBB). Жарық диодтары eBay -ден сатып алынды және Қытайдан жеткізілген 1000 светодиод үшін 23 доллар тұрады. Қалған электроника Newark Electronics -тен сатып алынды (www.newark.com) және бағасы шамамен 25 доллар болуы керек. Егер сіз бәрін сатып алуыңыз керек болса, бұл жобаның бағасы шамамен 100 доллар болуы керек. Менде ескі компьютерлік қондырғылар көп, сондықтан бұл бөлшектер үйіндіден шықты.

2 -қадам: Қабаттарды жинаңыз

Қабаттарды жинаңыз
Қабаттарды жинаңыз
Қабаттарды жинаңыз
Қабаттарды жинаңыз
Қабаттарды жинаңыз
Қабаттарды жинаңыз
Қабаттарды жинаңыз
Қабаттарды жинаңыз

Осы 512 жарықдиодты текшенің 1 қабатын (64 жарықдиодты) қалай жасауға болады: Мен сатып алған жарық диодтары диаметрі 3 мм болды. Мен кішкене светодиодтарды пайдаланып, шығынды азайтып, текшенің соңғы өлшемін үстелге немесе сөреге толық отырғызбай үстелге немесе сөреге отыруға болатындай етіп жасауды шештім. Мен сызықтар арасында шамамен.6 дюйм болатын 8х8 торды тарттым. Бұл маған текше өлшемін 4,25 дюйм көлемінде берді. Әр қабатты дәнекерлеген кезде жарық диодты ұстап тұратын қондырғы жасау үшін сызықтар түйісетін жерде 3 мм тесіктер бұрғылаңыз. A6276EA - қазіргі раковина құрылғысы. Бұл көз кернеуіне емес, жерге баратын жолды білдіреді. Текшені жалпы анод конфигурациясында құру қажет болады. Текшелердің көпшілігі жалпы катод ретінде салынған. Светодиодтың ұзын жағы әдетте анод болып табылады. Мен жасаған бірінші нәрсе - әр жарықдиодты тексеру. Иә, бұл ұзақ және жалықтыратын процесс, егер қаласаңыз, оны өткізіп жіберуге болады. Мен текшені құрастырғаннан кейін өлі жерді тапқаннан гөрі, жарық диодты тексеруге уақыт бөлгенді жөн көрдім. Мен 1000-нан 1 өлі жарықдиодты таптым. Жаман емес. 11 дана қатты, оқшауланбаған ілгекті 5 дюймге дейін кесіңіз. Қондырғыға жолдың әр ұшына 1 жарықдиодты қойыңыз, содан кейін сымды әр анодқа дәнекерлеңіз. Енді қалған 6 жарықдиодты қатарға қойыңыз және сол анодтарды сымға дәнекерлеңіз. Бұл тігінен де, көлденеңінен де болуы мүмкін, егер сіз барлық қабаттарды дәл осылай жасасаңыз, маңызды емес. Әр жолды аяқтаған кезде анодтардан артық сымдарды кесіңіз. Мен шамамен 1/8 дюйм қалдырдым. Барлық 8 жолды аяқтағанша қайталаңыз. Енді олардың барлығын бір бөлікке қосу үшін сіз жасаған 3 дана сымды дәнекерлеңіз. Содан кейін мен қабатты 5 вольтты қосу арқылы сынап көрдім. Резистор арқылы сым торын жалғап, әрбір катодтың жерге тұйықталуын ұстаңыз. Жарық бермейтін кез келген светодиодты ауыстырыңыз. Қабаттан сақтандырғышты мұқият алып тастаңыз және оны бір жаққа қойыңыз. Оларды мүмкіндігінше түзетіңіз. Иілу өте оңай. Менің суреттерімнен көріп отырғаныңыздай, менде көптеген сықылған сымдар болды. Құттықтаймын, 1/8 аяқталды. Тағы 7 қабатты жасаңыз. қабаттар бір -бірімен (3 -қадам) оңайырақ, ал әрбір келесі қабат әлі де конструкцияда болса, катодтың жоғарғы ширек дюймін 45-90 градусқа алға қарай бүгіңіз, бұл оған қосылған светодиодтың айналасына жетуге мүмкіндік береді және дәнекерлеуді едәуір жеңілдетеді. Бірінші қабатқа мұны жасамаңыз, біз оның төменгі қабаты екенін және сымдардың s болуы керектігін хабарлаймыз адалдық.

3 -қадам: текшені жинаңыз

Кубты жинаңыз
Кубты жинаңыз
Кубты жинаңыз
Кубты жинаңыз

Текше жасау үшін барлық қабаттарды қалай дәнекерлеуге болады: Қатты бөлігі аяқталуға жақын. Енді бір қабатты джигге қайта мұқият салыңыз, бірақ көп қысым жасамаңыз, біз оны майыстырмай алып тастағымыз келеді. Бұл бірінші қабат текшенің жоғарғы жағы. Біріншінің үстіне басқа қабатты салыңыз, сымдарды тізіп, дәнекерлеуді бастаңыз. Мен алдымен бұрыштарды, содан кейін сыртқы жиекті, содан кейін қатарларды жасауды оңай деп таптым. Аяқтағанша қабаттарды қосуды жалғастырыңыз. Егер сіз сымдарды алдын-ала бүктеген болсаңыз, онда қабатты түзу сыммен сақтап қойыңыз. Бұл түб. Менде әр қабаттың арасында тым көп бос орын болды, сондықтан мен текше пішініне ие болмадым. Маңызды емес, мен онымен өмір сүре аламын.

4 -қадам: Контроллер тақтасын құру

Бақылау тақтасын құру
Бақылау тақтасын құру
Бақылау тақтасын құру
Бақылау тақтасын құру
Бақылау тақтасын құру
Бақылау тақтасын құру

Контроллер тақтасын қалай құруға және оны Arduino -ға бекітуге болады: Схеманы орындаңыз және тақтаны қалағаныңызша құрастырыңыз. Мен контроллер чиптерін тақтаның ортасына қойдым және текшенің әр қабатындағы токты басқаратын транзисторларды ұстау үшін сол жағын қолдандым, ал контроллер чиптерінен катодтарға өтетін коннекторларды ұстау үшін оң жағын қолдандым. Жарық диодты бағандар. Мен компьютердің қуат көзіне қосу үшін аналық молексті қосқышы бар ескі 40 мм компьютерлік желдеткішті таптым. Бұл мінсіз болды. Микросхемадағы ауа ағынының аз мөлшері пайдалы, сондықтан мен 5 вольтты контроллер чиптеріне және Arduino -ға берудің оңай жолын білдім. Мен 1000 омды қолдандым, себебі ол жарықдиодты жарықтандыруға жеткілікті 5 миллиамперді қамтамасыз етеді. Мен Super Brite жарықдиодты емес, жоғары жарықтылықты қолданамын, сондықтан ток ағымы төмен. Егер бағандағы барлық 8 жарықдиодты бірден жанып тұрса, бұл тек 40 миллиампер. A6276EA -ның әр шығысы 90 миллиамперді қабылдай алады, сондықтан мен диапазондамын. РЛ - логикаға немесе сигнал сымдарына қосылған резистор. Нақты мән, егер ол бар болса және тым үлкен болмаса, өте маңызды емес. Мен 560 Ом қолданып жүрмін, себебі олардың көпшілігі менде болды. Мен текшенің әр қабатына өтетін токты басқару үшін 6 амперге дейін жұмыс істей алатын қуатты транзисторды қолдандым. Бұл жоба үшін шамадан тыс, өйткені текшенің әр қабаты барлық жарық диодтары жанған 320 миллиметрді ғана алады. Мен бөлменің өсуін қаладым, ал контроллер тақтасын кейінірек үлкен нәрсе үшін қолдана аламын. Қажеттілікке сәйкес келетін кез келген өлшемді транзисторды қолданыңыз. Кернеу көзіндегі 330 uF конденсаторы кернеудің шамалы ауытқуын жоюға көмектеседі. Мен ескі компьютерлік қуат көзін қолданатындықтан, бұл қажет емес, бірақ біреу текшені қуаттандыру үшін 5 вольтты қабырға адаптерін қолданғысы келген жағдайда ғана қалдырдым. Менде басқа сәйкес коннектор болмады, сондықтан мен 16 істікшелі IC розеткаларын дәнекерледім және оларды контроллер тақтасын текшеге қосу үшін қолданамын. Мен сондай -ақ IC розеткасын екіге бөліп, оны транзисторларды текше қабаттарына қосатын 8 сымды жалғау үшін қолдандым. Иілгіш кабель 20 істікшелі 2 қатар, жалаңаш сүйектер тақтасында 18 түйреуіш бар. Бұл Arduino -ны тақтаға қосудың өте арзан әдісі (ақысыз). Мен таспалы кабельді 2 сымнан бөліп алып, ұштарын шешіп, оларды дәнекерледім. Бұл Arduino коннекторының кез келген қатарына қосуға мүмкіндік береді. Схеманы орындаңыз және коннекторды орнына дәнекерлеңіз. Ардуиноны қуатпен қамтамасыз ету үшін коннектордың 5 вольтты және жерге қосқыштарын дәнекерлеуді ұмытпаңыз, мен бұл контроллер тақтасын басқа жобалар үшін қолданғым келеді, сондықтан модульдік дизайн мен үшін жақсы жұмыс істейді. Егер сіз қосылуларды қатаң түрде қосқыңыз келсе, бұл жақсы.

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 және Enable. Мен Іске қосу түйреуішін (түйреуіш 21) резистор (RL) арқылы жерге қостым, сондықтан шығыс әрқашан қосылады. Мен ешқашан Enable -ды қолданған жоқпын, сондықтан оны кодтан алып тастадым. SPI-In-бұл Arduino-дан алынған деректер, Сағат-екеуі сөйлескен кездегі уақыт белгісі, ал Latch контроллерге жаңа деректерді қабылдау уақыты келгенін айтады. Мысалға; контроллерге 1010101010101010 жіберу контроллердегі барлық басқа жарық диодты жарықтандырады. Сіздің кодыңыз дисплейге қажет барлық нәрседен өтіп, екілік санды құруы керек, содан кейін оны чипке жіберіңіз. Бұл естілгеннен гөрі оңай. Техникалық тұрғыдан бұл биттік қосудың жиынтығы, бірақ мен математикалық математикада нашармын, сондықтан мен бәрін ондық бөлшекпен жасаймын. Алғашқы 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 светодиодтар көп, сондықтан бұл қиынырақ болады. Біз 4 чип үшін дисплей ақпаратын құруымыз керек. Бұл 1 -ге салу сияқты оңай, оны тағы 3 рет жасаңыз. Мен басқару кодтарын сақтау үшін жаһандық айнымалы массивін қолданамын. Сіз жіберуге дайын барлық 4 дисплей кодын алғаннан кейін, ысырманы тастаңыз (LOW күйіне орнатыңыз) және кодтарды жіберуді бастаңыз. Сіз алдымен соңғысын жіберуіңіз керек. 4 чипінің кодтарын жіберіңіз, содан кейін 3, содан кейін 2, содан кейін 1, содан кейін ысырманы қайтадан HIGH күйіне орнатыңыз. Қосу түйреуіші әрқашан жерге қосылғандықтан, дисплей бірден өзгереді, мен Instructables-те және жалпы вебте көрген текше кодының көпшілігі алдын ала орнатылған анимацияны орындау үшін орнатылған үлкен код блогынан тұрады. Бұл кішігірім текшелер үшін жақсы жұмыс істейді, бірақ дисплейді өзгерту қажет болған сайын 512 биттік екілік файлды сақтауды, оқуды және жіберуді қажет ететіні көп жадты алады. Arduino бірнеше кадрларды өңдей алмады. Мен текшені анимацияға емес, есептеуге негізделген әрекетті көрсету үшін бірнеше қарапайым функцияларды жаздым. Мен мұның қалай жасалатынын көрсету үшін кішкене анимацияны қостым, бірақ мен сізге Arduino коды болып табылатын displays.cube8x8x8.pde құруды тапсырамын. Мен кодқа функцияларды қосуды жалғастыруды жоспарлап отырмын және бағдарламаны мезгіл -мезгіл жаңартып отырамын.matrix8x8.pde - бұл сіздің дисплейлеріңізді құруға арналған Өңдеу бағдарламасы. Берілген бірінші сан үлгіге [1], екіншісіне 2 -ге , т.б. кіреді. A6276EA деректер кестесі мына мекенжайда орналасқан:

7 -қадам: Өз қолыңызбен жасаған туындыңызды көрсетіңіз

Өз қолыңызбен жасаған туындыңызды көрсетіңіз
Өз қолыңызбен жасаған туындыңызды көрсетіңіз

Аяқтадыңыз, енді текшеңізді тамашалау уақыты келді. Көріп отырғаныңыздай, менің кубым сәл қисық болып шықты. Мен басқасын салуға ынталы емеспін, сондықтан мен қисық өмір сүремін. Менде бірнеше өлі жерлер бар, мен оларды қарауым керек. Бұл нашар байланыс болуы мүмкін, немесе маған жаңа контроллер чипі қажет болуы мүмкін. Бұл нұсқаулық сізге текшені немесе A6276AE көмегімен басқа жарықдиодты жобаны жасауға шабыт береді деп үміттенемін. Егер сіз сілтеме жасасаңыз, түсініктемелерде жазыңыз. Мен бұл жерден қайда бару керектігін шешуге тырыстым. Контроллер тақтасы 4x4x4 RGB текшесін де басқарады, сондықтан бұл мүмкін. Менің ойымша, сфераны жасау мен кодты қалай жазу керек болса, соншалықты қиын болмайды.

Ұсынылған: