Мазмуну:

3x3x3 LED кубу Arduino Lib менен: 4 кадам (сүрөттөр менен)
3x3x3 LED кубу Arduino Lib менен: 4 кадам (сүрөттөр менен)

Video: 3x3x3 LED кубу Arduino Lib менен: 4 кадам (сүрөттөр менен)

Video: 3x3x3 LED кубу Arduino Lib менен: 4 кадам (сүрөттөр менен)
Video: Проект Ардуино || Визуализация выходных данных акселерометра на светодиодном кубе 3x3x3 2024, Июль
Anonim
3x3x3 LED кубу Arduino Lib менен
3x3x3 LED кубу Arduino Lib менен

LED кубиктерин куруу боюнча башка көрсөтмөлөр бар, бул бир нече себептерден улам айырмаланат: 1. Ал аз сандагы компоненттер менен курулган жана Arduino түздөн-түз илинет. 2. Айкын, кайра калыбына келтирүү оңой схемасы көптөгөн сүрөттөр менен камсыздалган. 3. Кубду программалоону жеңилдеткен жана экспрессивдүү кылган программалык камсыздоо үчүн уникалдуу ыкма колдонулат. Тетиктер керектелет: - 1 Perfboard - 3 NPN транзистору (2N2222, 2N3904, BC547 ж.б.) - 12 резистор (~ 220 ohms жана ~ 10k ohms) - 13 Headers (эркек же ургаачы) - 27 LEDs - Wire

1 -кадам: Светодиоддорду даярдаңыз

LED диоддорун даярдаңыз
LED диоддорун даярдаңыз
LED диоддорун даярдаңыз
LED диоддорун даярдаңыз

Бул кадам көбүнчө 4x4x4 LED кубуна ылайык келет, бирок анын ордуна 3x3x3 кубун курабыз. Бул өлчөмдөгү куб кошумча схеманы жана татаалдыкты киргизбестен, болжол менен чоң. Бизге тогуз светодиоддун үч топтомуна топтоло турган 27 светодиод керек болот. Тогуз светодиоддун ар бир тобу катоддорунун (терс коргошундар) ортосунда жалпы байланышты бөлүшөт. Мен бул топтомдордун ар бирине "деңгээл" деп кайрылам. Деңгээлдеги тогуз светодиоддун ар бири башка эки деңгээлдеги тиешелүү LED менен аноддору аркылуу туташат (оң жол). Булар "мамычалар" деп аталат. Эгер бул мааниси жок болсо, анда биз кубду куруп жатканда өзүбүзгө өзү түшүнүктүү болуп калат. Баштоо үчүн жыгачтын кичинекей бөлүгүнөн джер жасоо үчүн бургулоону колдонобуз. Жигит диоддорду өз ордунда кармап турат, биз аларды эритебиз. Мен тешиктерди 5/8 дюймдун тегерегинде (~ 15 мм) бөлүүнү чечтим, бирок так аралык маанилүү эмес. Тешик LEDдын тегерегине тыгыз жайгашышы керек, анткени биз аларды буроо учурунда жылышын каалабайбыз. Катод үч жол менен аныкталат: 1) Бул кыска бутту, 2) Бул тегерек LEDдин жалпак тарабында, 3) ал LEDдин ичиндеги чоң бөлүккө туташкан. Сиз LEDдин баарына катодту бир багытта бүгүшүңүздү текшериңиз. Эми биз ширетүүнү баштоого даярбыз.

2 -кадам: Светодиоддорду ширетүү

Светодиоддорду ширеткиле
Светодиоддорду ширеткиле
Светодиоддорду ширеткиле
Светодиоддорду ширеткиле
Светодиоддорду ширеткиле
Светодиоддорду ширеткиле
Светодиоддорду ширеткиле
Светодиоддорду ширеткиле

Жаңыдан курулган джиде диоддордун тогузун биринчи орунга коюңуз. Аларды буттар сааттын жебесине каршы бирдей багытта жайгаштырыңыз. Сүрөттөрдө катод сааттын жебеси боюнча анодду каратып турат, бирок мен бутумду LEDдин көрүнүшүнө тоскоолдук кылбоо үчүн кайра жасасам, анда диоддорду бурам. Капталдарды бириктирип, ар бир тараптан бирден жуп. Лайкты колдонууда бутуңузду кысуу үчүн кичинекей клиптерди колдонуңуз. Төрт тараптын ар бири ширетилгенден кийин, бурчтарды бириктирүү үчүн клиптерди жылдырыңыз жана ар бирине ширетүүнү колдонуңуз. Акырында, ортоңку LEDдин катодун бир тарапка ээрчитип, ашыкчасын кыркыңыз. Үч жолу кайталаъыз. Сизде тогуз LEDдин үч топтому болушу керек. Эки топтомду биринин үстүнө бири жайгаштырыңыз. Жарык диоддордун ортосунда белгиленген аралыкка барабар болгула. Боштукту ыңгайлуу болгондон кийин, эки бутуңузду эки жакка кысыңыз, ар бир багытта, бутуңузду ширетүү учурунда бекем кармаңыз. Жакшы туташуу үчүн сизге LEDдин айланасында ийилүү керек болушу мүмкүн. Тогуз жуптун ар бирин, бирден. Муну дагы бир жолу кылгыла, ошондо куб менен бүттү. Перфборттун бир жагына кубаны коюңуз. Ар бирин тешик аркылуу жетектеп жатып, тогуз буттун бирдей жайгашканын текшериңиз. Менин тактайымда буттардын ар биринин ортосунда беш тешик бар. Ар кандай компоненттерге туура келиши үчүн, перформаттын экинчи четинде мүмкүн болушунча көбүрөөк орун калтыргыңыз келет. Бутуңузду кармап туруу үчүн бир нече клиптерди кошуңуз, сиз позицияга ыраазы болгондон кийин. Төмөндө көп бутуңузду калтырыңыз, анткени бул кийинчерээк резисторлорду ширетүүнү жеңилдетет. Тактайны оодарып, ар бир бутун ордуңузда кармоо үчүн аларды ээрчиңиз. Бардык буттары ширетилгенден кийин кубду артка оодарыңыз. Акырында, биз ар бир деңгээлден коргошунду тактанын түбүнө чейин ээришибиз керек. Катуу зымдын бир бөлүгүн сыйрып алып, бир учунда кичинекей илгичти бүгүңүз. Илгичти борбордук светодиоддордун бир бутуна илип, аны перфорборттогу тешиктен өткөрүңүз. Зымдын ордун сактап калуу үчүн кайырмактын учун ширеткиле. Калган эки деңгээл үчүн дагы кайталаңыз. Кийинки кадам - калган схеманы куруу.

3 -кадам: Районду куруу

Circuit куруу
Circuit куруу
Circuit куруу
Circuit куруу
Circuit куруу
Circuit куруу
Circuit куруу
Circuit куруу

Район абдан жөнөкөй. Тогуз мамычанын ар бири Arduinoдогу пинге азыркы чектөөчү резистор аркылуу туташат. Үч деңгээлдин ар бири жерге NPN транзистору аркылуу туташып, Arduino пини менен иштетилет. Биз Arduinoдо бардыгы болуп 12 чыгуучу казыкты колдонобуз, бирок кубат берүү үчүн 18 LED бар. Айла - бир убакта бир гана деңгээлди күйгүзүү. Деңгээл жерге туташтырылганда, ошол деңгээлдеги ар бир светодиод тогуз башка Arduino казыгынын бири аркылуу жекече иштей алат. Эгерде биз деңгээлдерди жетишерлик тез күйгүзсөк, анда үч деңгээл тең бир убакта күйгөндөй көрүнөт. Келгиле, схеманы куралы. Биринчи кадам тогуз токту чектөөчү резисторлорду даярдоо. Мен 22mA тегерегинде тартыла турган бир пинге 220 Ом колдонуп жатам. Мааниси колдонулуп жаткан диоддорго жараша өзгөрүшү мүмкүн, бирок болжол менен 135 менен 470 ом ортосунда калат. Ар бир пин 40мАга чейин жеткире алат. Бөлмөнү үнөмдөө үчүн, биз резисторлорду тик абалда ширеткибиз келет. Эки коргошун бири -бирине параллелдүү болушу үчүн бир коргошун ылдый бүгүңүз. Муну резисторлордун тогузу үчүн жасаңыз. Резисторлор даяр болгондон кийин биз аларды бир -бирден ширетебиз. Жеңилдетүү үчүн, резистор ар бирине өзүнчө зым колдонуунун ордуна түздөн -түз башка компоненттерге алып келет. Резистордун бир учу мамыга, экинчиси башына туташат. Резисторлорго эң жакын LED диодунун биринчи катарынан баштаңыз жана артка кайтыңыз. Ар бир катар бүткөндөн кийин, кыска болууга жол бербөө үчүн, бири -бирин каптап турган коргошундарды изоляциялоо үчүн кичинекей лентаны колдонсоңуз болот. Ал бүткөндөн кийин кандай болорун билүү үчүн сүрөттөрдү жана диаграмманы караңыз. Эми мамычалар жолго чыкпай калганда, кийинки кадам - деңгээлдерди көзөмөлдөгөн компоненттерди ширетүү. NPN транзисторунун базасы 10k (же ошол жерде) чектөөчү резистор аркылуу Arduino пини менен жандырылат. Бул тийиштүү деңгээлди жерге туташтырат, ал токтун LED аркылуу өтүшүнө мүмкүндүк берет. Сүрөттөргө жана диаграммага кайрылыңыз. Жарык диоддору бүткөндөн кийин Arduinoдогу 2-10-казыктарга туташуусу керек, ал эми деңгээлдер төмөндөн жогору карай 11-13-пинге туташтырылышы керек. Эгер башка орнотуу керек болсо, казыктар программада да конфигурацияланат. Район эми аяктады, программалык камсыздоого өтүү убактысы!

4 -кадам: Программаны колдонуу

Программаны колдонуу
Программаны колдонуу
Программаны колдонуу
Программаны колдонуу

Мен LED кубун көзөмөлдөө үчүн 'тордун айланасында сүзүп жүргөн бир нече коддорду таптым. Алардын бардыгы LEDди башкаруу үчүн экилик же он алтылык маалыматтардын чоң массивдерин талап кылышкан. Мен өзүмдүн программалык камсыздоомду жазууга киришүүнүн оңой жолу болушу керек деп ойлогом. Биринчи чечимим программалык камсыздоону аппараттык түрдө чагылдыруу болду. Бул чийки порт маалыматтарын же салттуу x, y, z колдонуунун ордуна ар бир LEDды мамыча жана деңгээл боюнча чечүүнү билдирет. Экинчи чечим, бир жарыкты күйгүзүү же өчүрүү сыяктуу негизги функциялар менен баштоо жана ошол жерден куруу. Акыры мен дагы кызыктуу эффекттер үчүн пайдалуу болгон эки функцияны киргизүүнү чечтим. Бири негизги функцияларга татаалыраак үлгүлөрдү курууга мүмкүндүк берген буфер. Экинчиси - бул LED диапазонун бирден же бир убакта жарык кылган ырааттуулук функциясы. Китепкана процедуралык код жана бош функциялар катары башталды. Ал жерден кайра колдонулуучу Arduino китепканасын түзүү үчүн окуу куралын ээрчүү абдан оңой болду. Китепкананы жүктөп алып, эскизге/китепканаларга ачууну унутпаңыз. Эгерде туура орнотулган болсо, анда Arduino программасынан Файл> Мисалдар> LedCube> ledcube астындагы мисалды табышыңыз керек. Код Githubда gzip/arduino-ledcube боюнча да бар. Окуганыңыз үчүн рахмат!

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