Мазмуну:

Mini RGB Light Cube!: 8 кадам
Mini RGB Light Cube!: 8 кадам

Video: Mini RGB Light Cube!: 8 кадам

Video: Mini RGB Light Cube!: 8 кадам
Video: How to make a 8x8x8 LED Cube at Home 2024, Ноябрь
Anonim
Mini RGB Light Cube!
Mini RGB Light Cube!

Бул негизинен Hypnocubeдун нокауту, 64 светодиоддун ордуна минимум 150 долларды түзүп, мен 8 LEDдын кичине версиясын 30 долларга чейин жасадым. Натыйжада 2х2х2 кубу бар, анда ар бир жарык өз алдынча башкарылат. Мен ар бир жарыктан канча түстү алаарыңызды так билбейм, бирок мен 64 түстү эч кандай "дирилдөө" кылбай эле жакшы жасай алчумун.https://www.hypnocube.com

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

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

Ооба, чындыгында нерселер менен куруу керек. Бул сиз үчүн жаңы болгондуктан, мен сизге керектүү нерселердин бардыгын айтып бергем.*Аппаратура*Паяльник (Жакшы кеңеш керек)*Лайкоо*Зым кескичтер/Сыдыргычтар*Легос (Капталында тешиктери бар техникалык түрү)*AVR Программист (Төмөндө караңыз)*Үзгүлтүксүздүк сыноочу*Бөлүктөр*8 RGB LED*1 Atiny2313*Резисторлор*Зым*Катуу зым (Пластикалык бурамалар)*5в менен камсыз кылуу жолу (Wall wort, батареялар, регулятор ж.б.)*Кошумча*Protoboard/ PCB*Breadboard*White Translucent Paint*Программист*Параллель Порт (Эркек, 20 Пин)*20-Pin DIP Socket*Protoboard же 20 Pin DIP Breakout Board Ооба, сизге Legos керек. Алар бул долбоор үчүн идеалдуу жигиттер. Эгерде сиз аларды сатып ала албасаңыз, анда мен 2x4төн джиг жасашым керек болот, мен гетто программалоодо көрсөтүлгөнгө окшош AVR программистин көрсөтмөлүү кылдым, бирок мен баштыктарды төөнөгүчтөрдү таштап, зымдарды казыкка туташтырдым издер. Аны түшүнүү үчүн анын көрсөтмөсүнө баш багыңыз жана аны компьютериңиз менен иштетиңиз. Менин кээ бир сүрөттөрүмдө сиз негизги штамп тактасын көрүшүңүз мүмкүн, бирок мен аны 5в электр менен камсыздоо үчүн колдонуп жатам, жана анын нан тактасы. Мен бардык бөлүктөрүмдү сатып алдым SparkFun Electronicsте, мен абдан ыраазы болдум.

2 -кадам: Пландоо

Пландоо
Пландоо
Пландоо
Пландоо
Пландоо
Пландоо

Мен муну сиз үчүн кылгандыктан, бул кадамды жасоонун кажети жок! Бул ага кирген кээ бир алдын ала ойлор.

Менин RGB светодиоддорум тоңбогондуктан жана түстөр "өзүнчө" болгондуктан, мен аларды кадимкидей күңүрттөө үчүн колдонулган акрил боек менен боёону чечтим. Мен аны кургатканда тунук башка боёк менен жукарттым жана кичинекей жалтырагы бар болчу. Жыйынтык абдан жагымдуу болду, сиз биринчи бир нече сүрөттөр менен көрүп турасыз. Муну курууга киришүүдөн мурун, мен тегерегимдеги кадимки LED диоддорунун жардамы менен анын прототибин түздүм. Сүрөттөрдүн экинчи "тобунда" көрүнүп тургандай. Биринчиси, менин Lego Jigдеги 4 LED. Негизинен, бул алты кашектин узундугу, бийиктиги 3 кирпич жана 2 табак болушу керек, жана анын квадрат болууга укмуштай жакын. (Анын 0,07 шыйрагы өчүрүлгөн, сиз шумдуктар үчүн) Мен аноддорду (кыскаларын) бүгөм, анан аларды кийинки ийилген анодго кошуп койгом. Сиз катодго тийе албайсыз! Эгерде сиз муну ээритүүгө аракет кылып, кыйын деп ойлосоңуз, анда ал жаңыдан башталып жатат! Бул бүткөндөн кийин, LEDлердин кийинки топтому менен кайталаңыз. Андан кийин, катод казыктарынын учтарын бир аз ичине ийип, 6 -сүрөттөгүдөй. Буларды аноддун "шакегине" тийбестен, катоддордун ылдыйкы топтомуна кошуңуз. Акырында, ар бир аноддук шакекчеден түбүнө чейин жалпысынан 6 туташуу үчүн 2 даана катуу зымды жана ширетүүчү байланыштарды алыңыз. Светодиоддор азыр мультиплекстүү. Жарык диодун күйгүзүү үчүн деңгээлди жана мамычаны тандаңыз. Бул иштеди, мен реалдуу нерсеге өтүүгө даяр болчумун. Кечиресиз, менин Марко-режими аз камерам. Мен Photonotes аркылуу көрүнбөгөн деталдарды түшүндүрүүгө аракет кылам. (Алар 3,1 мегапикселдүү сүрөттөр болушу керек, андыктан аны жасоону чечсеңиз, балким аны чоңойтуп алсаңыз болот)

3 -кадам: Жакшы

Жакшы
Жакшы
Жакшы
Жакшы
Жакшы
Жакшы
Жакшы
Жакшы

Hypnocube көрсөтмөлөрүнө ылайык, мен бирдей аталышта 3 бөлүмдү түздүм: Жакшы, Жаман жана Албетте, Чиркин. Сиз булар кичинекей лакаптар деп ойлошуңуз мүмкүн, бирок олуттуу. "Чиркинди" окуу үчүн бир мүнөт кетет, бирок мен биринчи жолу 2 саат иштедим. Сиз светодиодду кантип ийүү керектигин көрүп баштасаңыз болот. Меники RCBGге барды, сиздики башкача болушу мүмкүн, андыктан текшериңиз! Андан кийин, 4 LEDдин бардыгын джигиңизге коюңуз. ушундан улам, сызыктар диагоналдуу ичине, кызыл жакыныраак, катодго багытталган. Сиз кызылды бүгүп жатканда, алар акыркы кызылдан бир аз ашпаса, жөн эле тийиши керек. Андан кийин блюзду карама -каршы жакка бүктөңүз, андан кийин жашылдар кызылдай эле. Блюз дээрлик жетиши керек, балким 1мм өчүрүлүшү мүмкүн, бирок жашылдар 1смден өтө кыска болот. Бул учурда мен катодду кызылдан бир аз алыстатып, мага бир аз ширетүү бөлмөсүн бергем, андан кийин бардык кызылдарды бириктирдим. Бул кызыл шакекчени бүтүргөндөн кийин, рингдин үзгүлтүксүздүгүн текшерүү керек. Эгерде сиз катодго жакындап калсаңыз, анда аны эритип албаганыңызга ынануу үчүн үзгүлтүксүздүк үчүн тест жасаңыз. Эгер кылган болсоңуз … аны чыгарууга аракет кылыңыз. Бул эң оңой кадам болду! YAY!

4 -кадам: Жаман

Жаман
Жаман

Ошентип, азыр сиз кызыл түстү коштуңуз, жашыл менен көккө өтүүнүн убактысы. Этияттык менен көк коргошун кийинки позицияга жакыныраак коюңуз. Балким, ал 1 мм боштукка ээ болот. Бактыга жараша, ширетүү бул жагынан жакшы. (Эскертүү! Эгерде сизде үтүк өтө ысык болсо, анда сиз боштукту толтура аласыз, кое бериңиз, жана коргошун кайра жазга айланып, ысык стрейди ыргытып жиберет!) Кызыл түстө сиз колдонгуңуз келген мүмкүн болушунча аз ширетүү. Бул жерде мен чоңураак глобусту колдондум. Өтө көп колдонбоңуз, болбосо башка зымга кошуп аласыз. (Эгер андай болсо, 5 -кадамды текшериңиз.) 4 жолу кайталаңыз, эми көк шакегиңиз бар! Ооба! Үзгүлтүксүздүктү текшериңиз;-) Жаман чындыгында жаман болгон жок, туурабы?

5 -кадам: Жаман - 2 -бөлүк

Жаман - 2 -бөлүк
Жаман - 2 -бөлүк
Жаман - 2 -бөлүк
Жаман - 2 -бөлүк

Акыр -аягы, сиз жашыл жасоого туура келет.

Бул үчүн сизге күйгөн LED же сизге жакпаган эски резистор керек болот. (Бизге зым керек) Мага коргошунга 8мм гана керек болчу, 1 запастык сары LED фокус кылды. Донордук бөлүктү жашыл коргошундун аягына чейин эриңиз, андан кийин донордук коргошундун 1/2 бөлүгүн колдонуп, кесип алыңыз. Жашыл кийинки чекитке жетүү үчүн жетишерлик узун болушу керек, муну биз өзүбүздүн пайдабыз үчүн колдоно алабыз. Калган төртөө үчүн кайталаңыз. Биз аны түз эле бүгүшүбүз мүмкүн, бирок аны ийри -буйру кылсак, алда канча жеңил болот. Кычкачтын кандайдыр бир түрүн колдонуп, зымды базанын жанына кармап, ичине 20 градуска буруңуз (160 градус бурч жасоо). Анан аягына чейин кайталаңыз. Туура кылсаңыз, бул кийинки зымга жетиши керек. Артка кайтып, эгер андай болбосо, аны өзгөртүңүз. Андан кийин дагы 4 жолу кайталаңыз. (Эгерде донордук коргошун үзүлүп кетсе, муздак ширетүү түйүнүнөн же башка нерседен улам, аны кайра туташтырууга туура келет.)

6 -кадам: Чиркин

Түрү суук
Түрү суук

Хаха! Эми, "Чиркин"! Эми анын ширетүү мезгили! Жашылды кийинки жашылга кошуңуз. Мунун өз кадамына татыктуу болушунун себеби жөнөкөй - Бул абдан кыйын. Кээ бир кеңештер:*Көк коргошунга тийбеңиз. Төмөн карай "сырттагы алкактан" ширетүү жакшыраак.*Үтүгүңүздүн өтө ысып кетишине жол бербеңиз же аны көпкө калтырыңыз. Болбосо донордук коргошундун чыгып кетишине алып келиши мүмкүн.*Көп ширетүүнү колдонбоңуз. 5 мм жетиштүү. *Эгерде коргошун ширетүү пунктунун үстүндө "калкып" турса жана аны ылдый түшүрө албасаңыз, анда өзүңүздүн ширетүүчү темириңизди колдонуунун ордуна, аны кармап туруу үчүн шайман туткасын же бир нерсе коюңуз. Бул өтө татаал. Эгерде сиз акыры көккө чейин ширете турган болсоңуз, анда мен андан кантип арылдым. (Менде ширетүүчү таякча жок, жана менин башка тазалоочу куралдарым жардам берген жок)*Аны учтары боюнча жукартып көрүңүз. Алардын ортосундагы байланышты мүмкүн болушунча жука кылыңыз*Андан кийин, сиз ал жерге зым кескичтер менен кирип, көпүрөнү кесип алсаңыз болот. ЖЕ*Лайкты запастагы зымга жылдырууга аракет кылыңыз, мисалы, дагы бир өлгөн LED. Жашыл шакекти бүтүргөнүңүздөн кийин, анын үзгүлтүксүздүгүн текшериңиз. Бирок, азырынча майрамдабаңыз! Артка кайтып, бул бөлүктү өткөрүп жиберип, 3-6-кадамдарды кайра жасаңыз. Сизге 4 светодиоддун 2 топтому керек, ар бир катмар үчүн бирден;-)

7 -кадам: Чиркин - 2 -бөлүк

Чиркин - 2 -бөлүк
Чиркин - 2 -бөлүк
Чиркин - 2 -бөлүк
Чиркин - 2 -бөлүк

Эми эки тепкичти бириктирүү убактысы келди! Мен буларды джигекке салып койгом, үстүн кармап туруп, ага ширетип койгом. Айла, 3 колу жоктор үчүн, 2 баллды ширетүү, андан кийин ал өз алдынча турушу керек, жана башка 2. Үзгүлтүксүздүктү текшерип, алдыга жыла аласыз. Кийинки бөлүгү үчүн сизге катуу зым керек болот. Эгерде сизде бул жок болсо, анда бул көрсөтмөнү аткарыңыз:

Бул бурамалуу нерселерде биз колдоно турган зымдын өзөгү бар. (Эскертүү: Кагазга тигилгендерди ширетүү мүмкүн эмес, анткени алардын үстүндө желим бар.) Мен жакшы иштеген кээ бир пластикалык капкактарды таптым. (Биринин ичинде жез да бар болчу!) Чыгаруу үчүн, мен жөн эле эки четинен кармап, тарттым, сүрөттө көрүнүп тургандай. Эми биз анын ар бир түсүнөн нанга чейин созулган узундугун кошушубуз керек. Жогорку деңгээлден баштаңыз жана LEDди тандаңыз. Оң жакта кызыл, андан кийин жашыл түстөгү ширетүү. (Ушундай тартипте!) Булар оңой эле кетишет. Лампанын өтө ысып кетпегенин текшериңиз, болбосо ал бириктиргичти сатпай калышы мүмкүн. Андан кийин, сол жакта, көк түстө. Бул чектелген аймакта кыйын. Төмөнкү катмар үчүн кайталаңыз, бирок башка LED. Testти тандаңыз. Сиз кыйын бөлүгүн бүтүрдүңүз! (Эгерде сиз светодиоддорду боёо турган болсоңуз, анда азыр аны жасоого убакыт келди;-))

8 -кадам: Ой! Программалоо

Пф! Программалоо!
Пф! Программалоо!
Пф! Программалоо!
Пф! Программалоо!
Пф! Программалоо!
Пф! Программалоо!

Бул жерде дагы бир алсыз кадам: программалоо. Мен өзүмдү нан панелинде колдонуп келе жатам, анткени менде дайыма микроконтроллерди алмаштыруу үчүн кошумча DIP розеткасы жок. Мен Амтелдин Atiny 2313 колдондум. О казыктар. Сүрөткө ылайык төөнөгүчтөрдү туташтырыңыз. ('v' төмөнкү катмарды билдирет, ' жогорку катмарын билдирет. 'D5' жана I/O аттары ушундай)Бул программалоо чындыгында абдан оңой! Мен эч кимге оңой иштей турган алкак жаздым! Мына файл

#include #define F_CPU 100000UL // Кечиктирүү үчүн демейки ылдамдыкты орнотот.h #камтыйт // Биринчи тамга үстү же асты // Экинчи тамга түс (R/G/B) // Үчүнчү кат On/Off // TRN = Top Red On #deFine TRN PORTD = _BV (PD0);#TRF PORTD & = ~ _BV (PD0);#TGN PORTD = _BV (PD2);#TGF PORTD & = ~ _BV (PD2);#аныктоо TBN PORTD = _BV (PD4);#TBF PORTD & = ~ _BV (PD4);#BRN PORTD = _BV (PD1);#BRF PORTD аныктоо & = ~ _BV (PD1);#аныктоо BGN PORTD = _BV (PD3);#BGF PORTD & = ~ _BV (PD3);#аныктоо BBN PORTD = _BV (PD5);#аныктоо BBF PORTD & = ~ _BV (PD5); // Биринчи тамга - мамыча тамгасы (A/B/C /D) // Экинчи тамга Күйгүзүлгөн/Өчүрүлгөн // AN - А Колонкасын билдирет#AN ПОРТБУН аныктайт & = ~ _BV (PB7);#BN ПОРТБИ & = ~ _BV (PB6);#CN ПОРТБун аныктоо & = ~ _BV (PB5);#DN PORTB & = ~ _BV (PB4);#AF PORTB = _BV (PB7);#BF PORTB = _BV (PB6);#CF PORTB = _BV (PB5);#DF PORTB аныктоо = _BV (PB4); // Түстү модуляциялоо үчүн бир аз убакыт күтүү үчүн "WO" колдонуңуз. 1 сек күтүү үчүн "WL" колдонуңуз#WL _delay_ms (1000); int main () {// Орнотуу I/O порттору: DDRD = _BV (PD4) ТҮЗӨТПӨҢҮЗ; DDRD = _BV (PD2); DDRD = _BV (PD3); DDRD = _BV (PD0); DDRD = _BV (PD1); DDRD = _BV (PD5); DDRB = _BV (PB7); DDRB = _BV (PB6); DDRB = _BV (PB5); DDRB = _BV (PB4); // Мамычалар үчүн демейки абал AF; BF; CF; DF; // END DEFINES while (1) {// Бул жердегилердин баары түбөлүккө айланат // Кодуңузду бул жерге салыңыз} return (0);}Мен муну сиз үчүн комментарийледим, жана аларды окуу түшүндүрүшү керек. Негизинен, сиз түсүн жана бийиктигин аныктоо үчүн аныктамалардын биринчи "топтомун" колдоно аласыз. Андан кийин тилкени тандоо үчүн экинчи "топтомду" колдоносуз. Эгерде сиз кодго төмөнкүлөрдү киргизсеңиз, "// Кодуңузду бул жерге кириңиз" дегенден кийин, ал үстүдөгү 4 светодиодду көк күйгүзөт

BGN; AN; WO; AF; BN; WO; BF; CN; WO; CF; DN; WO; DF; BGF;Биринчи сап жашыл түстү төмөнкү катмарга айландырат, ал эми башка линиялар мамычалар аркылуу өтөт. Бирок, бул код LEDди ак түскө айлантат

AN; TBO; WO; TBF; TGO; WO; TGF; TRO; WO; TRF; AF;Түстөрдү абдан тез велосипед менен айкалыштыруу, алар бири -бирине аралашат. Эгерде сиз буга чейин жарыкты аралаштыра элек болсоңуз, анда ал негизи мындай иштейт:*R+G = Yellow*R+B = Magenta (Pinky-purple)*B+G = Cyan (Ачык көк) Эгер башка түстөрдү кааласаңыз, анда сиз Ар бир түс үчүн убакыттын ар кандай катышы менен эксперимент жүргүзө аласыз. Эреже катары: бир убакта 1 LEDдин 1ден ашык түсүн күйгүзбөңүз, антпесе алар күйбөй калышы мүмкүн. Эгерде сиз 8ди бир убакта жарык кылгыңыз келсе, түстү жөнөкөй сактоого аракет кылыңыз. Балким, сиз өзүңүздүн кичинекей гипнокубаңызда кызыктуу дизайндарды жана анимацияларды түзө аласыз. Бул проект, сиз көрүп тургандай, сатууга үйрөнүү долбоору эмес жана мен буга аракет кылардан мурун көбүрөөк тажрыйбага ээ болгум келет.

Сунушталууда: