Мазмұны:

Bluetooth қосымшасы + анимациясы бар RGB LED текшесі: 14 қадам (суреттермен)
Bluetooth қосымшасы + анимациясы бар RGB LED текшесі: 14 қадам (суреттермен)

Бейне: Bluetooth қосымшасы + анимациясы бар RGB LED текшесі: 14 қадам (суреттермен)

Бейне: Bluetooth қосымшасы + анимациясы бар RGB LED текшесі: 14 қадам (суреттермен)
Бейне: 12V Bluetooth Relay to control AC or DC load using mobile Phone 2024, Қараша
Anonim
Bluetooth қосымшасы + анимация жасаушысы бар RGB LED текшесі
Bluetooth қосымшасы + анимация жасаушысы бар RGB LED текшесі

Бұл Arduino Nano көмегімен Bluetooth қосымшасы арқылы басқарылатын 6x6x6 RGB жарықдиодты (ортақ анодтар) текшесін құруға арналған нұсқаулық. Бүкіл құрылым 4x4x4 немесе 8x8x8 текшеге оңай бейімделеді. Бұл жоба GreatScott шабытынан алынған. Мен үлкенірек жарықдиодты (8мм) қолдана отырып, неғұрлым күрделі құрылысқа баруды шештім, қашықтығы аз + Bluetooth байланысы қосылды, бұл жаңа функцияларды қосуды жеңілдетеді, сонымен қатар текшені басқаруға арналған бағдарлама құру мүмкіндігін қосады. Бұл маған, мысалы, мүмкіндік береді жылан ойынын кодтау (соңында 3 -ші витриналық бейне). Оның үстіне мен текшеге AUX кірісін бейнелеуге мүмкіндік беретін Audio Visualizer режимін қостым. MSGEQ7 көмегімен музыка (соңында бейнені көрсетіңіз). Сонымен қатар, мен Java -де AnimationCreator қосымшасын жаздым, ол кез келген адам реттелетін анимацияларды тез құруы үшін анимацияларды құруға және реттеуге UI -ді қолдануға оңай. Сонымен, Sketch + Bluetooth қолданбасы LED текшесінің кез келген конфигурациясына негіз береді және анимация жасаушының көмегімен арнайы анимацияны енгізу туралы алаңдамайсыз.

Arduino Sketch пен Bluetooth қосымшасына сілтемелер:

RGBCube_Arduino Sketch (Github)+Анимация жасаушы.jar

Cubo Bluetooth қолданбасы (Github)

Cube бөліктерінің тізімі:

  • 216x RGB жарық диоды (жалпы анод) (8мм) (AliExpress / Ebay)-> 6x6x6 = 216
  • Таспалы кабель (1m 40Pin жеткілікті болуы керек) (AliExpress / Ebay / Amazon)
  • Әйелдер мен ерлер тақырыптары (әрқайсысы кемінде 4x40pin) (AliExpress / Ebay / Amazon)
  • Консервіленген мыс / күміс сым 0,8 мм (~ 25 метр) (AliExpress / Ebay / Amazon)
  • Шағын құбыр (AliExpress / Ebay / Amazon)

Басқару тақталарына арналған бөліктер тізімі:

  • 7 x TLC5940 жарықдиодты драйвер (Ebay / AliExpress)
  • 6 x IRF 9540 P-Channel MOSFETs (Amazon / Ebay / AliExpress)
  • 8 x 10 uF конденсаторлары (Amazon / Ebay / AliExpress)
  • 3 x 1000 uF конденсаторлары (Amazon / Ebay / AliExpress)
  • 14x 2.2kOhm резисторлары (Amazon / Ebay / AliExpress)
  • 1 x 1kOhm резисторы (Amazon / Ebay / AliExpress)
  • 7 x 28 істікшелі IC розеткалары (Amazon / Ebay / AliExpress)
  • 1 x Arduino Nano (Amazon / Ebay / AliExpress)
  • 1 x 1N4001 диод (кез келген қарапайым диод) (Amazon / Ebay / AliExpress)
  • 8 x 0.1uF конденсаторлары (ebay)
  • 1 x DC ұясы ПХД орнатылымы (Amazon / Ebay / AliExpress)
  • 1 x HC-05 Bluetooth модулі (Amazon / Ebay / AliExpress)

1 -қадам: Теория

Теория
Теория

Егер сізге мультиплекстеу туралы теория қызықтырмаса, нақты құрылыстың басталуына 2 -қадамға өтіңіз

Аппараттық және бағдарламалық қамтамасыз ету бұл жобаның үлкен бөліктері болғандықтан, алдымен теорияны қарастырайық.

Кубтың миы - Arduino Nano. Ол пайдаланылған жарықдиодты драйверлермен өзара әрекеттесуге, сондай-ақ HC-05 модуліне және басқа басқару аппаратурасына Bluetooth байланысын орнатуға жеткілікті енгізу-шығаруды қамтамасыз етеді. Егер сіз басқа LED Cube конструкцияларын қараған болсаңыз, адамдардың көпшілігі жеке жарықдиодты түстердің жарықтық мәндерін сақтау үшін қарапайым Shift регистрлерін қолданатынын білесіз. Бұл құрылым Shift регистрлерін пайдаланбайды, керісінше «TLC5940» LED драйверлері деп аталады. Кейінірек көретініміздей, бұл бізге көп уақытты үнемдейді, сонымен қатар көптеген қосымша жабдықтарды (мысалы, резисторларды) үнемдейді.

Текшені басқарудың негізгі функционалдығы мультиплекстеуді қолданады. Бұл жағдайда біз текшенің 6 қабатын мультиплекстейміз, яғни қабаттағы барлық светодиодтардың барлық анодтары (+) қосылады, ал сол бағандағы барлық светодиодтардың жеке катодтары түбіне қарай қосылады. Бұл дегеніміз, егер сіз x = 1, y = 2, z = 3, color: green позицияларында жарық диодты жарықтандырғыңыз келсе, сізге 3 -қабаттың анодында 5В қосу керек және GND бағанның катодына сәйкес келеді. Жасыл түйреуіш x = 1, y = 2. Шындығында, тек бір уақытта текше қабаты қосылады, бірақ сіз кейінірек кодта көресіз, біз жеке қабаттарды соншалықты тез өшіреміз және қосамыз, сондықтан біздің көзіміз текше толығымен қосулы деп ойлайды..

Жарықтық, анимация және басқалар сияқты нәрселерді басқару үшін біз Arduino Nano-ға қосылған HC-05 Bluetooth модулін қолданамыз. Модульді Arduino-мен қолдану өте қарапайым, себебі сізге тек 4 істікшелі қосылым қажет және Arduino-дің әдепкі сериялық байланысы арқылы модульге интерфейс орнатуға болады. Бұл нұсқаулықтың соңында сіз текшені басқару үшін өзіңіздің Bluetooth қосымшаңызды жазудың қаншалықты оңай екенін түсінесіз.

ЕСКЕРТУ

Менің Arduino схемасының схемасында сіз сондай -ақ MSGEQ7 чипті дыбыс енгізу процесінің интерфейсінің шағын схемасын көре аласыз, бұл нақты текше үшін қажет емес және мен қосқан қосымша функция, сондықтан сіз белгіленген схеманы елемеуге болады. «MSGEQ7» көмегімен

2 -қадам: Жабдық: LED Cube Build

Жабдық: LED Cube Build
Жабдық: LED Cube Build
Жабдық: LED Cube Build
Жабдық: LED Cube Build
Жабдық: LED Cube Build
Жабдық: LED Cube Build

Сонымен, Arduino Nano айналасындағы басқару схемасы туралы айтпас бұрын, текшені қалай құруға болатынын қарастырайық.

Текше құрылысы үшін бөліктер тізімі:

  • 216x RGB жарық диоды (жалпы анод) (AliExpress / Ebay)-> 6x6x6 = 216
  • Таспалы кабель (1m 40Pin жеткілікті болуы керек) (AliExpress / Ebay / Amazon)
  • Әйелдер мен ерлер тақырыптары (кем дегенде 4x40pin) (AliExpress / Ebay / Amazon)
  • Консервіленген мыс / күміс сым 0,8 мм (~ 25 метр) (AliExpress / Ebay / Amazon)
  • Шағын түтік (AliExpress / Ebay / Amazon)

Біріншіден, мен қазір жалықтыратын, бірақ қажет, біз светодиодтарды сынауымыз керек. Мұны істеу үшін біз қуат көзін қосамыз, мысалы, қысқыштары бар 9В батарея блогы. 3 -суретте көріп тұрғаныңыздай, светодиодтардың ең ұзын түйрегіші - анод (+), сондықтан сіз бұл түйреуішті батареяның +9В желісіне қосасыз. Енді GND -ді жеке түстерге қоспас бұрын катодтар (қызыл, жасыл, көк) токты шектеу үшін әрбір катодқа 220 Ом резисторды қосады. Енді барлық 216 жарықдиодты түстердің барлығын сынап көріңіз.

Келесі қадамда біз сыналған жарықдиодты дайындаймыз, сонда оларды бағандарға кейін оңай жинай аламыз.

3 -қадам: жарықдиодты жолдар

Жарықдиодты жолдар
Жарықдиодты жолдар
Жарықдиодты жолдар
Жарықдиодты жолдар
Жарықдиодты жолдар
Жарықдиодты жолдар

Светодиодтарды өз қатарларына дәнекерлемес бұрын, сымдарды бүгу және кесу керек.

Бірінші суретте көріп отырғанымдай, мен ағаштың бір бөлігіне 8мм саңылау (8мм жарықдиодты шамдар үшін) бұрғыладым және жарық диодты тесіктің сол жағына, екіншісі тесіктің оң жағына өте кішкентай 3 бұрғылауды бұрдым. Бұл бұрғылар сымдарды дұрыс июге арналған маркерлер болып табылады және жарық диодты тесіктің ортасынан шамамен 1 см қашықтықта болуы керек.

Бұл техниканы Стив Манли шабыттандырады, сіз оның YouTube -те аздаған өзгеріспен жасаған бейнесін таба аласыз.

2 және 3 -суретте көрсетілгендей бұрғылардың ұштарын кесіп, майыстырмас бұрын, сымдардың бағыты 1 -суретке сәйкес келетініне көз жеткізіңіз (жоғарыда сол жақта көк, содан кейін жасыл, содан кейін анод + оңға, және қайтадан қызыл). Сымдарға иілген шеңбердің диаметрі қаңылтыр мыс сымға (0,8 мм) сәйкес келуі үшін жеткілікті үлкен болуы керек. Бұл қадам жарықдиодты жақсы орналастыруды жеңілдетеді.

Енді барлық светодиодтар дайындалғаннан кейін біз оларды анодтар (+) қосылған 6 қатарға жинағымыз келеді:

  1. 6 -суретте көрсетілгендей кішігірім қондырғы жасаңыз, келесі тесікке дейін 2,5 см қашықтықта 6 тесік (диаметрі 0,8 мм) бұрғылаңыз. Бұл қондырғыға бір мезгілде 6 жарықдиодты орнатуға мүмкіндік береді
  2. Анодтарды қосу үшін бізге ұзындығы ~ 16см болатын (қалайда қосымша шеті бар) мыс қаңылтырдан жасалған түзу қаңылтыр қажет. Сымды жақсы және түзу ету үшін сымның бір ұшын электр бұрғысына бекітуге болады, үстелге бір уақытта шамамен 2 м сым бекітіп, сым созылған және тығыз болатындай етіп бұрғылауды ұстаңыз. бірнеше секунд ішінде сымды өте тез шығарады. Содан кейін сіз сымды бекітілген жерге дәл кесуге болады. Сіз екі қысқышты қолданып, сымның кішкене бөліктерін бір уақытта қатайта аласыз, бірақ бұл әлдеқайда жалықтырады
  3. Ұзындығы 16 см болатын сымдар болғаннан кейін, оларды анодты (+) жарықдиодты саңылауларға жіберіп, анод түйреуіштерін сымға дәнекерлеңіз (7 -сурет)

Бүкіл текше үшін бізге 6x6 = 36 жарық диодты жолдар қажет болады

4 -қадам: қабаттарды жинау

Қабатты құрастыру
Қабатты құрастыру
Қабатты құрастыру
Қабатты құрастыру
Қабатты құрастыру
Қабатты құрастыру

Бұрын айтқанымдай, біз текше қабаттарын мультиплекс жасаймыз, бірақ құрастыру үшін 6х6 жарықдиодты 6 қабырға салу, содан кейін оларды бір -бірінің жанына жинау және анодтарды қосатын жалғыз қаңылтырлы мыс сымды салу оңайырақ. қатардағы қатарлар.

Есіңізде болсын, бұл қадамды орындау үшін көп уақыт пен шыдамдылық қажет, барлығы үшін сізге 1000 -ға жуық дәнекерлеу қосылыстарын дәнекерлеу қажет болады, сондықтан асықпаңыз!

Жарықдиодты қабырға салу үшін:

  1. Джиг үшін: Бізге қабырға тұрғызу үшін 6 жолды бірінің үстіне бірін қою үшін 6 оюлы сызығы бар ағаш қажет. Сіз 2 -суреттегі қондырманы көре аласыз (жолдар арасындағы қашықтық: 2,5 см)
  2. Сіз светодиодтардың 6 қатарын оюға салыңыз, анод сымы төмен қаратылған сызыққа қаратып, 3 катод (R, G, B) жоғары қарайды.
  3. Катодтарды бір -бірінен жоғары орналастыру үшін (2 -суретті қараңыз) бізге тағы да сым қажет (тағы да 6 баған x 3 катод x 6 қабырға = соңғы қадамда (2.) сипатталғандай 108 қаңылтыр сым бөлігі)
  4. Колоннаның төменгі жағынан сым бөліктерін катодтардың саңылауларынан жоғарғы қатарға сырғытыңыз және сымды әр жарық диодты орнына дәнекерлеңіз.

Сіз 6 қабырғадағы жарықдиодты алу үшін мұны 6 рет жасайсыз.

Енді біз қабырғаларды нақты текшеге жинай аламыз. Бірақ текшені ұстап тұру үшін бізге жердегі қандай да бір ұшақ салу керек. Ол үшін мен жіңішке фанераны қолдандым және светодиодтардың ең төменгі қатарларына ілінген сымдарды бекіту үшін 0,8 мм кішкене тесіктер бұрғыладым (барлық 6 жарықдиодты қабырға үшін). Бір жарықдиодты тесіктердің өлшемдері 3 -қадамда құжатталған және әр жарық диодты арасындағы қашықтық 2,5 см құрайды.

Тесіктер орнында біз бірінші қабырғаны алып, фанераның сол жағындағы тесіктерге маневр жасаймыз. Төменгі жағындағы жарықдиодты жол ағаштың дәл үстіне отыруы керек, нәтижесінде барлық қабырғалар біркелкі болады.

Жарықдиодты қабырғалардың қалған бөлігімен бірдей әрекетті жалғастырыңыз, бірақ қабырға анодтары әрқашан бір бағытта болатынын ұмытпаңыз. (3 -суретте барлық қабырға анодтары солға қарайды)

Бүкіл текшені орнатқаннан кейін, біз әр қабаттың анодтарын дәнекерлеуіміз керек. Мұны істеу үшін біз тағы 16 см түзу сымды алып, оны бірінші қабаттың үстіне жатқызамыз, осылайша сым бір қабаттағы 6 қабырғаның барлық анод сымдарына тиеді. Жаңа сым катодтардың ешқайсысына тимейтініне назар аударыңыз. Сымды орнына дәнекерлеп, қалған 5 қабат үшін сол әрекетті қайталаңыз.

5 -қадам: текше сымдары

Жарықдиодты драйверлер тақтасы
Жарықдиодты драйверлер тақтасы
Жарықдиодты драйверлер тақтасы
Жарықдиодты драйверлер тақтасы
Жарықдиодты драйверлер тақтасы
Жарықдиодты драйверлер тақтасы

Жарықдиодты драйверлер тақтасының бөліктері:

  • 7 x TLC5940
  • 6/7 x 10 uF конденсаторлары
  • 2 x 1000 uF конденсаторлары
  • 7х 2,2 кОм резисторлар
  • 7 x 28 істікшелі IC розеткалары
  • 7 x 0.1uF конденсаторлар
  • Таспалы кабель

Басқару тізбектеріне көшу үшін алдымен жарықдиодты драйвер тақтасын қарастырайық. Жоғарыда айтылғандай, бізге Arduino Nano қосылған 7 TLC5940 қажет. Барлық TLC5940 микросхемалары тізбектелген, бұл драйверлердің барлық басқару түйреуіштері өзара байланысты екенін білдіреді (мысалы, бірінші TLC -дің BLANK түйрегіші BLANK екінші, үшінші, төртінші,… TLC -ге қосылған) және олардың барлығы Arduinowith -ке қосылған. сол сымдар, алдымен Arduino Digital Pin -ден бірінші TLC -ге қосылған, содан кейін осы бірінші TLC -дің Serial Out түйрегіші екінші TLC -дің SIN -пиніне қосылады және басқаларын қосқандағы Serial -ді қоспағанда (4 -суретті қараңыз) …

Осылайша, TLC тақтасының схемасы өте қарапайым, сіз оны тіркеу схемасынан көріп отырсыз.

(8 -ҚАДАМҒА КЕҢЕС ҮШІН КЕЛГІҢІЗ КЕЛСЕ)

Мен сондай -ақ түйреуіштің белгілерін қамтитын схеманың скриншотын тіркедім, сонымен қатар GIMP.xcf файлдары бар әрбір басқару түйреуіші қосылымы үшін қабаттары бар.

Барлық IC розеткаларын дәнекерлеуден бастаңыз, содан кейін әр TLC -ге 100nF конденсаторларын қосыңыз, содан кейін IREFand GND үшін 2.2kOhm резисторды және жоғарғы оң жақ бұрыштағы 7 істікшелі тақырыпты қосыңыз. Осыдан кейін сіз.xcf файлын орындауға болады. Gimp файлындағы «SIN қабатынан» бастап, драйверлердің Serial IN/OUT түйреуіштерін таспалы кабельдер арқылы қалай қосуға болатынын көрсетеді, содан кейін GIMP -де CLK қабатын қосады және т.б. + Және - түйреуіштерінің жоғары оң жақ жоғарғы жағындағы түйінге жақсы қосылғаныңызға көз жеткізіңіз. Схеманың қалған бөлігі өздігінен түсіндірілуі керек, бірақ тақтаға жеткілікті 1000uF және 10uF конденсаторларын қосқаныңызға көз жеткізіңіз. сіз оларды орналастырасыз.

Бұл тақта аяқталғаннан кейін келесі қадамда Arduino тақтасына өтуге болады.

7 -қадам: Arduino + Bluetooth басқару тақтасы

Arduino + Bluetooth басқару тақтасы
Arduino + Bluetooth басқару тақтасы

Басқару тақтасының бөліктері:

  • 6 x IRF 9540 P-Channel MOSFETs
  • 1 x 10 uF конденсаторлар
  • 1 x 1000 uF конденсаторлар
  • 7 x 2.2kOhm резисторлар
  • 1 x 1kOhm резисторы
  • 2 x 14 Аналық түйреуіштің жоғарғы деректемесі
  • 1 x Arduino Nano
  • 1 x 1N4001 диод
  • 1 x 0.1uF конденсаторлар
  • 1 x DC ұясына ПХД орнатуы
  • 1 x HC-05 Bluetooth модулі
  • 1 x 3,5 мм аудио ұясы

Arduino басқару тақтасы негізінен мультиплексті өңдеуді басқарады, себебі ол LED драйверлер тақтасының түйреуішінің коллекторын қамтамасыз етеді.

Перформат тақтасында дәнекерлеу:

  1. Тақтаның ортасында Arduino розеткасы ретінде жұмыс істейтін екі түйреуішті тақырыпты қойыңыз.
  2. 6 MOSFET құрылғысын қатарынан Arduino -ның оң жағына қойыңыз (аналогтық түйреуіштері бар жағы) және әрқайсысының бірінші және соңғы түйреуішінің арасына 2,2 кОм резисторды қосыңыз.
  3. Енді 6 істікшелі тақырыпты MOSFET -тің алдына қойыңыз (қатардың ортасы) және FET -тің 6 ағызу түйреуішін (орта түйреуіш) тақырыпқа және FETs GATE түйреуіштерін (сол жақ түйреуіш) тиісті Arduino аналогтық түйреуіштеріне қосыңыз..
  4. Содан кейін, Arduino -ның екінші жағындағы LEDDriver қосылымына арналған 7pin колонкасын дәнекерлеңіз, кабельдер үшін бос орын қалдырыңыз және Arduino -дан түйреуішке дейінгі барлық байланыстарды дәнекерлеңіз.
  5. Мүмкін ток ағызу үшін бірнеше конденсаторларды қосыңыз (1-2 1000uF, 1 10uF, 100nF).
  6. HC-05 модуліне арналған Arduino-ның артқы жағындағы 4 істікшелі тақырыпты дәнекерлеңіз және VCC, RX, TX, GND-ге 4 қосылым жасаңыз және HC-05 пен RX істікшесінен кернеу бөлгішін жасауды ұмытпаңыз. Arduino TX пині (мұнда қараңыз)
  7. Тұрақты ток ұяшығын тақтаның кез келген шетіне қосқышпен орналастырыңыз және коммутатордың оң жақ штырын + DC ұясының + істігіне қосыңыз.
  8. Ақырында, барлық қажетті қуат қосылымдарын DC ұясының GND түйреуішінен және коммутатордың оң жақ түйреуішінен (VCC) Arduino, MOSFETs, Capacitors және HC-05 схемасына сәйкес келтіріңіз. Диодты қосқышты VCC түйреуішінен қуат беретін Arduinos 5V түйреуішіне басқа жолмен беруді қосуды ұмытпаңыз. (Бұл USB байланысы арқылы бағдарламалау кезінде Arduino -ны қорғайды)

Қуат қосылымы үшін мен қарапайым қосқышы бар тұрақты ток қуатын қолдандым, егер сіз қаласаңыз, USB коннекторын қолдана аласыз. Мен ағаш корпусыма жақсы кіру үшін қуат коннекторын басқа шағын платаға тапсырдым, бірақ сіз оны тікелей қоюға болады. Arduino тақтасына. Бірінші қадамда айтылғандай, схемада MSGEQ7 қосылу схемасы бар, бірақ егер сіз MSGEQ7 қолданбасаңыз, оны елемеңіз. (MSGEQ7 функциясы туралы қосымша ақпарат алу үшін мына жерді басыңыз)

Arduino тақтасын жүргізуші тақтасына қосу үшін әр ұшында еркек штыры бар тағы 7Pin таспалы кабель жасауды ұмытпаңыз

8 -қадам: Қосымша: Электр тізбектерінің тақталарын кесу

Қосымша: Электр тізбектерінің тақталарын кесу
Қосымша: Электр тізбектерінің тақталарын кесу
Қосымша: Электр тізбектерінің тақталарын кесу
Қосымша: Электр тізбектерінің тақталарын кесу
Қосымша: Электр тізбектерінің тақталарын кесу
Қосымша: Электр тізбектерінің тақталарын кесу

Егер сіз көптеген кабельдерді дәнекерлеуді ұнатпайтын болсаңыз, әрине, егер сіз қаласаңыз, керекті ПХД -ны өңдей аласыз.

My Cube -те Arduino тақтасы мен Қуат/Аудио қосқыш тақтасы бекітілген схемалық/EAGLE файлдарын қолданған тақталар болып табылады. Мен бірінші рет схемада қате жібердім, сондықтан соңғы қадамдағыдай LED драйвер тақтасын қайта жасауға тура келді. Пертонды қолданудың орнына тақтаны тегістеудің үлкен артықшылықтары жоқ, сондықтан тақтаны тегістеуді немесе перфронға дәнекерлеуді еркін сезініңіз.

Қосылған.zip -те BOARD файлын да, SCHEMATIC файлын да таба аласыз.

Үстіңгі қабаттың іздері (қызыл) сым көпірлер болуы керек екенін ескеріңіз (өйткені мен үйде екі жақты тақталарды өңдей алмаймын). Рұқсат етілмеген іздер түйреуіш әйел тақырыптарына арналған кабельдер арқылы жасалатын қосылыстарды көрсетеді.

Схема MSGEQ7 мүмкіндігін қамтиды, оны.pdf схемасының скриншотында «(MSGEQ7)» деп белгіленген схеманың бөлігін жою арқылы өткізіп жіберуге болады.

9 -қадам: текшені қосу

Кубты қосу
Кубты қосу
Кубты қосу
Кубты қосу
Кубты қосу
Кубты қосу

Cube -тің барлық бөліктерін қосу үшін 7pin кабелін Arduino тақтасы мен драйвер тақтасына жалғаудан бастаңыз (бағдар дұрыс екеніне көз жеткізіңіз!). Келесі HC05 модулін 4 істікшелі тақырыпқа қосыңыз және ажыратылған жағдайда қуат тақтасын қосыңыз.

7x16 істікшелі текше тақырыптарын қосу үшін бірінші TLC -ден басталатынына көз жеткізіңіз (SIN -пині Arduino -ға тікелей қосылған). Cube -тен дұрыс 16 істікшелі кабельді табыңыз және оны бірінші TLC түйреуіш атауына қосыңыз (Cathode Nr.0 кабелі бірінші TLC OUT0 түйреуішіне қосылғанын тексеріңіз!). Жалғастырыңыз және басқа 16 істікшелі кабельдерді тиісті TLC тақырыптарына дұрыс ретпен қосыңыз.

Ақырында, текшеден анодтарға арналған 6Pin кабелін MOSFET жанындағы басқару тақтасындағы 6Pin тақырыбына қосыңыз.

Текшені аяқтау үшін мен корпусқа қара бояуы бар фанермен қабырғаларды қостым және оларды желімдедім.

Енді біз бүкіл құрылысқа қажетті барлық жабдықтармен аяқтадық!

10 -қадам: Бағдарламалық қамтамасыз ету: мультиплекстеу циклы

Бағдарламалық қамтамасыз ету: мультиплекстеу циклы
Бағдарламалық қамтамасыз ету: мультиплекстеу циклы

Енді теория жүзінде Arduino келесі циклды үнемі орындайды:

  1. Егер LayerDuration өткен болса, TLC -ге келесі қабаттың мәндерін жүктеңіз, ағымдағы қабатты өшіріңіз, келесі қабатты қосыңыз, LayerDuration -ды қалпына келтіріңіз, TLC -ге жаңа мәндерді енгізіңіз.
  2. Егер FrameDuration өткен болса, барлық светодиодтар мен түстердің мәндерін ValueLed буферіне сақтау арқылы ағымдағы анимацияның жаңа жақтауын жүктеңіз, FrameDuration қалпына келтіріңіз.
  3. Егер Bluetooth деректері қол жетімді болса, оларға жауап беріңіз (Анимацияны, жарықтықты өзгерту …) (толығырақ ақпарат кейін)

Көріп отырғаныңыздай, кодтың негізгі бағыты - бұл жылдамдық. Қабатты өзгерту уақыты аз болғаны маңызды.

Қабаттарды неғұрлым тез қоссаңыз/өшірсеңіз, соғұрлым «кадрлар» аласыз. 6x6x6 RGB светодиодты текше үшін мен қабаттардың ұзақтығы 1700 микросексті анықтадым. минимумда жыпылықтауды ұстап тұру үшін жеткілікті жақсы және осы мәнде қалдыру керек. FrameDuration анимация жылдамдығын басқарады, сондықтан оны әр түрлі анимациялар үшін өзгертуге болады.

Келесі қадамда біз өз анимациямызды қалай жазуға болатынын қарастырамыз.

11 -қадам: реттелетін анимациялар

Арнайы анимациялар
Арнайы анимациялар
Арнайы анимациялар
Арнайы анимациялар

Анимацияны іске асыру үшін біз FrameDuration өткен сайын ValueLed буферін келесі кадрға қажетті мәндерге қоюымыз керек. Біз мұны «SETLED (x, y, z, COLOR, Brightness)» функциясын шақыру арқылы жасаймыз.

x, y, z - біз орнатқымыз келетін светодиодтың координаттары, ал COLOR (ҚЫЗЫЛ, ЖАСЫЛ немесе КӨК) - біз орнатқымыз келетін түс, ал Жарықтық - біз орнатқан осы түс үшін нақты мән.

Мысалы, қызыл, жасыл және көк түстерді текше бойынша кездейсоқ түрде көрсететін анимацияны енгізу үшін сіз мұны істей аласыз:

void randomLedsFull () {

for (uint8_t j = 0; j <CUBE_SIZE; j ++) {for (uint8_t x = 0; x <CUBE_SIZE; x ++) {for (uint8_t y = 0; y <CUBE_SIZE; y ++) {uint8_t rand = random8 (3); ОРНАТЫЛҒАН (x, y, j, rand, maxBright); }}}}

Бұл әдіс FrameDuration өткен сайын шақырылады және циклдегі коммутатор командасынан таңдалады (). Егер сіз жаңа анимациялар жазсаңыз, оларды коммутаторға қосу арқылы қосуға болады.

12 -қадам: Қосымша: AnimationCreator

Қосымша: Анимация жасаушы
Қосымша: Анимация жасаушы

Мен JavaFX және Java3D көмегімен AnimationCreator жаздым.

Бұл түсінікті интерфейсті қамтамасыз ету арқылы реттелетін анимацияларды құруды және өңдеуді жеңілдетеді.

4x4x4, 6x6x6 немесе 8x8x8 жарықдиодты текшелерге арналған анимацияларды жасауға, өңдеуге, атын өзгертуге және қайта конфигурациялауға болады

Жаңа анимация жасау үшін жай ғана Файл> Жаңа түймешігін басыңыз, «Текше» астында сіз текше өлшемін таңдай аласыз, светодиоды түсі үшін қалаған түсті таңдаңыз, сол жақта Түс таңдаушымен, содан кейін қалаған жарықдиодты тінтуірдің оң жақ түймешігімен нұқыңыз. бұл жақтау үшін түс. Басқа жақтауды қосу үшін «Келесі» немесе «+» түймесін басыңыз. Қалған UI басқару элементтері түсінікті, текше қабаттарының жанындағы құсбелгілер қай қабаттарға ауысу және «кадрды сақтау» әсер етуі керек екенін тексереді. Тек сынап көріңіз, сонда сіз бәрін тез арада шешесіз.

Анимацияны имитациялау үшін текшенің Java3D үлгісі бар басқа терезені ашатын «3D көру» түймесін басуға болады. Сіз тінтуірдің сол жақ батырмасын басып тұрып камераны айналдыра аласыз (камераны қалпына келтіру үшін R түймесін басыңыз). Анимацияны ойнату/кідірту үшін P пернесін басыңыз, анимацияның соққысын қалпына келтіру үшін Q. «3D көру» астындағы мәтіндік өріс ағымдағы FrameTime, анимацияның жылдамдығын өзгертіңіз.

Анимацияны аяқтағаннан кейін оған ат беріңіз және Файл> Басқаша сақтау … түймесін басып, анимацияны Cubo_Control.ino эскизі сияқты қалтаға сақтаңыз.

Эскизге жаңа анимацияны қосу үшін Cubo_Control.ino ашыңыз және эскиздің үстіне келесі кодты қосыңыз:

#«RGBit.h» қосыңыз // Ауыстырыңыз

BTEvent () тармағына төмен жылжыңыз және анимацияның ауысу жағдайына регистр туралы мәлімет қосыңыз

қосқыш (curAnim) {

… 10 жағдай: анимация = & ani_cubesmove [0] [0]; FRAME_TIME = ANI_CUBESMOVE_FRAMTIME; maxCount = ANI_CUBESMOVE_FRAMES; үзіліс; жағдай 11: // СІЗДІҢ ЖАҢА АНИМАЦИЯ анимациясы = & ani_rgbit [0] [0]; FRAME_TIME = RGBIT_FRAMETIME; maxCount = ANI_RGBIT_FRAMES; үзіліс; }

13 -қадам: Bluetooth қолданбасы

Bluetooth қолданбасы
Bluetooth қолданбасы

Текшені бақылау үшін HC-05 модулінің арқасында телефонды текшеге қосу үшін Bluetooth қосымшасын құру өте қарапайым.

Қолданбаға сілтеме: Github

Қолданба ашық көзі болып табылады, сондықтан қосымша анимацияларды/мүмкіндіктерді өзіңіз қосуға болады.

  • Қолданбаны іске қосыңыз, ол Bluetooth қосуды сұрайды
  • «Іздеу» түймесін басыңыз және қол жетімді Bluetooth қосылымдарының тізімі пайда болады. HC-05 модулін текшеден анықтаңыз және оны басыңыз.
  • Егер текшеге қосылу кезінде қате болса, HC-05 модулін Bluetooth параметрлерінде қолмен жұптастырып көріңіз.
  • Қосылғаннан кейін бағдарлама басқару экранына ауысады және Bluetooth байланысы орнатылды

Бақылау

  • Жылдамдық пен жарықтық: Анимацияны жылдамдату/баяулату немесе жарықтықты өзгерту үшін жүгірткі мәндерін өзгертіңіз
  • Анимациялар: Анимацияны өзгерту үшін түймені басыңыз, әдепкі бойынша анимация циклда болады (сол жақтан жоғары қарай батырмасы CurrAnim -ге сәйкес келеді)
  • Мәтінді айналдыру: текше бойымен айналдырылатын мәтінді енгізу үшін диалогты ашатын «Мәтін» түймесін басыңыз.
  • Пәрмен: Сіз Command TextField көмегімен командаларды қолмен енгізе аласыз (синтаксис үшін Cubo_Control.ino BTEvent () әдісін қараңыз)
  • Жылан: классикалық жыландар ойыны (қызыл: алма, жасыл: жылан басы, көк: құйрықты жасыру) (Басқару: 4 бағытты түймелер, жоғары және төмен телефонды алға (жоғары) немесе артқа (төмен) бұру арқылы іске қосылады)
  • Аудио визуализатор: MSUQ7 AUX ұясынан 6 аудио диапазонды визуализациялау үшін қолданылады (Анимация 7 түймесі)

14 -қадам: Көрме

Ұсынылған: