Съдържание:

Arduino Infinity Mirror (Bluetooth & Sound Reactive): 9 стъпки (със снимки)
Arduino Infinity Mirror (Bluetooth & Sound Reactive): 9 стъпки (със снимки)

Видео: Arduino Infinity Mirror (Bluetooth & Sound Reactive): 9 стъпки (със снимки)

Видео: Arduino Infinity Mirror (Bluetooth & Sound Reactive): 9 стъпки (със снимки)
Видео: Infinity Mirror (Easy DIY Arduino LEDs) 2024, Юли
Anonim
Image
Image
Arduino Infinity Mirror (Bluetooth и звук реактивен)
Arduino Infinity Mirror (Bluetooth и звук реактивен)
Arduino Infinity Mirror (Bluetooth и звук реактивен)
Arduino Infinity Mirror (Bluetooth и звук реактивен)

Създадох Infinity Mirror за училищен проект с Arduino, който можете да контролирате с телефона или таблета си чрез Bluetooth. Огледалото също има вграден микрофон, който разпознава звук/музика и реагира съответно, като генерира привличащи вниманието светлинни струни в ритъма на музиката! Просто стартирайте приложението, свържете се с Bluetooth и вижте как се случва магията!

В тази инструкция ще ви покажа как можете да направите това огледало за безкрайност. Така че нека започнем!

Стъпка 1: Съберете материали

Съберете материали
Съберете материали

За да направите това безкрайно огледало, ще ви трябват следните материали:

1) Arduino Uno ($ 30)

Можете също да използвате различен тип Arduino, но това зависи изцяло от вас.

2) Мини платка или печатна платка ($ 5)

Използвах макета за прототипиране и по -късно запоех всичко на перфорирана дъска/лента.

3) WS2813 Цифрова 5050 RGB LED лента - 144 светодиода (1 метър) ($ 25)

Можете също да използвате различна LED лента, но се уверете, че всички светодиоди са индивидуално адресирани. Уверете се също, че LED лентата дава "допълнително" 5V напрежение за всеки метър светодиоди. Това е така, защото напрежението пада върху лентата и токът в началото може да се увеличи значително. (и може би изгорете началото на вашата LED лента!) Можете да прочетете повече за това тук: Захранване на неопиксели.

4) Прототипни проводници ($ 3)

Цветовете нямат значение като цяло, но е много полезно да ги имате като ориентир за себе си. Използвах бяло, черно, червено, зелено, жълто, оранжево и синьо.

5) USB A към B кабел ($ 4)

Това ще се използва за качване на вашия Arduino код на дъската Arduino Uno.

6) Захранване със средно ниво на превключване - 5V 10A ($ 15)

Това ще се използва за поддържане на LED лентата с външно 5V напрежение, тъй като самият Arduino не е достатъчно мощен, за да запали всички светодиоди. Можете също така да изберете захранване за адаптер за стена, но се уверете, че работи на 5V.

7) 230V захранващ кабел с щепсел ($ 3)

Това ще се използва за свързване на импулсното захранване към 230V електрически контакт. В зависимост от това къде живеете, количеството напрежение от контакта може да варира. Във всеки случай ще ви е необходим подходящ кабел с щепсел.

8) Bluetooth HC-06 модул RF трансивър Слейв 4-ПИН ($ 8)

Този модул ще се използва за изпращане на данни от вашия телефон или таблет към Arduino. Този Bluetooth модул може да служи само като подчинен. Стандартният Bluetooth пин / парола е 1234.

9) Модул на сензора за откриване на звук 3-ПИН ($ 3)

Този модул ще се използва за откриване на звук, тъй като има вграден микрофон. Настройте потенциометъра за желаното количество звук, при което се генерира сигнал. Можете също да използвате различен звуков сензор, но това зависи от вас.

10) 220 Ω резистор ($ 0,25)

Това ще се използва за управление на напреженията на светодиодите. Ако не използвате това, светодиодите в крайна сметка ще се нагреят наистина. Резисторът 220Ω има червени, червени и кафяви ивици в този ред. Последната ивица представлява толерантността. Златото означава ± 5%. Повече информация тук: 220 ома резистор.

11) 1000uF 16V електролитен кондензатор ($ 0,25)

Това ще се използва за добавяне и съхраняване на капацитет (енергия) към вашата верига. Повече информация тук: Електролитични кондензатори.

Кутия и огледало:

Това са материалите и размерите, които използвах за създаването на моята кутия. Можете също така да изберете да купите рамка или предварително направена кутия, която е достатъчно голяма, за да побере еднопосочно отразяващо огледало, нормално огледало, светодиоди и електроника. Препоръчвам само да го изградите, ако имате правилните инструменти и материали.

12) Стъкло 25 х 25 см (дебелина 3 мм) ($ 5)

Стъклото ще се използва като еднопосочно отразяващо огледало, за което ще ви е необходимо еднопосочното огледално фолио (вижте 13). Можете също така да изберете да купите еднопосочно огледало/полупрозрачно огледало, което е достатъчно голямо, за да се побере във вашата кутия. Можете сами да режете стъкло с резачка за стъкло (вижте 22), но по -скоро препоръчвам да се консултирате със специалисти, които да направят това вместо вас или дори по -добре просто да си купите стъкло с правилните размери.

13) Оцветено еднопосочно огледално фолио за прозорци 30 x 30 cm ($ 5)

За да копирате еднопосочно огледало, ще ви трябват стъкло и ролка оцветено еднопосочно огледално фолио, което ще се нанесе върху стъклото с вода и сапун (вж. 29). Причината, поради която е малко по -голяма от стъклото, е, че с времето ще се свие. Ако решите да купите еднопосочно огледало, както е споменато по-горе, тогава няма да имате нужда от това.

14) Огледало 25 х 25 см (дебелина 3 мм) ($ 5)

Просто нормално огледало, като това, което имате в банята. Това ще се използва, заедно с еднопосочното огледало, за създаване на ефекта "безкрайност".

15) 2x дебела дървена планка 25 x 10 x 2 см ($ 2)

Две дървени летви за горната и долната част на кутията.

16) 2x дебела дървена планка 27 x 10 x 2 см ($ 2)

Две дървени летви за дясната и лявата страна на кутията.

17) 2x тънка дървена планка 25 x 2,5 x 0,5 cm ($ 1)

Две дървени летви за горната и долната част на вътрешността на кутията (върху които ще лежат огледалата и върху които са залепени светодиодите).

18) 2x тънка дървена планка 24 x 2,5 x 0,5 cm ($ 1)

Две дървени летви за дясната и лявата страна на вътрешността на кутията (върху които ще лежат огледалата и върху които са залепени светодиодите).

19) Черна кутия за боя/спрей

Използвах това, за да нарисувам кутията си в черно, за да се слее повече с тъмната тема.

Инструменти:

Това са инструментите, които ще ви трябват, за да създадете кутията, както и огледалото:

20) Измервателна лента ($ 3)

Използва се за измерване на вашата кутия, разбира се. Повече информация тук: Как да прочетете измервателна лента.

21) Измервателен квадрат ($ 5)

Използва се и за измерване на вашата кутия/материали. Не е задължително, но може да бъде много полезно.

22) Фреза за тел/стриптизьор ($ 5)

Използва се за сваляне и изрязване на проводниците. Като алтернатива можете да използвате и кухненски нож или нож Stanley. Повече информация тук: Как да премахнете проводника.

23) Фреза за стъкло ($ 5)

Използва се за рязане на стъкла и огледала. Като алтернатива можете да използвате диамант, но аз не го препоръчвам. Повече информация тук: Как да режете витражи.

24) отвертка/бормашина ($ 2)

Използва се за забиване на винтове и пробиване на отвори. Повече информация тук: Как да управлявате дървен винт.

25) Чук ($ 5)

Използва се за забиване на пирони. Повече информация тук: Как да използвате безопасно чука.

26) Лепило за дърво ($ 5)

Ако винтовете или пироните не са достатъчно добри, можете също да нанесете малко лепило за дърво, за да държите частите заедно. Повече информация тук: Как да залепите дърво заедно.

27) Трион ($ 5)

Използва се за рязане на дърва. Повече информация тук: Как да режете дърва с ръчен трион.

28) Нокти ($ 3)

Използва се за поддържане на части заедно, в нашия случай за постоянно.

29) Винтове ($ 3)

Използва се и за поддържане на части заедно, но с помощта на винтове вместо пирони можете лесно да изключите частите, ако е необходимо.

30) Вода и сапун

Използва се за нанасяне на тонирано еднопосочно огледално фолио върху стъклото. И също така се използва за почистване на безкрайното огледало. Ако искате да знаете как да инсталирате фолиото за прозорци, можете да следвате този урок: Как да инсталирате филм за прозорец.

31) Шкурка ($ 1)

Използва се за подобряване на острите ръбове на стъклото и дървото.

Инструменти за запояване (по избор):

32) Поялник ($ 15)

По избор, ако решите да запоите всичко заедно, вместо да го оставите на макета. Ако искате да знаете как да запоявате, можете да следвате този урок: Как да запоявате електроника.

33) Калай за запояване 0,6 мм - 100 г ($ 5,50)

Използва се за запояване на проводниците заедно.

34) Тел за разпаяване - 1 мм 1,5 м (1,50 долара)

Използва се за разпаяване на проводниците, в случай че сте направили грешка случайно.

35) Термосвиващи се тръби ($ 2)

Използва се за безопасно поддържане на споени проводници заедно.

36) 1x 3 ПИН заглавка женски ($ 0,10)

Всъщност не се изисква, но може да бъде полезно, ако не искате директно да запоявате сензора за откриване на звук към проводниците.

37) 1x 4 Pins header female ($ 0,10)

Всъщност не е задължително, но може да бъде полезно, ако не искате директно да запоявате Bluetooth модула към проводниците.

Стъпка 2: Връзки с макета

Image
Image
Връзки на платка
Връзки на платка
Връзки на платка
Връзки на платка

След като сте събрали материалите, е време да направите първия си прототип, като използвате макет. Планът има общо четири колони. Първите две и последните две сини и червени колони споделят връзка вертикално, представляваща +5V (червено) и заземяване/GND (синьо) връзки. Двете колони в средата са мястото, където ще бъдат поставени основните ви компоненти. Можете да научите повече за макетите тук.

И така, това, което искате да направите, е да свържете вашия Arduino към основната платка, като използвате някои прототипни проводници. Както споменах по -рано, цветовете нямат значение, но те са полезна справка за вас самите. Например, използвах червените проводници за представяне на +5V и белите проводници за представяне на GND. Също така няма значение къде поставяте щифтовете си, стига те да останат в една и съща верига.

След това искате да свържете вашата LED лента към дъската. Ще забележите, че има 3-6 проводника в зависимост от типа, който имате. Бялото представлява GND/мин вход, червеното представлява +5V вход, зеленото представлява ПИН за въвеждане на данни и синьото представлява резервния ПИН код за въвеждане на данни (не се свързвайте, освен ако светодиодът не е свързан). Включете външното 5V захранване и го свържете към LED лентата. Не забравяйте също да свържете резистора и кондензатора, както е показано на снимката по -горе, в противен случай може да изгорите светодиодите си!

И накрая, искате да свържете вашия Bluetooth модул и сензор за откриване на звук към дъската. Назначете сензора за откриване на звук към щифт A0 (аналогов). Що се отнася до Bluetooth модула, ще забележите, че той има един RXD и един TXD щифт. Те са за изпращане и приемане на сигнали. ЗАБЕЛЕЖКА: свържете TXD щифта на модула към RXD щифта на Arduino и RXD щифта на модула към TXD щифта на Arduino. Не към същите щифтове!

Стъпка 3: Кодирайте Arduino

Кодирайте Arduino
Кодирайте Arduino

Така че следващата стъпка е да кодирате Arduino. За да направите това, ще ви е необходим софтуерът IDE на Arduino, който можете да изтеглите тук. След като изтеглите IDE, отворете нов документ и копирайте и поставете следния код в прозореца на проекта:

#включва

// Игли, които са свързани към Arduino

const int ПИН = 6; // Входният щифт на LED лентата int NUMPIXELS = 144; // Броят на пикселите, които ще светнат const int SOUNDSENSOR = A0; // Входният щифт на звуковия сензор

int ButtonState = 0; // Състояние, което е присвоено на бутон в приложението bluetooth

int обем = 0; // Състояние, което проверява дали има сигнал в микрофона или не

// Цветни променливи

логическо PrimBlue = false; логическо PrimGreen = false; логическо PrimRed = false; логическо PrimWhite = невярно; булев PrimYellow = false; булов PrimOrange = false; логическо PrimPink = false; логическо PrimPurple = false;

// Светлинни и звукови променливи

логическо SoundDetect = невярно; логическо FullLight = false;

Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup () {

pinMode (SOUNDSENSOR, INPUT); // Въвеждане на pinMode на сензора за звук (PIN, OUTPUT); // Вход на LED лентата

Serial.begin (9600);

strip.setPixelColor (0, 0, 0, 0); strip.setBrightness (0); strip.begin (); // Това инициализира библиотеката NeoPixel strip.show ();

}

void loop () {

// Определяме размера на яркостта според яркостта на байта на плъзгача = analogRead (A0)/4; Serial.println (яркост); if (Serial.available ()> 0) {ButtonState = Serial.read (); }

// Активиране или деактивиране на LED и Sound Detection

if (FullLight == 1 && SoundDetect == 0) {strip.setBrightness (ButtonState); strip.show (); } иначе ако (FullLight == 0 && SoundDetect == 0) {strip.setBrightness (0); strip.show (); } иначе ако (FullLight == 0 && SoundDetect == 1) {strip.setBrightness (яркост); strip.show (); } иначе ако (FullLight == 1 && SoundDetect == 1) {strip.setBrightness (0); strip.show (); }

////////////////////////////// LED превключвател ////////////////////////// ////

if (ButtonState == 'a') {primaryColors (); FullLight = 1; SoundDetect = 0; }

if (ButtonState == 'b') {

FullLight = 0; SoundDetect = 0; }

//////////////////////////// Превключвател за откриване на звук /////////////////////// /////

if (ButtonState == 'c') {primaryColors (); SoundDetect = 1; FullLight = 0; }

if (ButtonState == 'd') {

SoundDetect = 0; FullLight = 0; }

////////////////////////////// Основни цветове //////////////////////// ////

if (ButtonState == '1') {primaryColors (); PrimBlue = 0; PrimGreen = 0; PrimRed = 1; PrimWhite = 0; PrimYellow = 0; PrimOrange = 0; PrimPink = 0; PrimPurple = 0; }

if (ButtonState == '2') {

primaryColors (); PrimGreen = 1; PrimBlue = 0; PrimRed = 0; PrimWhite = 0; PrimYellow = 0; PrimOrange = 0; PrimPink = 0; PrimPurple = 0; }

if (ButtonState == '3') {

primaryColors (); PrimRed = 0; PrimBlue = 1; PrimGreen = 0; PrimWhite = 0; PrimYellow = 0; PrimOrange = 0; PrimPink = 0; PrimPurple = 0; } if (ButtonState == '4') {primaryColors (); PrimRed = 0; PrimBlue = 0; PrimGreen = 0; PrimWhite = 1; PrimYellow = 0; PrimOrange = 0; PrimPink = 0; PrimPurple = 0; } if (ButtonState == '5') {primaryColors (); PrimRed = 0; PrimBlue = 0; PrimGreen = 0; PrimWhite = 0; PrimYellow = 1; PrimOrange = 0; PrimPink = 0; PrimPurple = 0; } if (ButtonState == '6') {primaryColors (); PrimRed = 0; PrimBlue = 0; PrimGreen = 0; PrimWhite = 0; PrimYellow = 0; PrimOrange = 1; PrimPink = 0; PrimPurple = 0; } if (ButtonState == '7') {primaryColors (); PrimRed = 0; PrimBlue = 0; PrimGreen = 0; PrimWhite = 0; PrimYellow = 0; PrimOrange = 0; PrimPink = 1; PrimPurple = 0; } if (ButtonState == '8') {primaryColors (); PrimRed = 0; PrimBlue = 0; PrimGreen = 0; PrimWhite = 0; PrimYellow = 0; PrimOrange = 0; PrimPink = 0; PrimPurple = 1; }}

void primaryColors () {

for (int i = 0; i <NUMPIXELS; i ++) {if (PrimBlue == 1) {strip.setPixelColor (i, 0, 0, 255); } else if (PrimGreen == 1) {strip.setPixelColor (i, 0, 255, 0); } else if (PrimRed == 1) {strip.setPixelColor (i, 255, 0, 0); } иначе ако (PrimWhite == 1) {strip.setPixelColor (i, 255, 255, 255); } иначе ако (PrimYellow == 1) {strip.setPixelColor (i, 255, 255, 0); } else if (PrimOrange == 1) {strip.setPixelColor (i, 255, 102, 0); } иначе ако (PrimPink == 1) {strip.setPixelColor (i, 255, 0, 255); } иначе ако (PrimPurple == 1) {strip.setPixelColor (i, 102, 0, 204); } else {strip.setPixelColor (i, 255, 255, 255); }} strip.show (); }

Ако ви помоли да инсталирате библиотеката Adafruit NeoPixel, направете това, като отидете на Sketch> Import Library> Adafruit NeoPixel.

Стъпка 4: Създайте приложението Bluetooth

Image
Image
Изградете кутията
Изградете кутията

Сега нека преминем в интересната част, изграждайки вашето приложение! Реших да използвам софтуер на трета страна, наречен MIT App Inventor 2, за да направя това. Ако искате да изтеглите файловете на проекта (.aia) и да направите промени в приложението, можете да го изтеглите по -долу. Но можете също да изтеглите самото приложение (.apk) веднага, без да се налага да кодирате нищо. Трябва само да го инсталирате на вашето устройство.

Стъпка 5: Изградете кутията

Изградете кутията
Изградете кутията
Изградете кутията
Изградете кутията
Изградете кутията
Изградете кутията

В тази стъпка ще изградим кутията/рамката за огледалото за безкрайност.

Външната рамка

Първо изрежете дебелата летва за външната рамка (вижте снимките по -горе). Ще ви трябват две парчета с дължина 27 см (за горната и долната част) и две парчета с дължина 25 см (за лявата и дясната страна). Сега ги приковайте заедно, като забиете пирони до ъглите на кутията (по 4 от всяка страна), но се уверете, че ръбовете ще пасват идеално. Можете също да изберете да ги залепите, но това зависи от вас.

Вътрешната рамка

След това изрежете тънката летва за вътрешната рамка (вижте отново снимките по -горе). Ще ви трябват две парчета с дължина 25 см (за горната и долната част) и две парчета с дължина 24 см (за лявата и дясната страна). Сега искате да ги забиете на около 0,5 см под горната част на външната рамка, като използвате 2 пирона за всяка страна. Тук също нанесох малко лепило за дърво, за да ги направя по -здрави. ЗАБЕЛЕЖКА: уверете се, че еднопосочното огледало пасва перфектно в рамката!

Пробиване на отвора на микрофона

Тъй като микрофонът е чувствителен обект, той трябва да е свободен от покритие. Затова пробих дупка в горната част на рамката, от която ще стърчи главата на микрофона. Не правете дупката твърде голяма, защото не искате микрофонът ви напълно да изпадне от рамката.

Рисуване на вашата рамка

Реших да нарисувам рамката си почти в матово черно, за да й придам някакъв тъмен, мистериозен ефект. Ако и вие решите да го боядисвате, уверете се, че по рамката няма останали дебели петна от боя. За да предотвратите това, трябва внимателно да нарисувате рамката с малка до средна четка. Освен това можете да го нарисувате за втори път, ако не е достатъчно покрит. Оставете да изсъхне за около ден.

Стъпка 6: Запоявайте електрониката към печатна платка

Image
Image
Запоявайте електрониката към печатна платка
Запоявайте електрониката към печатна платка
Запоявайте електрониката към печатна платка
Запоявайте електрониката към печатна платка

В тази стъпка ще запояваме електрониката към печатна платка, която по -късно ще инсталираме на гърба на огледалото. Запояването не е задължително, но горещо препоръчвам да го направите, за да поддържате електрониката на място. Запоявах всичко стъпка по стъпка на "компонент" към мрежата, за да предотвратя всякакви грешки. Така че първо запоявах звуковия модул към платката, след това Bluetooth модула и накрая LED лентите. Препоръчвам да оставите празно пространство между компонентите, на които не е позволено да се допират директно един към друг, като например входните проводници +5V и входните проводници GND (вижте снимките по -горе).

След като компонентите ви са запоени на дъската, започнете да правите мостови връзки, като нанесете малко калай между компонентите под дъската. Като алтернатива можете да отстраните някои проводници и да ги запоите към компонентите, за да направите мостова връзка.

Сега искате да тествате веригата, като просто свържете проводниците към Arduino. Уверете се, че сте включили и захранването! Ако светодиодите се включат успешно, значи браво! Ако обаче не се включат, може да искате да проверите отново веригата и да потърсите дефектни връзки.

Стъпка 7: Инсталирайте електрониката отзад

Инсталирайте електрониката на гърба
Инсталирайте електрониката на гърба

Следващата стъпка е да инсталирате електрониката върху парче дърво, което също ще използваме за задната част на огледалото. Прикрепих електрониката към платката с няколко винта и залепих два блока от дясната и лявата страна на гърба, които се използват за завинтване на гърба на кутията към самата кутия.

Стъпка 8: Сглобете огледалата с кутията

Сглобете огледалата с кутията
Сглобете огледалата с кутията
Сглобете огледалата с кутията
Сглобете огледалата с кутията
Сглобете огледалата с кутията
Сглобете огледалата с кутията

Сега е време да сглобите огледалата, да залепите светодиодите към рамката и да поставите сензора за откриване на звук на място.

Еднопосочно огледало

Еднопосочното огледало ще бъде поставено върху самата рамка, с оцветената страна обърната надолу към огледалото и светодиодите. За да направите това огледало сами, ще ви трябват стъклената плоча и тонираното фолио за прозорци. Първо изрежете прозоречното фолио с правилния размер, но оставете около 2-5 см допълнително пространство от всяка страна. След това искате да почистите напълно прозореца и да премахнете всички остатъци прах. След това покрийте прозореца с малко вода и сапун и внимателно отстранете пластмасата от прозоречното фолио (можете да поставите лента от всяка страна, за да я премахнете лесно). Сега вие също искате да покриете лепкавата страна на фолиото за прозорци с вода и сапун, за да предотвратите залепването му. Всичко, което трябва да направите сега, е да го поставите върху стъклото и плътно да го пометете (вижте горните снимки). Оставете да изсъхне за около един ден и отстранете останалия прозоречен филм.

Залепете светодиодите към кутията

Следващата стъпка е да залепите светодиодите към кутията, което може да стане, като премахнете лепкава хартия. Препоръчвам също да нанесете малко бързо лепило на гърба на лентата, за да предотвратите отделянето й.

Поставете огледалата и завършете

Последната стъпка е да поставите еднопосочното и нормалното огледало на място. Нормалното огледало отива зад LED лентата, а еднопосочното огледало отива отпред. Залепете ги на място с бързо лепило и завийте задната плоча с електрониката към гърба на кутията. Поставете сензора за откриване на звук, свържете всички проводници и ето, готово!

Стъпка 9: Тествайте огледалото си за безкрайност

Всичко, което трябва да направите сега, е да проверите дали всичко работи. И това е! Сега сте изградили свое собствено Bluetooth контролируемо и звуково реактивно огледало за безкрайност!:Д

Не се колебайте да попитате в секцията за коментари, ако имате въпроси.

Благодаря ви и се забавлявайте!

Препоръчано: