Съдържание:
- Стъпка 1: Дизайн в Illustrator
- Стъпка 2: Лазерно рязане
- Стъпка 3: Боядисване
- Стъпка 4: Акрилни парчета и акрилни подсветки
- Стъпка 5: Останалата част от електрониката
- Стъпка 6: Преглед на програмирането
- Стъпка 7: Съвети за програмиране
- Стъпка 8: Краен продукт
Видео: Нискополиран железен човек с Wi-Fi контролирани LED ленти: 8 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Това интерактивно произведение на стената е приблизително 39 "високо и 24" широко. Лазерно изрязах дървото в Студентското пространство за създаване на университета в Клемсън, след това нарисувах ръчно всички триъгълници и монтирах лампите на гърба му. Тази инструкция ще разгледа как съм направил точно това произведение, надявам се концепцията му да вдъхнови някой друг да направи свое собствено уникално произведение на изкуството. Той използва микроконтролер ESP8266 с адресируеми WS2812B LED ленти и обикновени RGB LED ленти.
Части и материали
- 1/4 "дърво - 40" на 28 "(Максимални размери за нашата лазерна фреза)
- 1/8 "непрозрачен акрил - TAPPlastics (използвам Lighting White, 69%)
- Батерия - TalentCell 12V/5V батерия (използвах 12V/6000mAh)
- RGB LED лента - 6 фута (стандартна 4 жица, версията 5050, където RGB светлината е в един модул)
- TIP122 транзистор за ШИМ управление на много светлини
- WS2812B LED лента - 2 фута иш (използвах версията с 144 светодиода на метър)
- ESP8266 NodeMCU микроконтролер
- Съединителен проводник с твърдо ядро 22 габарит (връзка1 - връзка2 - връзка3 - връзка4)
- Около 300 ома резистори
- Четки за рисуване
- Боя - използвах предимно боя Craft Premium. Подробности в етапа на боядисване
Инструменти
- Достъп до лазерен нож (използвах такъв в Клемсън)
- Поялник
- Пистолет за горещо лепило (това е от съществено значение)
- Резачки/стрипери за тел
- Adobe Illustrator
- Търпение
Стъпка 1: Дизайн в Illustrator
Изходното изображение е илюстрация на Уилям Тийл, моля, разгледайте неговото портфолио за други негови велики произведения: https://www.behance.net/tealeo93 (мисля, че е негово - проследих заешката дупка на GoogleImages, Pinterest, GraphicDesignJunction, Behance)
Открих изходното изображение от търсене в Google за „Low-Poly Iron Man“или „Geometric Iron Man Wallpaper“. Изтеглих снимката и я отворих в Adobe Illustrator.
След това използвах инструмента за писалка в Illustrator, за да рисувам ръчно над всяка линия в изображението. Направих това, за да може лазерният нож да гравира всички вътрешни линии като векторно изрязване, зададено на ниска мощност, вместо да се налага да растрира цялото изображение. Това отне няколко часа, за да се направи (известен също като около 3 часове в училище)
След като картината беше изцяло очертана, групирах всички тези линии заедно и след това нарисувах фигури за ръцете, гърдите и очите. Сложих всичко това в група и зададох цвета им на запълване да е син, за да мога лесно да ги различа. Копирах ги в отделен файл за акрилното изрязване.
За акрилната част исках да увелича максимално ефективността на моето акрилно парче, затова го качих на този уебсайт https://svgnest.com/ и качих файл само с нарязани на акрил парчета и го оставих да „гнездо“частите. Това използва някои итерации и готини алгоритми, за да определи най -ефективното оформление на вашите части на листа, за да сведе до минимум отпадъците. Той извежда конфигурацията, която е във файла IronManAcrylic.ai.
Стъпка 2: Лазерно рязане
Преди да отрежа дървото, го напръсках с грунд и след това леко го шлайфах, за да започне гладко. Направих това, за да може по -късно боята да излезе по -равномерно.
Когато изрязах контура през дървото, използвах 100% мощност и 6% скорост (мисля) на нашия 60W Epilog Fusion M2 40 в Clemson Makerspace. Това работеше в по -голямата част от него, но дървото беше много изкривено в ъгъл, така че всъщност трябваше да префокусирам лазера за този ъгъл и да пусна отново тази част от среза.
Тъй като също нарисувах линии за всички вътрешни триъгълници, успях също да използвам векторно изрязване, за да издълбая бързо всички тези линии, както е показано във видеото по -горе. Това беше значително по -бързо, отколкото би било при растровото ецване на файла. Мисля, че използвах 70% скорост и 50% мощност - все пак просто ще трябва да експериментирате.
1/8 акрил, който първо отрязах със 100% мощност и 8% скорост, което беше малко прекалено мощно и остави някакви изгарящи следи върху незащитения акрил, така че тогава го направих с 14% скорост и той работи като чар.
Стъпка 3: Боядисване
Така. Много. Живопис. Предполагам, че рисуването е било около 20 часа.
Ако мислите да направите проект с толкова много триъгълници като този, моля, не го рисувайте сами. Просто плащайте, за да отпечатате изображението върху метал или дърво и след това да го изрежете или да го отпечатате върху нещо друго и да залепите това парче върху нещо твърдо. Просто не го рисувайте сами, освен ако не обичате да рисувате.
Използвах лентата за художници FrogTape, за да очертая всеки триъгълник върху парчето, докато рисувах това. Това ми даде много по -последователни резултати от ранните ми опити да попълня всеки триъгълник на ръка без граници на лентата.
FrogTape дава линии, които са много по -отчетливи от лентата на белите или сините художници. Вашето време и здрав разум напълно си заслужават допълнителните $ 2/ролка лента. Ако искате да е по -слаба, можете да използвате точен нож, за да нарежете горните няколко слоя лента на още по -малки ленти, така че когато очертаете един триъгълник, той да не покрива толкова много съседни триъгълници.
Аз съм евтин и нямам много опит с рисуването, затова използвах 2 унции бутилки боя от Michael's или Hobby Lobby. Открих, че линията Craft Smart Premium покрива доста добре и в крайна сметка използва CraftSmart Premium Metallic Festive Red боя, смесена с бяло или черно, за да направи 95% от червените ми нюанси. Жълтото беше само премиум жълтото Craft Smart, с малко злато, което се опитваше да го направи леко блестящо.
Ако знаете за евтина боя, която покрива по -добре - моля, уведомете ме в коментарите !! Често се налагаше да нанасям два слоя боя, така че никое от бялото по -долу да не прониква и бих искал да имам по -хубава боя, която да избегне това.
След като всичко беше боядисано (но преди да залепя акрилните парчета) използвах лъскав прозрачен спрей, за да защитя боята и да я направя блестяща.
Стъпка 4: Акрилни парчета и акрилни подсветки
Закрепването на акрилните парчета беше малко предизвикателство, тъй като работната ми маса/бюрото и парчето дърво са леко изкривени, така че нямаше начин да гарантирам, че всичко ще остане достатъчно дълго, за да залепи епоксидната ми смола. Като заобиколно решение притиснах дървото до масата близо до акрилното парче, в което лепех, и първо използвах горещо лепило, за да задържа всяко акрилно парче на място. Горещото лепило се вижда от предната страна на акрила, така че след това използвах Gorilla Glue двукомпонентна епоксидна смола, нанесена с клечка за зъби, за да задържа трайно акрилните парчета на място. Върнах се с малки клещи и извадих оригиналните парчета горещо лепило.
Направих отделен светлинен модул за всяко акрилно парче. Първо изрязах парче от 1/4 черна дъска от пяна до размер малко по -голям от необходимото и нарисувах контур на акрилното парче върху него. След това изрязах и залепих LED лентите за това парче по начин, който покриваше най -вече акрила ■ площ.
Тази стъпка би била по -добре да се направи с прототипираща платка и някои винтови клеми, но нямах такива под ръка, когато бях готов да започна да я свързвам. Като заобиколно решение изрязах някои ленти за женски заглавки на 4 входа - заземяване, 5V вход, данни, изход. Залепих горещо женската лента за заглавки към дъската от пяна и започнах да запоявам всички светлини заедно.
Запояването всъщност беше наистина предизвикателно поради това колко малки бяха тези подложки за запояване. За щастие имах два шанса за всички подложки за захранване и заземяване, тъй като всяка лента може да бъде захранвана от двата края. Поставих лентите така, че проводникът за данни да тече по змийски модел. Използвам поялник с регулируема температура и открих, че обичам температурата да е в горния край на диапазона, оцветен в зелено - вероятно ми харесва горещо, защото поялникът, който използвах години, беше евтин и нямаше контрол на температурата и се нагорещи.
След като всичко беше запоено, използвах точен нож (с прясно острие), за да изрежа ленти от пенопласта, за да загради светлините и да намали пропускането на кръв. Използвах бяло вместо черно, защото имах по -дълги ленти от него и всъщност това беше добре, защото ми позволи лесно да видя от задната страна дали тази част от LED лентите е включена по време на етапа на тестване на свързването на всичко.
Стъпка 5: Останалата част от електрониката
Винаги се опитвам да свържа своите проекти, като първо поставям входовете за захранване, след това контролера, след това другите елементи на платката и периферните устройства. Залепих горещо акумулаторната батерия на място и след това прекарах кабела на разделения DC жак, така че входът за зареждане да бъде лесно достъпен от ръба на проекта за лесно зареждане. Батерията идва с разделения кабел и инструкциите казват, че е добре да зареждате батерията, докато тя се използва.
Канибализирах евтин micro-usb кабел и замених края на micro USB с жак за DC барел, за да мога просто да използвам 5V входа. Поставих 5V на една шина за напрежение на платката и в ESP8266 Vin pin, след това заземете в заземителната шина и заземителен щифт на ESP8266 (всички основи трябва да бъдат свързани вътрешно вътре в контролера, така че няма значение кой)
Стандартните RGB LED ленти се управляват от PWM сигнал от контролера. Въпреки това, микроконтролерите могат да подават само 20mA-50mA ток на пин в зависимост от контролера. Всеки светодиод в лентата изисква около толкова мощност, така че трябва да използваме някакъв транзистор за управление на лентите. Няколко места, които се появиха при търсения с Google, предложиха транзистора TIP122, който може да превключва 5 ампера или 40 W мощност - повече от достатъчно за нашето приложение. Те всъщност не са проектирани да се поберат в макет, но ако завъртите всеки проводник настрани на 90 °, той ще се побере в слотовете за макет. Първоначално планирах да завинтя по един малък радиатор към всеки, но след известно тестване установих, че те не се нагряват достатъчно, за да е необходимо. Свързах всеки транзисторен вход към щифт на ESP8266, предназначен за PWM изход
RGB LED лентите, които случайно имаха „водоустойчиво“гумено покритие и в резултат нямаше да останат залепени за дървото, както бих искал. Като заобиколно решение нарязах малки парчета пяна и залепих парчето пяна към дървото и след това залепих LED лентата към тях.
Стъпка 6: Преглед на програмирането
Този проект използва различни библиотеки, така че да може да се управлява от телефонно приложение, наречено Blynk, да се включва/изключва от Amazon Echo, а кодът да се актуализира през wifi. Някои от използваните библиотеки са по -долу
Blynk -
Blynk е услуга, която позволява лесен контрол между микроконтролер ESP8266 и персонализирано приложение за телефон. Приложението за телефон ви позволява да създадете приложение с бутони, плъзгачи, RGB цветове за избор и много други. Всяка „джаджа“променя стойност, която може да бъде изтеглена от приложението Blynk, когато стартирате определена функция.
OTA (Over the Air) Update- библиотека по подразбиране, включена в ESP8266
Емулатор на Alexa Wemo-https://github.com/witnessmenow/esp8266-alexa-wemo…
Измамва Amazon Echo да мисли, че вашият проект е превключвател за светлина Wemo. Кодът ви позволява да дефинирате функция, която да се изпълнява, когато Alexa изпраща сигнала за "включване" и отделна функция за сигнала за изключване. Можете да емулирате множество устройства (до 10) с един контролер, което позволява още по -голяма гъвкавост. Моят код е настроен така, че Echo намира две устройства, наречени "Iron Man" и "Night Light". Те са и този проект, и този контролер, но ако включа "Night Light", той ще изпълнява функция с приглушени бели светлини, където като включите "Iron Man" настройва външните LED ленти в червено, а акрилните парчета в бяло.
Редактиране на Arduino във Visual Studio с помощта на vMicro
Използвам Visual Studio на работа от няколко месеца и обичам всички вградени инструменти за автоматично довършване, така че след известно търсене установих, че всъщност мога да използвам Visual Studio вместо нормалната Arduino IDE. Един лиценз за компютърен vMicro струва 15 долара за студенти, което според мен напълно си заслужава, ако ще отделите повече от няколко часа за програмиране на кода на Arduino.
FastLED срещу Neopixel
Използвам FastLED в моите проекти просто защото открих, че вече са направени повече функции онлайн за него и в този момент направих много проекти, използвайки го, така че имам много код за повторно използване. Сигурен съм, че библиотеката Neopixel би работила също толкова добре, ако работите достатъчно по нея. Планирам да пусна всичките си персонализирани функции в GitHub, за да могат да ги използват и други хора, просто още не съм стигнал до това.
Стъпка 7: Съвети за програмиране
Обща структура
Аз съм инженер по управление в работата си и често използваме стил на програмиране, наречен PLC програмиране. Този тип е подобен на Arduino, тъй като има цикъл, който работи постоянно на всеки няколко милисекунди и се занимава с входове/изходи, прескачайки между различни "състояния" в кода. Например кодът може да удари стъпка, свързана с конвейер, където ако има тава на конвейера, той ще премине в състояние 45, но ако няма тава, ще премине в състояние 100. Този стил на програмиране обаче вдъхнови кода ми Направих някои промени, за да мога просто да чета низ вместо номер на състояние.
Използвам глобална променлива (commandString), за да следя в какво светло състояние се намира проектът. Освен това използвам булева стойност, наречена "animate", също определям дали тя ще излезе от функция или не. Така че, когато натиснете бутона "Класически режим" на Blynk, моят код ще зададе animate на false (така че да излезе от текущата функция) и задайте командата String на "RunClassic". Всяка функция постоянно проверява за въвеждане от Blynk, Alexa и OTAUpdate, като изпълнява функция "CheckInput".
Глобални променливи
Използвам глобални променливи, за да следя някои настройки в моя проект. Тези променливи се инициализират преди моя код за настройка, което ги прави достъпни за всяка функция в моя код.
- globalBrightness (0-255)
- globalSpeed - скоростта на анимация на всички анимирани функции. Този проект просто има избледняващи дъги
- globalDelayTime - FastLED се нуждае от около 30 микросекунди, за да запише информация към всеки светодиод, затова зададох тази променлива на NUM_LEDS * 30 /1000 + 1; след това добавете забавяне (globalDelayTime) след повечето пъти, когато правя FastLED.show (), така че командата да не се прекъсва.
- _r, _g, _b - глобални RGB стойности. По този начин различните бутони на цветовата схема могат просто да променят глобалните стойности на r/g/b и всички да извикат една и съща функция в крайна сметка
Именуване на контролер за актуализация на Arduino OTA
Отне ми досадно количество търсене, докато не разбера как да кръстя контролера с помощта на функцията за безжично обновяване. Буквално просто включете този ред в секцията за настройка на вашия код преди „ArduinoOTA.onStart (“-
ArduinoOTA.setHostname ("IronMan");
vMicro с съвети за Visual Studio
Понякога Visual Studio ще открие някои проблеми с дълбоки файлове като стандартните C ++ файлове и ще изхвърли някои грешки. Опитайте да включите/изключите различните видове съобщения за грешки, докато не получите грешки с отворения си проект, а не с поддържащи файлове. Можете също да отворите кода в IDE на Arduino и да видите дали той ще се компилира там или ще даде по -полезен код за грешка.
FastLED
Изпратете ми съобщение, ако този Instructable е бил активен повече от няколко седмици и все още не съм разбрал как да поставя моите персонализирани функции на GitHub.
FastLED е посочен като съвместим с ESP8266, но дефинициите на щифтове може да не са правилни. В документацията за FastLED се казва, че можете да опитате да включите един от следните редове преди #include
- //#дефинирайте FASTLED_ESP8266_RAW_PIN_ORDER
- //#дефинирам FASTLED_ESP8266_NODEMCU_PIN_ORDER
- //#дефинирайте FASTLED_ESP8266_D1_PIN_ORDER
Опитах обаче и трите и никога не ми съвпаднаха всички щифтове. В момента използвам последния ред и току -що приех, че когато казвам на FastLED да използва пин D2, той всъщност използва пин D4 на моя контролер.
Въпреки че светлините ми са само евтиният китайски пробив на Neopixels, все пак казвам на FastLED да ги третира като неопиксели в настройката
- FastLED.addLeds (светодиоди, NUM_LEDS);
- FastLED.setCorrection (TypicalLEDStrip);
- //FastLED.setMaxPowerInVoltsAndMilliamps (5, maxMilliamps); // Полезно за проекти, захранвани от батерии
- FastLED.setBrightness (globalBright);
Стъпка 8: Краен продукт
Та-да!
Не се колебайте да коментирате или да ми изпращате въпроси по имейл - обичам тези неща и бих искал да помогна на други хора да правят страхотни проекти. Разгледайте моя уебсайт за някои други проекти, които съм правил и част от моята фотография: www.jacobathompson.com
Препоръчано:
Прости лампи с LED ленти (надстройте вашите LED ленти): 4 стъпки (със снимки)
Прости лампи с LED ленти (надстройте вашите LED ленти): Използвам LED ленти от доста време и винаги съм обичал простотата им. Просто отрязвате парче от роля, запоявате няколко проводника към него, прикрепяте захранване и имате себе си източник на светлина. През годините открих c
Ядосан железен юмрук: 7 стъпки (със снимки)
Angry Iron Fist: Мисля си за това в ежедневието ни, когато се сблъскаме с нещо, което ядосва хората, има ли нещо, което може да носи гнева ни и да освободи гнева? Направих тази демонстрация, наречена сърдит железен юмрук. Трябва само да отделите половин час, за да
Arduino захранване, сензорно контролирани избледняващи LED светлинни ленти: 6 стъпки (със снимки)
Arduino захранвани, сензорно контролирани избледняващи LED светлинни ленти: Наскоро актуализирах кухнята си и знаех, че осветлението ще „повдигне“външния вид на шкафовете. Отидох за „True Handless“, така че имам празнина под работната повърхност, както и дръжка, под шкафа и в горната част на наличните шкафове и
Зарядно устройство за железен трон: 17 стъпки (със снимки)
Iron Throne Phone Charger: Толкова съм развълнуван от излизането на 7 -ия сезон на Game of Thrones, трябваше да направя свързан проект - зарядно за телефон Iron Throne! Списък на доставките: USB зарядно устройство Пластмасови коктейлни мечове Сребърна акрилна боя Бронзова акрилна бояЧерна спрей боя 2 мм Пяна
Метод на гъба + железен хлорид - изтласкване на печатни платки за една минута!: 5 стъпки (със снимки)
Метод на гъба + железен хлорид - изтръгване на печатни платки за една минута !: В тази инструкция ще ви покажа как да се ецва платка с около една супена лъжица разтвор за офорт от железен хлорид и 2 инчова квадратна гъба. Ще бъдете изумени, когато откритата мед на платката изчезне пред очите ви, а глиганът ви