Мазмұны:

Интерактивті жарықдиодты шам - Tensegrity құрылымы + Arduino: 5 қадам (суреттермен)
Интерактивті жарықдиодты шам - Tensegrity құрылымы + Arduino: 5 қадам (суреттермен)
Anonim
Интерактивті жарықдиодты шам | Tensegrity құрылымы + Arduino
Интерактивті жарықдиодты шам | Tensegrity құрылымы + Arduino
Интерактивті жарықдиодты шам | Tensegrity құрылымы + Arduino
Интерактивті жарықдиодты шам | Tensegrity құрылымы + Arduino
Интерактивті жарықдиодты шам | Tensegrity құрылымы + Arduino
Интерактивті жарықдиодты шам | Tensegrity құрылымы + Arduino

Бұл бөлік қозғалысқа жауап беретін шам. Шам шамалы тартымдылық мүсіні ретінде жасалған, бүкіл құрылымның бағыты мен қозғалысына жауап ретінде түстердің конфигурациясын өзгертеді.

Икосаэдр айналғанда (өз осінің үстінде), ол виртуалды сфералық түстерді таңдаушыдан мәнді таңдайды. Бұл түс таңдаушы көрінбейді, бірақ түс реттелуі нақты уақыт режимінде болады. Осылайша, сіз әр түстің кеңістікте қай жерде орналасқанын анықтай аласыз, ал сіз ойынмен ойнайсыз.

Икозаэдр пішіні 20 бет жазықтығын қамтамасыз етеді, ал шиеленіс құрылымы оған қосымша 6 нүкте береді. Бұл лампа тегіс бетке сүйенген кезде 26 мүмкін болатын түстерді қамтамасыз етеді. Бұл сан шамды ауаға қосқанда көбейеді.

Жүйені үш осьті акселерометрге қосылған Pro Trinket басқарады. Жарық түсі мен ақ жарықтық мәнін жеке басқара алатын RGBW жарықдиодты жолақтармен қамтамасыз етілген. Бүкіл схема, оның ішінде микропроцессор, датчиктер мен жарықтандыру жүйесі 5В жұмыс істейді. Жүйені қосу үшін 10А дейін көз қажет.

Шамда қолданылатын негізгі элементтердің тізімі келесідей:

- Adafruit Pro Trinket - 5V

- Adafruit LIS3DH үш осьті акселерометр

- Adafruit NeoPixel Digital RGBW жарық диодты жолағы - ақ түсті ПХД 60 жарықдиодты/м

- 5В 10А коммутациялық қуат көзі

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

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

Сіз менің жұмысымды бақылай аласыз: action-io / tumblraction-script / github

1 -қадам: Идея

Ой
Ой
Ой
Ой
Ой
Ой

Бұл жоба менің ойымда біраз уақыт ойнаған бірнеше идеялардың нәтижесі болды.

Мен бастағаннан бері тұжырымдама өзгерді, бастапқы жоба дамып, нақты пішінге ие болды.

Бастапқы тәсіл өзара әрекет құралы ретінде геометриялық фигураларға қызығушылық болды. Дизайнына байланысты бұл шамның көпбұрышты беттері кіріс әдісі ретінде қызмет етеді.

Бірінші идея - икосаэдрді қозғалуға мәжбүрлеу үшін динамикалық жүйені қолдану. Мұны интерактивті қосымша немесе әлеуметтік желі қолданушылары басқаруы мүмкін еді.

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

Tensegrity құрылымы кейінірек болды.

Бұл құрылыс әдісі мені қызықтырды: құрылым бөліктерінің бір -бірін тепе -теңдікте ұстауы. Бұл визуалды түрде өте жағымды. Бүкіл құрылым өзін -өзі теңестіреді; бөліктер бір -біріне тікелей тимейді. Бұл бөлікті құрайтын барлық кернеулердің жиынтығы; бұл фантастикалық!

Бастапқы дизайн өзгергендіктен; жоба алға жылжиды.

2 -қадам: құрылым

Құрылымы
Құрылымы
Құрылымы
Құрылымы
Құрылымы
Құрылымы
Құрылымы
Құрылымы

Жоғарыда айтқанымдай, бұл бірінші модель қоқысқа тасталатын қайта өңделген материалдардан жасалған.

Мен ағаш тақталарды көшеден таптым. Алтын жиектер ескі шамның бір бөлігінің бөлігі болды, ал резеңке таспалардың тығындары - кеңсе қысқыштары.

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

Тақталармен істегенім - оларды екі топқа біріктіру. Алтын саңылаулармен «сэндвич» жасау, жарықтар жарқырайтын жерде бос орын қалдыру.

Жобаның өлшемдері мүлдем өзгермелі және сіз жасағыңыз келетін құрылымның көлеміне байланысты болады. Бұл жобаның суреттеріндегі ағаш штангалардың ұзындығы 38см, ені 38мм. Тақталар арасындағы қашықтық 13 мм.

Ағаш тақталар бірдей кесілген, тегістелген (ескі бояу қабатын алып тастау үшін), содан кейін екі ұшына тесілген.

Содан кейін мен тақталарды рустикалық қараңғы лакпен боядым. Бөлшектерді біріктіру үшін мен 5 мм және 5 мм кесінділерге кесілген 5 мм бұрандалы таяқшаны қолдандым.

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

3 -қадам: Электроника және шамдар

Электроника және шамдар
Электроника және шамдар
Электроника және шамдар
Электроника және шамдар
Электроника және шамдар
Электроника және шамдар
Электроника және шамдар
Электроника және шамдар

Электрондық компоненттердің конфигурациясы 5В көмегімен бүкіл жүйе бойынша логиканы да, қоректенуді де бірдей кернеуді сақтауға арналған.

Жүйені үш осьті акселерометрге қосылған Pro Trinket басқарады. Жарық түстер мен ақ жарықтық мәндерін жеке басқара алатын RGBW жарықдиодты жолақтармен қамтамасыз етілген. Бүкіл схема, оның ішінде микропроцессор, датчиктер мен жарықтандыру жүйесі 5В жұмыс істейді. Жүйені қосу үшін 10А дейін көз қажет.

Pro Trinket 5V Atmega328P чипін пайдаланады, ол Arduino UNO -дағы негізгі чип. Ол сондай -ақ бірдей түйреуіштерге ие. Егер сіз БҰҰ жобасын миниатюрленген кеңістіктерге жеткізгіңіз келсе, бұл өте пайдалы.

LIS3DH-әмбебап сенсор, оны +-2g/4g/8g/16g форматында оқуға қайта конфигурациялауға болады, сонымен қатар Tap, Double-tap, бағдар мен еркін құлауды анықтау функциясын қосады.

NeoPixel RGBW LED жолағы реңктің түсі мен ақ қарқындылығын бөлек басқара алады. Арнайы жарықдиодты жарық диодты жарықтандыру үшін барлық түстерді қанықтырудың қажеті жоқ, сонымен қатар ол ақ түсті таза және жарқын етеді, сонымен қатар ол энергияны үнемдейді.

Сымдар мен компоненттерді біріктіру үшін мен кабельді өткізіп, қысқыштар мен коннекторлардың корпусын қолдана отырып, ерлер мен аналық түйреуіштері бар розеткалар жасауды шештім.

Мен әшекейлерді акселерометрге қостым, SPI әдепкі конфигурациясы бар. Бұл Винді 5В қуат көзіне қосу дегенді білдіреді. GND -ді жалпы қуатқа/деректер желісіне қосыңыз. SCL (SCK) түйреуішін Digital #13 -ке қосыңыз. SDO түйреуішін Digital #12 -ге қосыңыз. SDA (SDI) түйреуішін Digital #11 -ге қосыңыз. Сандық №10 CS пинін қосыңыз.

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

Сізге қажет болуы мүмкін барлық құжаттарды adafruit бетінен толығырақ және жақсы түсіндіре аласыз.

Қуат көзі бір уақытта микроконтроллер мен жарық диодты жолақты беретін әйел тұрақты ток адаптеріне қосылады. Сондай -ақ, «қосу» сәтінде тізбекті тұрақсыз токтан қорғайтын конденсатор бар.

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

Бұл жоба үшін мен 5в - 10А қуат көзін қолданамын. Бірақ сізге қажет шамдардың санына байланысты жүйені беру үшін қажетті токты есептеу қажет.

Бөлімнің барлық құжаттамасында сіз жарық диодты жарық диодына 80 мА тартылғанын көре аласыз. Мен барлығы 108 жарықдиодты қолданамын.

4 -қадам: Кодекс

Кодекс
Кодекс

Жұмыс схемасы өте қарапайым. Акселерометр x, y, z осіндегі қозғалыс туралы ақпарат береді. Бағыт негізінде жарық диодтардың RGB мәндері жаңартылады.

Жұмыс келесі кезеңдерге бөлінеді.

  • Сенсордан оқуды орындаңыз, тек api пайдаланыңыз.
  • Тригонометрия бойынша «ролл мен қадам» мәндерін шешіңіз. Сіз бұл құжаттан Марк Педли туралы көбірек ақпарат таба аласыз.
  • HSL - RGB түрлендіру функциясын қолдана отырып, біз 0-360 RGB мәніне ауысамыз. Ақ түсті жарықтың қарқындылығын және түс қанықтығын реттеу үшін әр түрлі масштабта қадамның мәні қолданылады. Түсті таңдау шарының қарама -қарсы жарты шарлары толығымен ақ түсті.
  • Жекелеген жарықдиодты түстердің ақпаратын сақтайтын шамдардың буферін жаңартыңыз. Бұл ақпаратқа байланысты буферлік контроллер анимация жасайды немесе қосымша түстермен жауап береді.
  • Соңында түстерді көрсетіңіз және жарықдиодты жаңартыңыз.

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

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

Содан кейін мен қазіргі таңда таңдалған тонға қосымша түстерді тағайындау идеясын ұсынамын.

Сонымен, бір жарты шарда дөңгелектің түсінің монохроматикалық түсі 50% жарықтандырудан 90 ~ 100% қанықтылықтан таңдалады. Бұл кезде екінші жағы сол түсті позициядан түс градиентін таңдайды, бірақ градиенттің екінші жағына оған қосымша түс қосады.

Сенсордан алынған деректерді оқу бастапқы болып табылады. Шуды және лампаның дірілін тегістеу үшін сүзгіні қолдануға болады. Қазіргі уақытта маған қызықты болып көрінеді, себебі ол ұқсайды, кез келген жанасуға жауап береді және толық тұрақтандыру үшін секунд қажет.

Мен әлі де кодпен жұмыс жасаймын және жаңа мүмкіндіктерді қосамын және анимацияларды оңтайландырамын.

Сіз менің github есептік жазбамдағы кодтың соңғы нұсқаларын тексере аласыз.

5 -қадам: Жинау

Орау
Орау
Орау
Орау
Орау
Орау
Орау
Орау

Соңғы құрастыру өте қарапайым: екі компонентті эпоксидті жабысқақ светодиодты жолақтардың силикон қақпағын жолақтарға жабыстырыңыз және 6 бөлікті бірінен кейін бірін жалғаңыз.

Компоненттерді бекітіп, акселерометр мен профильді ағашқа бұрғыңыз келетін жерді бекітіңіз. Мен түйреуіштердің түбін қорғау үшін пластикалық аралықтарды қолдандым. Қуат көзінің адаптері эпоксидті эпоксидті желіммен жолақтардың арасына дұрыс бекітілген. Шам айналған кезде оның қозғалуына жол бермеуге арналған.

Бақылаулар мен жақсартулар

Жобаның даму барысында проблемаларды шешу жолдары туралы жаңа идеялар пайда болды. Мен сонымен қатар дизайндағы кейбір кемшіліктерді немесе жақсартуға болатын бөлшектерді түсіндім.

Мен жасағым келетін келесі қадам - өнімнің сапасы мен әрлеуінің жақсаруы; негізінен құрылымда. Мен дизайнның бір бөлігі ретінде тензорды қосатын және компоненттерді жасыратын қарапайым құрылымдар туралы керемет идеялармен келемін. Бұл құрылым 3D принтерлер мен лазерлік кескіштер сияқты қуатты құралдарды қажет етеді.

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

Мақаланы оқығаныңызға және менің жұмысыма қызығушылық танытқаныңызға рахмет. Сіз бұл жобадан мен сияқты үйрендіңіз деп үміттенемін.

Ұсынылған: