Мазмұны:

Интерактивті геодезиялық жарықдиодты күмбез: 15 қадам (суреттермен)
Интерактивті геодезиялық жарықдиодты күмбез: 15 қадам (суреттермен)

Бейне: Интерактивті геодезиялық жарықдиодты күмбез: 15 қадам (суреттермен)

Бейне: Интерактивті геодезиялық жарықдиодты күмбез: 15 қадам (суреттермен)
Бейне: Зерде ойыны. Ашық сабаққа жаңа әдіс. 2024, Қараша
Anonim
Image
Image
Интерактивті геодезиялық жарықдиодты күмбез
Интерактивті геодезиялық жарықдиодты күмбез
Интерактивті геодезиялық жарықдиодты күмбез
Интерактивті геодезиялық жарықдиодты күмбез
Интерактивті геодезиялық жарықдиодты күмбез
Интерактивті геодезиялық жарықдиодты күмбез

Мен әр үшбұрышта жарық диоды мен сенсоры бар 120 үшбұрыштан тұратын геодезиялық күмбез салдым. Әрбір жарықдиодты жеке шешуге болады және әр сенсор бір үшбұрыш үшін арнайы реттеледі. Күмбез Arduino көмегімен қолыңызды қай үшбұрышқа қойғаныңызға байланысты MIDI сигналын жарықтандыруға және шығаруға арналған.

Мен күмбезді адамдарды жарыққа, электроникаға және дыбысқа қызықтыратын қызықты дисплей етіп жасадым. Күмбез бес бөлікке жақсы бөлінгендіктен, мен күмбезді әрқайсысында әр түрлі дыбысқа ие болатын бес бөлек MIDI шығысы бар етіп жасадым. Бұл күмбезді үлкен музыкалық аспапқа айналдырады, ол бір уақытта бірнеше адаммен музыка ойнауға өте ыңғайлы. Музыканы ойнаудан басқа, мен күмбезді жеңіл шоуларға бағдарламалап, Саймон мен Понгтың ойынын ойнадым. Соңғы құрылым диаметрі бір метрден сәл асады және биіктігі 70 см, ол негізінен ағаштан, акрилден және 3D басып шығарылған бөлшектерден тұрады.

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

Жарықдиодты үстелдер мен текшелер:

www.instructables.com/id/RGB-LED-Pixel-Touc…

www.instructables.com/id/Touch-LED-Table-Re…

www.instructables.com/id/Led-Cube-8x8x8/

www.instructables.com/id/500-LED-Pixel-RGB-…

Геодезиялық күмбез:

www.instructables.com/id/Folding-Geodesic-D…

www.instructables.com/id/Geodesic-dome-kit/

1 -қадам: жеткізілім тізімі

Жабдықтар тізімі
Жабдықтар тізімі
Жабдықтар тізімі
Жабдықтар тізімі
Жабдықтар тізімі
Жабдықтар тізімі

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

1. Күмбез мен күмбез негізіне арналған ағаш (мөлшері күмбездің түрі мен көлеміне байланысты)

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

3. Arduino Uno (Atmega328 - жинақталған)

4. Прототип тақтасы (Penta Angel PCB Universal екі жақты прототипі (7х9 см))

5. Жарықдиодты таратуға арналған акрил (құйылған акрил парағы, мөлдір, 12 «x 12» x 0.118 «өлшемі)

6. Қуат көзі (Aiposen 110/220V DC12V 30A 360W қосқыш қуат көзінің драйвері)

7. Arduino үшін Бак түрлендіргіші (RioRand LM2596 DC-DC Бак Конвертер 1.23V-30V)

8. Светодиодтар мен сенсорларға арналған бак түрлендіргіші (DROK Mini Electric Buck Voltage Converter 15A)

9. 120 IR сенсоры (инфрақызыл кедергілерді болдырмау сенсор модулі)

10. Бес 16 каналды мультиплексор (Analog/Digital MUX Breakout - CD74HC4067)

11. Алты 8 арналы мультиплексор (мультиплексорлық үзіліс - 8 арна (74HC4051))

12. Бес 2 каналды мультиплексор (MAX4544CPA+)

13. Сымды орау сымы (ПХД дәнекерлеуіші 0,25 мм қалайы қапталған мыс сымы Dia 305M 30AWG қызыл сым)

14. Қосылатын сым (қатты ядро, 22 AWG)

15. Тікенді тақырыптар (Gikfun 1 x 40 істікшесі 2,54мм бір қатарлы еркек түйреуішті тақырып)

16. Бес MIDI ұясы (Breadboard үшін ыңғайлы MIDI ұясы (5 істікшелі DIN))

17. MIDI ұяларына арналған 220 Омдық он резистор

18. Электрониканы күмбезге орнатуға арналған аралықтар

19. Ағашқа тіреуіштерді қосуға арналған адаптерлер (E-Z Lok Threaded Insert, Brass, Knife Thread)

20. Эпоксидті немесе Gorilla Superglue

21. Электрлік таспа

22. Дәнекер

Құралдар:

1. Дәнекерлеу станциясы

2. Қуат бұрғышы

3. Дөңгелек ара

4. Орбиталық тегістеуіш

5. Джиг машинасы

6. Митер ара

7. Транспортир

8. 3D -принтер

9. Сым кескіштер

10. Сымды орау құралы

11. Жарық диодты плиталарды кесуге арналған лазерлік кескіш (міндетті емес)

12. Күмбез негізі үшін CNC шкафы (міндетті емес)

2 -қадам: Геодезиялық күмбезді жобалау

Геодезиялық күмбезді жобалау
Геодезиялық күмбезді жобалау
Геодезиялық күмбезді жобалау
Геодезиялық күмбезді жобалау

Кіріспеде айтқанымдай, жеке геодезиялық күмбезді салуға арналған бірнеше онлайн көздері бар. Бұл сайттар күмбезді калькуляторлармен қамтамасыз етеді, олар әр жақтың ұзындығын (яғни тіреуішті) және кез келген күмбез түріне қажет қосқыштардың санын анықтайды. Геодезиялық күмбездің күрделілігі (яғни үшбұрыштардың тығыздығы) оның класы бойынша анықталады (1В, 2В, 3В және т. Жеке күмбез салу үшін алдымен күмбездің диаметрі мен класын таңдау керек.

Мен Domerama деп аталатын сайтты қолдандым, радиусы 40 см болатын шардың 5/12 бөлігіне кесілген 4В күмбезді жобалауға көмектесу үшін. Күмбездің бұл түрі үшін ұзындығы алты түрлі тіректер бар:

30 X «А» - 8,9 см

30 X «B» - 10,4 см

50 X «С» - 12,4 см

40 X «D» - 12,5 см

20 X «E» - 13.0см

20 X «F» - 13,2 см

Бұл 2223 см (73 фут) материалды қосатын 190 тіреу. Мен бұл күмбездегі тіректер үшін 1x3 (3/4 «× 2-1/2») қарағай ағашын қолдандым. Тіректерді қосу үшін мен Autocad көмегімен 3D басып шығарғыш коннекторларды жасадым. Бұл қадамның соңында STL файлдарын жүктеуге болады. 4В 5/12 күмбезді қосқыштардың саны:

20 X 4 қосқыш

6 X 5 коннекторы

45 X 6 коннекторы

Келесі қадамда мен бұл күмбездің ағаш тіректермен және мен жасаған 3D басып шығарғыш қосқыштармен қалай салынғанын сипаттаймын.

3 -қадам: тіректер мен коннекторлармен күмбез салу

Бекіткіштер мен коннекторлармен күмбез салу
Бекіткіштер мен коннекторлармен күмбез салу
Бекіткіштер мен коннекторлармен күмбез салу
Бекіткіштер мен коннекторлармен күмбез салу
Бекіткіштер мен коннекторлармен күмбез салу
Бекіткіштер мен коннекторлармен күмбез салу
Бекіткіштер мен коннекторлармен күмбез салу
Бекіткіштер мен коннекторлармен күмбез салу

4V 5/12 күмбезі үшін Domerama есептеулерін қолдана отырып, мен тіректерді дөңгелек арамен кесіп алдым. 190 тіреу таңбаланған және кесілгеннен кейін қорапқа салынған. 71 қосқыш (20 төрт коннектор, 6 бес коннектор және 45 алты коннектор) Makerbot көмегімен 3D басып шығарылды. Ағаш тіректер Домерама жасаған схемаға сәйкес қосқыштарға салынған. Мен құрылысты жоғарыдан бастадым және радиалды түрде сыртқа қарай жылдым.

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

4 -қадам: Лазерлік кесу және бекіту тақтайшалары

Лазерлік кесу және монтаждау тақталары
Лазерлік кесу және монтаждау тақталары
Лазерлік кесу және монтаждау тақталары
Лазерлік кесу және монтаждау тақталары
Лазерлік кесу және монтаждау тақталары
Лазерлік кесу және монтаждау тақталары
Лазерлік кесу және монтаждау тақталары
Лазерлік кесу және монтаждау тақталары

Енді күмбездің қаңқасы салынғаннан кейін, үшбұрышты астыңғы тақтайшаларды кесу уақыты келді. Бұл табақшалар тіректердің төменгі жағына бекітілген және жарықдиодты күмбезге бекіту үшін қолданылады. Мен бастапқыда күмбездегі бес түрлі үшбұрышты өлшеу арқылы қалыңдығы 5 мм (3/16 дюйм) фанерден негізгі тақталарды кесіп алдым: AAB (30 үшбұрыш), BCC (25 үшбұрыш), DDE (20 үшбұрыш), CDF (40 үшбұрыш)) және EEE (5 үшбұрыш). Әр жақтың өлшемдері мен үшбұрыштардың формасы күмбезді калькулятор (Домерама) мен кейбір геометрия көмегімен анықталды. Джигсо көмегімен тест табақшаларын кескеннен кейін мен Coral Draw көмегімен үшбұрыштың конструкциясын салдым, ал қалған табақшаларды лазерлік кескішпен қидым (әлдеқайда жылдам!). Егер сізде лазерлік кескішке қолыңыз жетпесе, сызғыш пен транспортер көмегімен астыңғы тақтайшаларды фанераға тартып, олардың барлығын джигсо көмегімен кесуге болады. Негізгі тақталар кесілгеннен кейін күмбез аударылады және пластиналар ағаш желім көмегімен күмбезге жабыстырылады.

5 -қадам: Электроникаға шолу

Электроникаға шолу
Электроникаға шолу

Жоғарыдағы суретте күмбезге арналған электрониканың схемасы көрсетілген. Arduino Uno күмбез сигналдарын жазу және оқу үшін қолданылады. Күмбезді жарықтандыру үшін RGB светодиодты жолағы күмбездің үстінен өтеді, осылайша 120 үшбұрыштың әрқайсысына жарық диодты орналастырады. Жарықдиодты жолақтың қалай жұмыс істейтіні туралы ақпарат алу үшін осы нұсқаулықты қараңыз. Әрбір светодиодты Arduino көмегімен бөлек шешуге болады, ол жолақ үшін сериялық деректер мен сағат сигналын шығарады (схемада A0 және A1 түйреуін қараңыз). Жолақ пен осы екі сигналдың көмегімен сіз керемет күмбезге ие бола аласыз. Charlieplexing және ауысым регистрлері сияқты Arduino -дан көптеген жарықдиодты сигналдарды жазудың басқа әдістері бар.

Күмбезбен өзара әрекеттесу үшін мен әр жарық диодтың үстіне IR сенсорын қойдым. Бұл датчиктер күмбездегі біреудің қолы үшбұрышқа жақын тұрғанын анықтау үшін қолданылады. Күмбездегі әрбір үшбұрыштың жеке инфрақызыл сенсоры бар және 120 үшбұрышы бар болғандықтан, сізге Arduino алдында мультиплекстеудің қандай да бір түрін жасауға тура келеді. Мен күмбездегі 120 сенсор үшін 24 арналы бес мультиплексорды (MUX) қолдануды шештім. Міне, мультиплекстеу бойынша нұсқаулық, егер сіз бейтаныс болсаңыз. 24 арналы MUX бес басқару сигналын қажет етеді. Мен Arduino-да 8-12 түйреуіштерді таңдадым, сондықтан мен порт манипуляциясын жасай аламын (қосымша ақпаратты 10-қадамнан қараңыз). MUX тақталарының шығысы 3-7 түйреуіштер көмегімен оқылады.

Мен күмбезге дыбыс шығара алатын бес MIDI шығысын қостым (11 -қадам). Басқаша айтқанда, бес адам күмбезде ойнай алады, әр дыбыс әр түрлі дыбыс шығарады. Arduino -да тек бір TX түйреуіші бар, сондықтан бес MIDI сигналы демультиплексті қажет етеді. MIDI шығысы ИҚ сенсорының көрсеткішінен басқа уақытта шығарылғандықтан, мен сол басқару сигналдарын қолдандым.

IR сенсорының барлық кірістері Arduino -ға оқылғаннан кейін, күмбез Arduino бағдарламалаған кезде дыбыстарды жанып, ойната алады. Менде осы нұсқаулықтың 14 -қадамында бірнеше мысалдар бар.

6 -қадам: Жарық диодтарын күмбезге орнату

Жарықдиодты күмбезге орнату
Жарықдиодты күмбезге орнату
Жарықдиодты күмбезге орнату
Жарықдиодты күмбезге орнату
Жарықдиодты күмбезге орнату
Жарықдиодты күмбезге орнату

Күмбез өте үлкен болғандықтан, әр үшбұрышқа бір жарық диодты орналастыру үшін жарық диодты жолақты кесу қажет. Әр жарық диодты үшбұрышқа супер желіммен жабыстырылады. Светодиодтың екі жағында кабельдің күмбезден өтуі үшін негізгі тақта арқылы тесік бұрғыланады. Содан кейін мен светодиодтағы (5В, жер, сағат, сигнал) әр контактіге қосылатын сымды дәнекерлеп, сымды негізгі тақта арқылы беремін. Бұл сымдар күмбездегі келесі жарық диодына жету үшін жеткілікті ұзақ болатындай етіп кесіледі. Сымдар келесі жарықдиодты жарыққа шығарылады және процесс жалғасады. Мен светодиодты сымның мөлшерін азайтатын конфигурацияда қостым, бірақ светодиоды кейін Arduino көмегімен шешуге болады. Кіші күмбез жолақты кесу қажеттілігін жояды және дәнекерлеуге көп уақытты үнемдейді. Басқа нұсқа - ауысымдық регистрлері бар бөлек RGB светодиодтарын қолдану.

Жолаққа сериялық байланыс Arduino -дан екі түйреуіш (деректер мен сағат штыры) көмегімен жүзеге асады. Басқаша айтқанда, күмбезді жарықтандыруға арналған деректер бір светодиодтан екіншісіне беріледі, себебі ол деректер түйреуішінен шығады. Міне, осы Arduino форумынан өзгертілген код үлгісі:

// Бүкіл күмбезді бір түстің қарқындылығын арттырыңыз және төмендетіңіз

#define numLeds 120 // Жарық диодтарының саны // ШЫҒУ ПИНСІ // int clockPin = A1; // сағаттық істікті анықтау int dataPin = A0; // деректер түйінін анықтау // VARIABLES // int red [numLeds]; // LED жасыл жолағының массивін инициализациялау жасыл [numLeds]; // LED көк жолағының массивін инициализациялау көк көк [numLeds]; // Жарықдиодты жолақтың массивін инициализациялау // СТАНТАНДЫ қос масштабтыA = {0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0,3, 0,2, 0,1}; // светодиодтар қарқындылығының үлесі void setup () {pinMode (clockPin, OUTPUT); pinMode (dataPin, OUTPUT); memset (қызыл, 0, numLeds); memset (жасыл, 0, numLeds); memset (көк, 0, numLeds); } void updateestestring (int redA [numLeds], int greenA [numLeds], int blueA [numLeds]) {for (int i = 0; i <numLeds; i ++) {shiftOut (dataPin, clockPin, MSBFIRST, redA ); shiftOut (dataPin, clockPin, MSBFIRST, greenA ); shiftOut (dataPin, clockPin, MSBFIRST, blueA ); }} void loop () {for (int p = 0; p <20; p ++) // күмбездің жарық қарқындылығын арттыруға арналған цикл {қос шкаласы = шкаласыA [p]; кешіктіру (20); үшін (int i = 0; i <numLeds; i ++) // барлық жарық диодтары арқылы өтетін цикл {red = 255 * шкаласы; жасыл = 80 * шкаласы; көк = 0; } жаңартулар (қызыл, жасыл, көк); // жарықдиодты жолақты жаңарту}}

7 -қадам: Датчиктерді орнату және енгізу

Датчикті бекіту және енгізу
Датчикті бекіту және енгізу
Сенсорлық қондырғының дизайны мен енгізілуі
Сенсорлық қондырғының дизайны мен енгізілуі
Сенсорлық қондырғының дизайны мен енгізілуі
Сенсорлық қондырғының дизайны мен енгізілуі

Мен күмбезге IR сенсорларын қолдануды шештім. Бұл сенсорларда инфрақызыл светодиод және қабылдағыш бар. Сенсордың алдына объект түскенде, ИҚ -диодты сәуленің кейбір сәулелері қабылдағышқа қарай шағылысады. Мен бұл жобаны Ричардовинаның нұсқауларына негізделген инфрақызыл сенсорларымды жасау арқылы бастадым. Барлық дәнекерлеу тым ұзаққа созылды, сондықтан мен eBay -ден 120 IR сенсорларын сатып алдым, олардың әрқайсысы цифрлық шығуды шығарады. Сенсордың табалдырығы тақтада потенциометрмен орнатылады, сондықтан қол үшбұрыштың жанында болғанда ғана шығыс жоғары болады.

Әр үшбұрыш жарықдиодты тақтайшаның фанерінен, жарық диодты пластинадан 2,5 см биіктікте орнатылған диффузиялық акрилден және ИҚ сенсорынан тұрады. Әр үшбұрыштың сенсоры күмбездегі орынға байланысты бесбұрыш немесе алтыбұрыш тәрізді жұқа фанер парағына орнатылды (жоғарыдағы суретті қараңыз). Мен инфрақызыл сенсорларды орнату үшін ИҚ сенсорының негізіне тесіктер бұрғыладым, содан кейін жер мен 5В түйреуіштерді сыммен және сымды орайтын құралмен (қызыл және қара сымдар) жалғадым. Жер мен 5В қосқаннан кейін күмбезден өту үшін әр шығысқа (сары), жерге және 5В ұзын сымды орайтын сымды орадым.

Содан кейін алтыбұрышты немесе бесбұрышты инфрақызыл сенсорлық қондырғылар күмбезге эпоксидтендірілген, 3D басып шығарылған қосқыштардың дәл үстінде, сым күмбезден өтуі үшін. Сенсорлардың коннекторлардың үстінде болуы мен сенсорлардың сезімталдығын басқаратын ИҚ сенсорларындағы потенциометрлерге қол жеткізе және реттей алдым. Келесі қадамда мен IR сенсорларының шығысы мультиплексорға қалай қосылатынын және Arduino -ға қалай оқылатынын сипаттаймын.

8 -қадам: сенсордың мультиплекстеу шығысы

Мультиплекстеу датчигінің шығысы
Мультиплекстеу датчигінің шығысы
Мультиплекстеу датчигінің шығысы
Мультиплекстеу датчигінің шығысы
Мультиплекстеу датчигінің шығысы
Мультиплекстеу датчигінің шығысы

Arduino Uno -да тек 14 цифрлық енгізу -шығару түйреуіші мен 6 аналогты кіріс түйреуіші болғандықтан және 120 сенсорлық сигналды оқу қажет болғандықтан, күмбез мультиплексорлардың барлық сигналдарды оқуын талап етеді. Мен 24 арналы бес мультиплексордың құрылысын таңдадым, олардың әрқайсысы 24 инфрақызыл сенсордан тұрады (электрониканың шолу суретін қараңыз). 24 арналы MUX 8 арналы MUX ажырату тақтасынан, 16 арналы MUX ажырату тақтасынан және 2 арналы MUX-тен тұрады. Іріктеуіш тақталар прототиптік тақтаға қосылуы үшін әр тақтаға дәнекерленген. Сымды орау құралын қолдана отырып, мен жерге, 5В және MUX ажырату тақталарының басқару сигналының түйреуіштерін қостым.

24 арналы MUX бес басқару сигналын қажет етеді, мен Arduino 8-12 түйреуішіне қосылуды таңдадым. Барлық 24 арналы MUX бірдей Arduino сигналын қабылдайды, сондықтан мен сымды Arduino түйреуіштерінен 24 каналды MUX-ке жалғадым. IR сенсорларының цифрлық шығысы 24 арналы MUX кіріс түйреуіштеріне қосылады, осылайша оларды Arduino-ға сериялық оқуға болады. 120 сенсордың барлық шығысында оқуға арналған бес бөлек түйреуіш бар болғандықтан, күмбезді 24 үшбұрыштан тұратын бес бөлек бөлікке бөлуді елестету пайдалы (суреттегі күмбездің түстерін тексеріңіз).

Arduino портының манипуляциясын қолдана отырып, сіз 8-12 түйреуіштер арқылы жіберілетін басқару сигналдарын мультиплексорларға жылдам көбейте аласыз. Мен мұнда мультиплексорларды пайдалану үшін кейбір мысал кодын қостым:

int numChannel = 24;

// ШЫҒУЛАР // int s0 = 8; // MUX басқару 0 - PORTbD int s1 = 9; // MUX басқару 1 - PORTb int s2 = 10; // MUX басқару 2 - PORTb int s3 = 11; // MUX басқару 3 - PORTb int s4 = 12; // MUX басқару 4 - PORTb // КІРІСТЕР // int m0 = 3; // MUX кірісі 0 int m1 = 4; // MUX кірісі 1 int m2 = 5; // MUX кірісі 2 int m3 = 6; // MUX кірісі 3 int m4 = 7; // MUX кірісі 4 // VARIABLES // int arr0r; // сандық оқу MUX0 int arr1r; // сандық оқу MUX1 int arr2r; // сандық оқу MUX2 int arr3r; // сандық оқу MUX3 int arr4r; // MUX4 void setup () сандық оқу () {// орнату кодын бір рет іске қосу үшін осында қойыңыз: DDRB = B11111111; // Arduino түйреуіштерін 8 -ден 13 -ке дейін pinMode (s0, OUTPUT) кірістері ретінде орнатады; pinMode (s1, OUTPUT); pinMode (s2, OUTPUT); pinMode (s3, OUTPUT); pinMode (s4, OUTPUT); pinMode (m0, INPUT); pinMode (m1, INPUT); pinMode (м2, КІРІС); pinMode (m3, INPUT); pinMode (m4, INPUT); } void loop () {// бірнеше рет іске қосу үшін негізгі кодты осында қойыңыз: PORTB = B00000000; // (int i = 0; i <numChannel; i ++) {// mUX0 - MUX4 цифрлық оқу шығысы үшін ИҚ сенсоры үшін SET басқару түйреуіштері // Егер IR сенсоры LO болса, үшбұрышқа ойыншы тиіп тұрады.. arr0r = digitalRead (m0); // Mux 0 -ден оқу, IR сенсор i arr1r = digitalRead (m1); // Mux 1, IR сенсорынан оқу i arr2r = digitalRead (m2); // Mux 2 -ден оқу, IR сенсор i arr3r = digitalRead (m3); // Mux 3, IR сенсорынан оқу i arr4r = digitalRead (m4); // Mux 4, IR сенсоры i -ден оқу // МҰНДА МУКС КІРІСТЕРМЕН ЖӘНЕ САҚТАУ МЕНЕН БІРДЕП ЖАСАҢЫЗ // ПОРТБ ++; // MUX үшін қадамдық бақылау сигналдары}}

9 -қадам: Жарықты акрилмен тарату

Акрилмен жарық тарату
Акрилмен жарық тарату
Акрилмен жарық тарату
Акрилмен жарық тарату
Акрилмен жарық тарату
Акрилмен жарық тарату

Жарықты светодиодтардан тарату үшін мен мөлдір акрилді дөңгелек орбиталық тегістегішпен сүртемін. Сандерді акрилдің екі жағына 8-суретпен жылжытыңыз. Мен бұл әдіс «аязды әйнек» спрей бояуына қарағанда әлдеқайда жақсы деп таптым.

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

10 -қадам: MIDI көмегімен күмбезбен музыка жасау

MIDI көмегімен күмбезбен музыка жасау
MIDI көмегімен күмбезбен музыка жасау
MIDI көмегімен күмбезбен музыка жасау
MIDI көмегімен күмбезбен музыка жасау
MIDI көмегімен күмбезбен музыка жасау
MIDI көмегімен күмбезбен музыка жасау

Мен күмбездің дыбыс шығаруға қабілетті болғанын қаладым, сондықтан күмбездің әр ішкі жиегіне бір MIDI бес арнасын қойдым. Алдымен сіз бес MIDI ұясын сатып алып, оны схемада көрсетілгендей қосуыңыз керек (қосымша ақпарат алу үшін Arduino қолдауының осы оқулығын қараңыз).

Arduino Uno-да бір ғана жіберуші сериялық түйреуіш бар болғандықтан (TX түйреуіші ретінде белгіленген 2-түйреуіш) бес MIDI ұясына жіберілетін сигналдарды мультиплекссіздендіру қажет. Мен бірдей басқару сигналдарын қолдандым (8-12 түйреуіш), себебі MIDI сигналдары IR сенсорлары Arduino-да оқылатын уақытқа қарағанда басқа уақытта жіберіледі. Бұл басқару сигналдары 8 каналды демультиплексорға жіберіледі, осылайша сіз қай MIDI ұясы Arduino жасаған MIDI сигналын қабылдайтынын басқарасыз. MIDI сигналдарын Arduino Франсуа Бест жасаған керемет MIDI сигналдар кітапханасымен жасады. Міне, әр түрлі MIDI ұяларына Arduino Uno көмегімен бірнеше MIDI шығысын шығаруға арналған мысал коды:

#include // MIDI кітапханасын қосады

#define numChannel 24 // Үшбұрыштағы ИҚ саны #бөлімдердің 5 бөлігін анықтаңыз // күмбездегі секциялар саны, 24 каналды MUX, MIDI ұяларының саны // OUTPUTS // int s0 = 8; // MUX басқару 0 - PORTbD int s1 = 9; // MUX басқару 1 - PORTb int s2 = 10; // MUX басқару 2 - PORTb int s3 = 11; // MUX басқару 3 - PORTb int s4 = 12; // MUX басқару 4 - PORTb // КІРІСТЕР // int m0 = 3; // MUX кірісі 0 int m1 = 4; // MUX кірісі 1 int m2 = 5; // MUX кірісі 2 int m3 = 6; // MUX кірісі 3 int m4 = 7; // MUX кірісі 4 // VARIABLES // int arr0r; // сандық оқу MUX0 int arr1r; // сандық оқу MUX1 int arr2r; // сандық оқу MUX2 int arr3r; // сандық оқу MUX3 int arr4r; // сандық оқу MUX4 int midArr [numSections]; // жазбаны int note2play [numSections] ойыншыларының бірі басқанын немесе баспағанын сақтау; // Ескертпені сенсорға тигізгенде ойнату үшін сақтаңыз [numChannel] = {60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83}; int pauseMidi = 4000; // MIDI_CREATE_DEFAULT_INSTANCE MIDI сигналдарының арасындағы кідіріс уақыты (); void setup () {// бір рет іске қосу үшін орнату кодын осында қойыңыз: DDRB = B11111111; // Arduino түйреуіштерін 8 -ден 13 -ке дейін MIDI.begin (MIDI_CHANNEL_OFF) кірістері ретінде орнатады; pinMode (s0, OUTPUT); pinMode (s1, OUTPUT); pinMode (s2, OUTPUT); pinMode (s3, OUTPUT); pinMode (s4, OUTPUT); pinMode (m0, INPUT); pinMode (m1, INPUT); pinMode (м2, КІРІС); pinMode (m3, INPUT); pinMode (m4, INPUT); } void loop () {// бірнеше рет іске қосу үшін негізгі кодты осында қойыңыз: PORTB = B00000000; // (int i = 0; i <numChannel; i ++) {// mUX0 - MUX4 цифрлық оқу шығысы үшін ИҚ сенсоры үшін SET басқару түйреуіштері // Егер IR сенсоры LO болса, үшбұрышқа ойыншы тиіп тұрады.. arr0r = digitalRead (m0); // Mux 0 -ден оқу, IR сенсор i arr1r = digitalRead (m1); // Mux 1, IR сенсорынан оқу i arr2r = digitalRead (m2); // Mux 2 -ден оқу, IR сенсор i arr3r = digitalRead (m3); // Mux 3, IR сенсорынан оқу i arr4r = digitalRead (m4); // Mux 4, IR сенсорынан оқу i (arr0r == 0) // 0 бөліміндегі сенсор бұғатталған {midArr [0] = 1; // 0 -ойыншы нотаға түсті, HI -ді 0 ойыншының MIDI шығысы болатындай етіп орнатыңыз note2play [0] = ноталар ; // 0 -ойыншыға ойнауға ескертпе} if (arr1r == 0) // 1 -бөлімдегі сенсор бұғатталған {midArr [1] = 1; // 0 -ойыншы нотаға түсті, HI -ді 0 ойыншының MIDI шығысы болатындай етіп орнатыңыз note2play [1] = ноталар ; // 0 -ойнатқыш үшін ойнауға ескертпе} if (arr2r == 0) // 2 -бөлімдегі сенсор бұғатталған {midArr [2] = 1; // 0 -ойыншы нотаға түсті, HI -ді 0 ойыншының MIDI шығысы болатындай етіп орнатыңыз note2play [2] = ноталар ; // 0 -ойнатқыш үшін ойнауға ескертпе} if (arr3r == 0) // 3 -бөлімдегі сенсор бұғатталған {midArr [3] = 1; // 0 -ойыншы нотаға түсті, HI -ді 0 ойыншының MIDI шығысы болатындай етіп орнатыңыз note2play [3] = ноталар ; // 0 -ойнатқыш үшін ойнауға ескертпе} if (arr4r == 0) // 4 -бөлімдегі сенсор бұғатталған {midArr [4] = 1; // 0 -ойыншы нотаға түсті, HI -ді 0 ойыншының MIDI шығысы болатындай етіп орнатыңыз note2play [4] = ноталар ; // 0 -ойыншы үшін ойнауға ескертпе} PORTB ++; // MUX} updateMIDI () үшін бақылау сигналдарын жоғарылату; } жарамсыз updateMIDI () {PORTB = B00000000; // mux low үшін SET басқару түйрегіштері if (midArr [0] == 1) // Player 0 MIDI шығысы {MIDI.sendNoteOn (note2play [0], 127, 1); кешіктіруМикросекундтар (pauseMidi); MIDI.sendNoteOff (note2play [0], 127, 1); кешіктіруМикросекундтар (pauseMidi); } PORTB ++; // ұлғайту MUX if (midArr [1] == 1) // 1 -ойыншы MIDI шығысы {MIDI.sendNoteOn (note2play [1], 127, 1); кешіктіруМикросекундтар (pauseMidi); MIDI.sendNoteOff (note2play [1], 127, 1); кешіктіруМикросекундтар (pauseMidi); } PORTB ++; // ұлғайту MUX if (midArr [2] == 1) // 2 -ойыншы MIDI шығысы {MIDI.sendNoteOn (note2play [2], 127, 1); кешіктіруМикросекундтар (pauseMidi); MIDI.sendNoteOff (note2play [2], 127, 1); кешіктіруМикросекундтар (pauseMidi); } PORTB ++; // ұлғайту MUX if (midArr [3] == 1) // 3 -ойыншы MIDI шығысы {MIDI.sendNoteOn (note2play [3], 127, 1); кешіктіруМикросекундтар (pauseMidi); MIDI.sendNoteOff (note2play [3], 127, 1); кешіктіруМикросекундтар (pauseMidi); } PORTB ++; // ұлғайту MUX if (midArr [4] == 1) // 4 -ойыншы MIDI шығысы {MIDI.sendNoteOn (note2play [4], 127, 1); кешігуМикросекундтар (pauseMidi); MIDI.sendNoteOff (note2play [4], 127, 1); кешіктіруМикросекундтар (pauseMidi); } midArr [0] = 0; midArr [1] = 0; midArr [2] = 0; midArr [3] = 0; midArr [4] = 0; }

11 -қадам: Күмбезді қуаттандыру

Күмбезді қуаттандыру
Күмбезді қуаттандыру
Күмбезді қуаттандыру
Күмбезді қуаттандыру
Күмбезді қуаттандыру
Күмбезді қуаттандыру
Күмбезді қуаттандыру
Күмбезді қуаттандыру

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

Жарық диодты жолақ: Мен Ws2801 жарық диодты жолағының шамамен 3,75 метрін қолдандым, ол 6,4 Вт/метрді тұтынады. Бұл 24 Вт (3.75*6.4) сәйкес келеді. Оны амперге айналдыру үшін Power = ток*вольтты пайдаланыңыз (P = iV), мұнда V - жарық диодты жолақтың кернеуі, бұл жағдайда 5В. Сондықтан светодиодтардан алынатын ток 4,8А (24Вт/5В = 4,8А).

IR сенсорлары: әрбір ИҚ сенсоры шамамен 25 мА құрайды, барлығы 120 датчик үшін 3А.

Arduino: 100мА, 9В

Мультиплексорлар: 24 арналы бес мультиплексор бар, олардың әрқайсысы 16 каналды мультиплексор мен 8 каналды мультиплексордан тұрады. 8 және 16 арналы MUX әрқайсысы шамамен 100 мА тұтынады. Сондықтан барлық MUX -тің жалпы тұтыну қуаты 1А құрайды.

Бұл компоненттерді қосқанда, жалпы энергия шығыны 9А шамасында болады деп күтілуде. Жарық диодты жолақта, ИҚ сенсорларында және мультиплексорларда кіріс кернеуі 5В, ал Arduino - 9В кіріс кернеуі бар. Сондықтан мен 12В 15А қуат көзін, 12В -ты 5В -қа түрлендіруге арналған 15А -дық түрлендіргішті және Arduino үшін 12В -ты 9В -қа түрлендіру үшін 3А -лық конвертерді таңдадым.

12 -қадам: Дөңгелек күмбез негізі

Дөңгелек күмбез негізі
Дөңгелек күмбез негізі
Дөңгелек күмбез негізі
Дөңгелек күмбез негізі
Дөңгелек күмбез негізі
Дөңгелек күмбез негізі

Күмбез электроникаға оңай қол жеткізу үшін ортасынан бесбұрышты кесілген дөңгелек ағаш бөлігіне сүйенеді. Бұл дөңгелек негізді жасау үшін ағаштан жасалған CNC маршрутизаторының көмегімен 4х6 дюймдік фанер парағы кесілді. Бұл қадам үшін джигсо қолданылуы мүмкін. Негіз кесілгеннен кейін күмбез оған 2х3 дюймдік кішкене ағаш блоктармен бекітілген.

Негіздің үстіне мен эпоксидті қуат көзін және ПХД ажыратқыштары бар MUX және Бак түрлендіргіштерін қостым. Аралықтар фанераға E-Z Lok жіп адаптерлерінің көмегімен бекітілген.

13 -қадам: Пентагон күмбез базасы

Пентагон күмбез базасы
Пентагон күмбез базасы
Пентагон күмбез базасы
Пентагон күмбез базасы
Пентагон күмбез базасы
Пентагон күмбез базасы

Дөңгелек негізден басқа мен күмбезге арналған бесбұрышты негіз жасадым, оның төменгі жағында терезесі бар. Бұл негіз мен көрінетін терезе ағаштан жасалған CNC маршрутизаторы бар фанерден жасалған. Бесбұрыштың бүйірлері ағаш тақтайшалардан жасалған, бір жағында коннекторлар өтетін тесік бар. Металл кронштейндер мен 2х3 блоктық қосылыстардың көмегімен ағаш тақталар бесбұрышты негізге бекітіледі. Қуат қосқышы, MIDI қосқыштары мен USB қосқышы лазерлік кескішпен жасалған алдыңғы панельге бекітілген. Бес бұрышты негіз 12 -қадамда сипатталған дөңгелек негізге бұралған.

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

14 -қадам: Күмбезді бағдарламалау

Күмбезді бағдарламалаудың шексіз мүмкіндіктері бар. Кодтың әр циклі инфрақызыл сенсорлардың сигналдарын қабылдайды, олар біреу тиген үшбұрыштарды көрсетеді. Бұл ақпаратпен сіз күмбезді кез келген RGB түсімен бояй аласыз және/немесе MIDI сигналын шығара аласыз. Міне, күмбезге жазған бағдарламалардың бірнеше мысалдары:

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

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

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

Понг: Неге күмбезде понг ойнауға болмайды? Доп қалақшаға жеткенше күмбез бойымен таралады. Бұл кезде қалақтың допқа тигенін көрсететін MIDI сигналы шығарылады. Басқа ойыншы қалақты күмбездің түбіне қарай бағыттауы керек, ол допқа кері тиеді.

15 -қадам: Аяқталған күмбездің суреттері

Аяқталған күмбездің суреттері
Аяқталған күмбездің суреттері
Аяқталған күмбездің суреттері
Аяқталған күмбездің суреттері
Аяқталған күмбездің суреттері
Аяқталған күмбездің суреттері
Аяқталған күмбездің суреттері
Аяқталған күмбездің суреттері
Arduino байқауы 2016 ж
Arduino байқауы 2016 ж
Arduino байқауы 2016 ж
Arduino байқауы 2016 ж

2016 жылғы Arduino байқауының бас жүлдесі

Ремикс байқауы 2016 ж
Ремикс байқауы 2016 ж
Ремикс байқауы 2016 ж
Ремикс байқауы 2016 ж

Ремикс байқауының екінші жүлдесі 2016 ж

Оны жарқыраған 2016 байқауына айналдырыңыз
Оны жарқыраған 2016 байқауына айналдырыңыз
Оны жарқыраған 2016 байқауына айналдырыңыз
Оны жарқыраған 2016 байқауына айналдырыңыз

2016 ж. Оны жарқырату байқауының екінші жүлдесі

Ұсынылған: