INHOUDSOPGAWE:
- Stap 1: Ontwerp in Illustrator
- Stap 2: Lasersny
- Stap 3: Verf
- Stap 4: Akrielstukke en akriel -agterligte
- Stap 5: Die res van die elektronika
- Stap 6: Oorsig oor programmering
- Stap 7: Programmeer wenke
- Stap 8: Finale produk
Video: Lae-poliêre ysterman met Wifi-beheerde LED-strokies: 8 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Hierdie interaktiewe muurkunsstuk is ongeveer 39 "lank en 24" breed. Ek het die hout by die Clemson University Student Makerspace met 'n laser gesny en daarna al die driehoeke met die hand geverf en die ligte agterop aangebring. Hierdie instruksies gaan deur hoe ek hierdie presiese stuk gemaak het, hopelik sal die konsep daarvan iemand anders inspireer om hul eie unieke kunswerk te maak. Dit gebruik 'n ESP8266 -mikrobeheerder met aanspreekbare WS2812B LED -strookligte en gewone RGB LED -strookligte.
Onderdele en materiaal
- 1/4 "hout - 40" by 28 "(maksimum afmetings vir ons lasersnyer)
- 1/8 "ondeursigtige akriel - TAPPlastics (ek gebruik Lighting White, 69%)
- Battery pack - TalentCell 12V/5V battery pack (ek het 12V/6000mAh pak gebruik)
- RGB LED -strook - 6ft ish (Standard 4 wire, die 5050 -weergawe waar die RGB -lig alles in een module is)
- TIP122 -transistor vir PWM -beheer van baie ligte
- WS2812B LED strook - 2ft ish (ek het die weergawe gebruik met 144 LED's per meter)
- ESP8266 NodeMCU mikrobeheerder
- Solid -core 22 gauge -aansluitdraad (skakel1 - link2 - link3 - link4)
- Sowat 300Ω ish weerstande
- Verf borsels
- Verf - ek het meestal Craft Premium -verf gebruik. Besonderhede in skilderstap
Gereedskap
- Toegang tot 'n lasersnyer (ek het dit by Clemson gebruik)
- Soldeerbout
- Warm lijmpistool (dit is noodsaaklik)
- Draadsnyers/-stroppers
- Adobe Illustrator
- Geduld
Stap 1: Ontwerp in Illustrator
Die bronbeeld is 'n illustrasie deur William Teal, kyk gerus na sy portefeulje na ander wonderlike werke van hom: https://www.behance.net/tealeo93 (ek dink dit is syne - ek het die konyngat van GoogleImages, Pinterest, gevolg GraphicDesignJunction, Behance)
Ek het die bronbeeld gevind van 'n Google-soektog na 'Low-Poly Iron Man' of 'Geometric Iron Man Wallpaper'. Ek het die prent afgelaai en oopgemaak in Adobe Illustrator.
Vervolgens het ek die penhulpmiddel in Illustrator gebruik om elke lyn in die prent met die hand te teken. Ek het dit gedoen sodat die lasersnyer al die binnelyne kon ets as 'n vektorsnit op lae krag in plaas daarvan om oor die hele beeld te raster. Dit neem 'n paar uur om te doen (ook ongeveer 3 klasperiodes by die skool)
Toe die prentjie heeltemal uiteengesit is, groepeer ek al die lyne bymekaar en teken dan vorms vir die hande, bors en oë. Ek het dit almal in 'n groep geplaas en die vulkleur is blou sodat ek dit maklik kan onderskei. Ek het dit na 'n aparte lêer vir die akriel sny gekopieer.
Vir die akrielgedeelte wou ek die doeltreffendheid van my akrielstuk maksimeer, so ek laai dit op hierdie webwerf https://svgnest.com/ en laai 'n lêer op met net die snitte in akriel en laat die dele "nes". Dit gebruik 'n paar herhalings en koel algoritmes om die doeltreffendste uitleg van u onderdele op die vel te bepaal om afval te verminder. Dit lewer die opset wat in die IronManAcrylic.ai -lêer is, uit.
Stap 2: Lasersny
Voordat ek die hout sny, spuit ek dit met 'n onderlaag en skuur dit liggies om dit glad te maak. Ek het dit gedoen sodat die verf later eweredig uitkom.
Toe ek die buitelyn deur die hout sny, gebruik ek 100% krag 6% spoed (dink ek) op ons 60W Epilog Fusion M2 40 in die Clemson Makerspace. Dit werk vir die grootste deel, maar die hout was baie skeef in 'n hoek, so ek moes eintlik die laser vir die hoek herfokus en die gedeelte van die snit weer laat loop.
Aangesien ek ook lyne vir al die driehoeke aan die binnekant geteken het, kon ek ook 'n vektorsnit gebruik om al die lyne vinnig te ets, soos in die video hierbo getoon. Dit was aansienlik vinniger as om die lêer te raster. Ek dink ek het 70% spoed en 50% krag gebruik - maar u moet maar eksperimenteer.
Die 1/8 akriel sny ek eers met 100% krag en 8% spoed, wat 'n bietjie te kragtig was en 'n paar brandende merke op die onbeskermde akriel gelaat het, toe doen ek dit teen 14% spoed en dit werk soos 'n sjarme.
Stap 3: Verf
So. Veel. Skildery. Ek sou skat dat dit ongeveer 20 uur se skildery was.
As u dit oorweeg om 'n projek met soveel driehoeke as hierdie te doen, moet u dit nie self verf nie. Betaal net om die prent op metaal of hout te laat druk, en sny dit dan uit, of druk dit op iets anders en plak die stuk op iets soliede. Moet dit nie self verf nie, tensy u daarvan hou om te skilder.
Ek het FrogTape -skildersband gebruik om elke driehoek op die stuk te omskryf terwyl ek dit geskilder het. Dit het my baie meer konsekwente resultate gegee as my vroeë pogings om elke driehoek met die hand in te vul sonder bandgrense.
Die FrogTape gee lyne wat baie skerper is as die wit of blou skilders. U tyd en gesonde verstand is die ekstra $ 2 per rol band werd. As u wil hê dat dit dunner moet wees, kan u 'n exacto -mes gebruik om die boonste lae band in nog kleiner repe te sny, sodat as u 'n driehoek omlyn, nie soveel naburige driehoeke bedek nie.
Ek is goedkoop en het nie veel ondervinding met skilder nie, so ek gebruik 2 oz bottels verf uit Michael's of Hobby Lobby. Ek het agtergekom dat die Craft Smart Premium -lyn redelik goed bedek is, en dat ek uiteindelik die CraftSmart Premium Metallic Festive Red -verf gemeng met wit of swart gebruik het om 95% van my rooi skakerings te maak. Geel was net die Craft Smart premium geel, met 'n bietjie goud ingegooi as 'n poging om dit effens glinsterend te maak.
As u weet van 'n goedkoop verf wat beter bedek - laat weet my asseblief in die kommentaar !! Ek moes gereeld twee lae verf aanbring sodat geen van die onderstaande wit deurkom nie, en ek sou graag 'n mooier verf wou hê wat dit sou vermy.
Sodra dit alles geverf is (maar voordat ek die akrielstukke vasgeplak het) het ek 'n glansende spuitlaag gebruik om die verf te beskerm en dit alles blink te maak.
Stap 4: Akrielstukke en akriel -agterligte
Dit was 'n bietjie uitdaging om die akrielstukke vas te maak, want my werkbank/lessenaar en die houtstuk is effens skeef, sodat ek nie kon waarborg dat dit lank genoeg plat bly sodat my epoxy kan stol nie. As 'n oplossing het ek die hout teen die tafel vasgedruk naby die akrielstuk wat ek ingeplak het, en ek het eers warm gom gebruik om elke akrielstuk op sy plek te hou. Die warm gom is aan die voorkant van die akriel sigbaar, so ek gebruik toe Gorilla Glue tweedelige epoksie wat met 'n tandestokkie aangebring is om die akrielstukke permanent vas te hou. Ek het met 'n tang teruggekeer en die oorspronklike stukke warm gom uitgehaal.
Ek het 'n aparte ligmodule vir elke akrielstuk gemaak. Ek sny eers 'n stuk 1/4 duim swart skuimplank tot 'n grootte wat effens groter is as wat nodig is en teken 'n omtrek van die akrielstuk. Daarna sny en plak ek die LED -stroke vir die stuk op 'n manier wat meestal die akriel bedek gebied.
Hierdie stap sal beter gedoen word met 'n prototipe bord en 'n paar skroefterminale, maar ek het dit nie byderhand gehad toe ek gereed was om dit te begin bedrieg nie. As 'n oplossing sny ek 'n paar vroulike kopstukstroke tot 4 ingange - grond, 5V in, data in, data uit. Ek het die vroulike kopstrook aan die skuimplank warmgom en begin al die ligte aanmekaar soldeer.
Die soldeerwerk was eintlik baie uitdagend vanweë hoe klein die soldeerblokkies was. Gelukkig het ek twee kanse gehad vir al die krag- en grondblokkies, want elke strook kan aan beide kante voorsien word. Ek het die stroke so uitgelê dat die datadraad in 'n serpentynpatroon vloei. Ek gebruik 'n soldeerbout met 'n verstelbare temperatuur, en ek het gevind dat ek daarvan hou dat die temperatuur bo -aan die groen kleur is - ek hou dit waarskynlik warm, want die soldeerbout wat ek jare lank gebruik het, was goedkoop en het geen temperatuurbeheer gehad nie en hardloop warm.
Nadat alles gesoldeer is, gebruik ek 'n exacto-mes (met 'n vars lem) om repies van die skuimplank te sny om die ligte toe te maak en deurbloeding te verminder. Ek het wit in plaas van swart gebruik omdat ek langer stroke daarvan gehad het, en dit was eintlik 'n goeie ding, want dit het my maklik aan die agterkant laat sien of die gedeelte LED -stroke aangeskakel is tydens die toetsstap.
Stap 5: Die res van die elektronika
Ek probeer altyd om my projekte te bedrieg deur eers die kraginsette in te sit, dan die kontroleerder, dan die ander bordelemente en randapparatuur. Ek het die batterypak warm vasgeplak en die gesplete DC -aansluitkabel gelei sodat die laai -invoer maklik toeganklik was vanaf 'n rand van die projek om dit maklik te laai. Die battery het die gesplete kabel meegebring, en volgens die instruksies was dit goed om die battery te laai terwyl dit gebruik word.
Ek kannibaliseer 'n goedkoop mikro-usb-kabel en vervang die mikro-USB-einde met 'n DC-vataansluiting, sodat ek net die 5V-ingang kan gebruik. Ek plaas 5V op een spanningsrail van die broodbord en in die ESP8266 Vin -pen, dan in die grondrail en 'n grondpen van die ESP8266 (al die gronde moet intern in die kontroleerder gekoppel wees, sodat dit nie saak maak watter een nie)
Standaard RGB LED -stroke word beheer deur 'n PWM -sein van die beheerder. Afhangende van die beheerder, kan mikrobeheerders egter slegs 20mA-50mA stroom per pen lewer. Elke LED in die strook benodig ongeveer soveel krag, dus moet ons 'n transistor gebruik om die stroke te beheer. 'N Paar plekke wat op Google -soektogte verskyn het, het die TIP122 -transistor voorgestel wat 5 ampère of 40W krag kan skakel - meer as genoeg vir ons toepassing. Hulle is nie regtig ontwerp om in 'n broodbord te pas nie, maar as u elke draad 90 ° sywaarts draai, pas dit in die broodbordgleuwe. Ek was oorspronklik van plan om 'n klein koellichaam aan elkeen te skroef, maar na 'n paar toetse het ek vasgestel dat hulle nie warm genoeg word om dit nodig te maak nie. Ek het elke transistor -ingang aan 'n pen op die ESP8266 gekoppel wat vir PWM -uitset bedoel is
Die RGB LED -stroke wat ek toevallig die "waterbestande" rubberlaag gehad het, sou gevolglik nie so goed aan die hout vasgeplak bly as wat ek sou wou nie. As 'n oplossing het ek klein stukkies skuimplank gesny en die skuimstuk aan die hout vasgeplak en dan die LED -strook daaraan vasgeplak.
Stap 6: Oorsig oor programmering
Hierdie projek gebruik verskillende biblioteke sodat dit beheer kan word vanaf 'n telefoonprogram genaamd Blynk, aan/afgeskakel word vanaf 'n Amazon Echo, en die kode kan via wifi opgedateer word. Sommige van die biblioteke wat gebruik word, is hieronder
Blynk -
Blynk is 'n diens wat eenvoudige beheer tussen 'n ESP8266 -mikrobeheerder en 'n aanpasbare telefoonprogram moontlik maak. Met die telefoonprogram kan u 'n toepassing bou met knoppies, skuifbalkies, RGB -kleurplukkers en nog baie meer. Elke "widget" verander 'n waarde wat uit die Blynk -app gehaal kan word wanneer u 'n sekere funksie uitvoer.
OTA-opdatering (oor die lug)- standaardbiblioteek ingesluit by die ESP8266
Alexa Wemo Emulator-https://github.com/witnessmenow/esp8266-alexa-wemo…
Laat die Amazon Echo dink dat u projek 'n Wemo -ligskakelaar is. Met die kode kan u 'n funksie definieer wat uitgevoer moet word wanneer Alexa die 'aanskakel' -sein stuur en 'n aparte funksie vir die afskakel sein. U kan verskeie toestelle (tot 10) navolg met 'n enkele beheerder wat nog meer buigsaamheid moontlik maak. My kode is so opgestel dat die Echo twee toestelle met die naam "Iron Man" en "Night Light" vind. Hulle is beide hierdie projek en hierdie kontroleerder, maar as ek "Night Light" aanskakel, sal dit 'n funksie hê met dowwe wit ligte, terwyl die "Iron Man" die buitenste LED -stroke rooi en die akrielstukke in wit stel..
Arduino -redigering in Visual Studio met behulp van vMicro
Ek gebruik Visual Studio al 'n paar maande by die werk en ek hou van al die outomatiese gereedskap wat dit ingebou het, so na 'n bietjie soek het ek gevind dat ek Visual Studio in plaas van die normale Arduino IDE kon gebruik. 'N Enkele rekenaar -vMicro -lisensie kos $ 15 vir studente, wat myns insiens die moeite werd is as u meer as 'n paar uur gaan spandeer om die Arduino -kode te programmeer.
FastLED vs Neopixel
Ek gebruik FastLED in my projekte bloot omdat ek gevind het dat daar al meer funksies aanlyn is, en op hierdie stadium het ek baie projekte gemaak, sodat ek baie kode kan gebruik. Ek is seker dat die Neopixel -biblioteek net so goed sou werk as u genoeg daaraan werk. Ek is van plan om al my persoonlike funksies op GitHub te plaas sodat ander dit kan gebruik, maar ek het dit nog nie reggekry nie.
Stap 7: Programmeer wenke
Algehele struktuur
Ek is 'n kontrole -ingenieur by my werk en ons gebruik gereeld 'n programmeerstyl genaamd PLC -programmering. Hierdie tipe is soortgelyk aan Arduino, omdat dit 'n lus het wat elke paar millisekondes voortdurend loop en handel oor insette/uitsette, wat tussen verskillende 'state' in die kode spring. Die kode kan byvoorbeeld 'n stap tref wat handel oor 'n vervoerband, en as daar 'n skinkbord op die vervoerband is, sal dit na staat 45 gaan, maar as daar nie 'n skinkbord is nie, sal dit na die staat 100 gaan. Hierdie programmeerstyl het my kode egter geïnspireer. Ek het 'n paar veranderinge aangebring sodat ek net 'n string kan lees in plaas van 'n staatsnommer.
Ek gebruik 'n globale veranderlike (commandString) om by te hou in watter ligstoestand die projek is. Boonop gebruik ek 'n booleaanse naam "animeer" om te bepaal of dit uit 'n funksie sal breek of nie. As u dus op die "Classic mode" -knoppie op Blynk druk, sal my kode animasie op false stel (sodat dit uit die huidige funksie breek) en die commandString op "RunClassic" stel. Elke funksie kyk voortdurend na insette van Blynk, Alexa en OTAUpdate deur 'n funksie "CheckInput" uit te voer.
Globale veranderlikes
Ek gebruik globale veranderlikes om 'n paar instellings in my projek by te hou. Hierdie veranderlikes word geïnisialiseer voor my opstellingskode, wat dit vir enige funksie in my kode toeganklik maak.
- globale helderheid (0-255)
- globalSpeed - die animasiesnelheid van enige geanimeerde funksies. Hierdie projek het net vervaagde reënboë
- globalDelayTime - FastLED benodig ongeveer 30 mikrosekondes om inligting aan elke LED te skryf, so ek stel hierdie veranderlike op NUM_LEDS * 30/1000 + 1; voeg dan vertraging (globalDelayTime) by nadat ek die meeste kere FastLED.show () gedoen het sodat die opdrag nie onderbreek word nie.
- _r, _g, _b - globale RGB -waardes. Op hierdie manier kan knoppies van verskillende kleurskemas net die globale r/g/b -waardes verander en uiteindelik dieselfde funksie noem
Die naam van die Arduino OTA -opdateringsbeheerder
Dit het my baie irriterend gesoek totdat ek agtergekom het hoe ek die beheerder met die opdateringsfunksie oor die lug kan noem. Sluit hierdie reël letterlik in die opstellingsgedeelte van u kode in voor "ArduinoOTA.onStart (" -
ArduinoOTA.setHostname ("IronMan");
vMicro met wenke vir Visual Studio
Soms sal visuele studio probleme met diep lêers, soos die standaard C ++ -lêers, opspoor en foute veroorsaak. Probeer om die verskillende tipes foutboodskappe aan/uit te skakel totdat u net foute met u oop projek ondervind en nie ondersteunende lêers nie. U kan ook die kode in die Arduino IDE oopmaak en kyk of dit daar sal saamstel of dat dit 'n meer nuttige foutkode sal gee.
FastLED
Stuur 'n boodskap aan my as hierdie instruksies al meer as 'n paar weke aan die gang is en ek nog steeds nie agtergekom het hoe ek my persoonlike funksies op GitHub kan plaas nie.
FastLED word gelys as verenigbaar met die ESP8266, maar die definisies van die pen is moontlik nie korrek nie. In die dokumentasie vir FastLED staan dat u een van die volgende reëls kan probeer insluit voor #include
- //#definieer FASTLED_ESP8266_RAW_PIN_ORDER
- //#definieer FASTLED_ESP8266_NODEMCU_PIN_ORDER
- //#definieer FASTLED_ESP8266_D1_PIN_ORDER
Ek het egter al drie probeer, en ek het nooit al my penne reggekry nie. Tans gebruik ek die laaste reël en het net aanvaar dat wanneer ek FastLED sê om pen D2 te gebruik, dit eintlik pin D4 op my kontroleerder gebruik.
Alhoewel my ligte net die goedkoop Chinese neopixels is, sê ek steeds vir FastLED om dit as Neopixels in die opset te behandel
- FastLED.addLeds (leds, NUM_LEDS);
- FastLED.setCorrection (TypicalLEDStrip);
- //FastLED.setMaxPowerInVoltsAndMilliamps(5, maxMilliamps); // Nuttig vir battery -aangedrewe projekte
- FastLED.setBrightness (globalBright);
Stap 8: Finale produk
Ta-da!
Voel vry om kommentaar te lewer of vrae aan my te e -pos - ek is mal daaroor en sal graag ander mense wil help om projekte te maak. Kyk op my webwerf vir 'n paar ander projekte wat ek gedoen het en 'n paar van my fotografie: www.jacobathompson.com
Aanbeveel:
Ultra-lae krag WiFi tuisautomatiseringstelsel: 6 stappe (met foto's)
Ultra-lae krag WiFi-tuisautomatiseringstelsel: In hierdie projek wys ons hoe u in enkele stappe 'n basiese plaaslike tuis-outomatiseringstelsel kan bou. Ons gaan 'n Raspberry Pi gebruik wat as 'n sentrale WiFi -toestel sal dien. Terwyl ons vir eindknope IOT Cricket gaan gebruik om 'n batterykrag te maak
Maak u eie Bluetooth -musiekstelsel met 'n lae begroting: 5 stappe (met foto's)
Maak u eie Bluetooth -musiekstelsel met 'n lae begroting: in hierdie projek sal ek u wys hoe ek " versmelt het " 'n vuil goedkoop bluetooth musiek ontvanger met 'n ou luidspreker van my. Die belangrikste fokus sal wees op die ontwerp van 'n goedkoop klankversterker kring rondom die LM386 en die NE5534. Die Bluetooth -ontvangs
Hoe om 'n pasgemaakte PCB te maak met 'n lasergraveur met lae krag: 8 stappe (met foto's)
Hoe om 'n pasgemaakte PCB te maak met 'n lasergraveur met 'n lae krag: As u 'n tuisgemaakte PCB wil maak, kan u verskeie metodes aanlyn vind: van die mees basiese, met slegs 'n pen, tot die meer gesofistikeerde met behulp van 3D -drukkers en ander toerusting. En hierdie tutoriaal val op die laaste geval! In hierdie projek vertel ek
LED POVstick met Bluetooth lae energie: 10 stappe (met foto's)
LED POVstick met Bluetooth lae energie: hierdie instruksies wys hoe u 'n ligskrywerstok met RGB LED's bou wat via BLE vanaf u telefoon beheer kan word! Noudat die donker seisoen begin en u lang foto's moet neem: Met hierdie stok kan u u handtekening skryf in
Vervang lae-spanning tweespeld-halogene met LED's: 6 stappe (met foto's)
Vervang lae-spanning tweepeld-halogene met LED's: hierdie instruksies gee 'n uiteensetting van hoe u 'n lae-spanning (12V) tweepeld-halogeenarmatuur met 'n hoë-krag LED " gloeilamp " wat minder krag (<10W) gebruik, langer hou (50 000 uur) en ongeveer dieselfde liguitset lewer (~ 300 lumen