Turinys:

Išmanusis Aidaho žemėlapis su LED duomenimis + menas: 8 žingsniai (su paveikslėliais)
Išmanusis Aidaho žemėlapis su LED duomenimis + menas: 8 žingsniai (su paveikslėliais)

Video: Išmanusis Aidaho žemėlapis su LED duomenimis + menas: 8 žingsniai (su paveikslėliais)

Video: Išmanusis Aidaho žemėlapis su LED duomenimis + menas: 8 žingsniai (su paveikslėliais)
Video: Xperia en action infiltration (underwater) [HD] 2024, Lapkritis
Anonim
Image
Image

Sekite daugiau autoriaus:

Išmanusis pasaulio žemėlapis su duomenų ekranais ir programuojamu DMX apšvietimu
Išmanusis pasaulio žemėlapis su duomenų ekranais ir programuojamu DMX apšvietimu
Barzdota rainelė - skaldyk ir užkariauk
Barzdota rainelė - skaldyk ir užkariauk
Barzdota rainelė - skaldyk ir užkariauk
Barzdota rainelė - skaldyk ir užkariauk
Prie interneto prijungtas SMART LED animacijos laikrodis su žiniatinklio valdymo skydeliu, sinchronizuotas laiko serveris
Prie interneto prijungtas SMART LED animacijos laikrodis su žiniatinklio valdymo skydeliu, sinchronizuotas laiko serveris
Prie interneto prijungtas SMART LED animacijos laikrodis su žiniatinklio valdymo skydeliu, sinchronizuotas laiko serveris
Prie interneto prijungtas SMART LED animacijos laikrodis su žiniatinklio valdymo skydeliu, sinchronizuotas laiko serveris

Aš visada norėjau būdo, kaip meniškai ir dinamiškai parodyti geografinius duomenis, „nupiešiant“žemėlapį šviesa. Aš gyvenu Aidaho valstijoje ir myliu savo valstiją, todėl maniau, kad tai būtų puiki vieta pradėti! Tai ne tik meno kūrinys, turintis vėsų apšvietimo efektą, bet ir teikia naudingos informacijos. Pavyzdžiui, galite parodyti „šilumos žemėlapį“pagal gyventojų tankio skaičių, kritulių kiekį, aukščio maksimumus/minimumus, dykumos ploto akrų skaičių ir tt Atlikęs šį Aidaho žemėlapį, esu motyvuotas daryti kažką panašaus pasauliniu mastu!

Norėdami tai padaryti, jums reikės šių dalykų:

  • (2) 2'x4 '1/4MDF lapas
  • (1) 10 colių 1 x 8 colių pušies lenta
  • (1) šviesą išsklaidančio akrilo lapas
  • 2 eilutės (50) ws2812B iš anksto prijungtų rodomųjų šviesos diodų
  • 5 voltų maitinimo šaltinis
  • Dėmės, dažai, klijai
  • „Arduino Micro“arba lygiavertis

Reikalingi įrankiai

  • CNC staklės
  • Lituoklis
  • Spaustukai
  • Smėlio popierius

1 žingsnis: klijuokite medieną

Klijuokite medieną
Klijuokite medieną
Klijuokite medieną
Klijuokite medieną
Klijuokite medieną
Klijuokite medieną
Klijuokite medieną
Klijuokite medieną

Kai klijuoju medines plokštes, visada jas sujungiu sausainiais. Tai apsaugo nuo skilimo dėl susitraukimo, kai mediena džiūsta. Tai ypač svarbu šiam projektui, nes dėl CNC kišenių operacijų paviršiaus plotas, jungiantis gabalus, sumažės. Iš abiejų pusių, taip pat abiejose sausainių ertmių pusėse įklijuodami gerą klijų karoliuką, užspauskite ir palikite 24 valandoms.

Ištraukę spaustukus, naudokite delnų šlifuoklį (arba jei esate drąsus juostinis šlifuoklis) ir lygiai nušlifuokite jungtis. Visada turėsite išspausti klijus iš siūlių ir norite šlifuoti lentą, kad ji būtų kuo plokščia ir be dėmių.

Dabar, kai turime tris skydus, kurių mums prireiks, pereikime prie CNC darbo!

2 žingsnis: CNC trys plokštės (sienų skydas, pušies šerdis ir LED skydas)

CNC trys plokštės (sienų skydas, pušies šerdis ir LED skydas)
CNC trys plokštės (sienų skydas, pušies šerdis ir LED skydas)
CNC trys plokštės (sienų skydas, pušies šerdis ir LED skydas)
CNC trys plokštės (sienų skydas, pušies šerdis ir LED skydas)
CNC trys plokštės (sienų skydas, pušies šerdis ir LED skydas)
CNC trys plokštės (sienų skydas, pušies šerdis ir LED skydas)
CNC trys plokštės (sienų skydas, pušies šerdis ir LED skydas)
CNC trys plokštės (sienų skydas, pušies šerdis ir LED skydas)

Projektą sudaro trys plokštės. Modelius galite pamatyti mano naudojamoje programinėje įrangoje. Žemėlapio duomenys buvo įsigyti iš puikių nemokamų maptoriškų žemėlapių paketų. Čia nuostabios detalės ir vertė! CAD failai pridedami kitame veiksme, jei norite naudoti CAD DXF arba vektorinius failus.

Šviesos diodų šerdies skydas iš esmės yra apdirbtas 1/4 colio MDF lakštas, kuriame šviesos diodai laikomi tvirtai trinties būdu. Šiame skydelyje pastebėsite didelę „kišenę“aplink šviesos diodą. Tai leidžia šviesai skleisti taip greitai, kaip įmanoma, kad išvengtumėte karštų akrilo dėmių.

Šerdis yra pušies plokštė, kurią klijavome ankstesniame žingsnyje ir yra projekto fonas. Kad šviesa pasiektų akrilo plokštes, mes apdorojome kiekvieną apskritį.

Galiausiai viršutinė plokštė apdorojama tik apskričių kontūrais ir valstijos riba. Kiekvienoje apskrityje yra maža lentyna, kurioje bus 1/8 colio šviesą skleidžiantis akrilas.

Kalbant apie akrilą, laikas juos apdoroti toliau.

3 žingsnis: apdirbkite apskritis iš akrilo lakšto

Image
Image
Apdorokite apskritis iš akrilo lakšto
Apdorokite apskritis iš akrilo lakšto
Apdorokite apskritis iš akrilo lakšto
Apdorokite apskritis iš akrilo lakšto

Apygardų apdirbimas iš akrilo truko šiek tiek bandymų ir klaidų. Akrilas gali ištirpti, jei apdirbamas lėtai, todėl norint gauti gerų rezultatų, reikalingas tinkamas padavimas. Kitas patarimas yra naudoti kuo didesnį įrankį ir gerai išsiurbti, kad pašalintumėte drožles. Maži įrankiai linkę ne taip lengvai išvalyti drožles ir kaupti šilumą, kuri sukelia tą nepageidaujamą lydymąsi.

Man pavyko gauti reikiamą skiriamąją gebą su 1/8 colio įstrižais dviem fleitos spiraliniais bitais, esant 18, 500 aps./min. Ir 200 ppm srautui. Čia naudinga gera tiekimo ir greičio skaičiuoklė! Rekomenduočiau vieną iš cnccookbook.com. Vienas fleitos antgalis būtų veikęs dar geriau, bet aš neturėjau po ranka. CAM darbe svarbu išlaikyti mažus skirtukus ant šių dalių, kad gatavi gabalai neatskiltų ir nepatektų į kambarį!

Stebuklingas poslinkis, kad apskritys būtų tinkamo dydžio, buvo.075 nesėkmė nuo centrinės linijos ant kadro brėžinio. Taip buvo padaryta pusė 1/8 colio kraštinės ir šiek tiek papildomo elemento, kad skydelis nukristų į vietą. Tam tikri gabalai buvo reikalingi nedideliam šlifavimui, kad jie patektų į vietą. Vėlgi, daug trinties tinkamos dalys padarė šį greitą ir lengvą darbą.

Pritaikyti visas apygardas prie vieno akrilo gabalo buvo lengva dirbti su mano vektorine programine įranga, kuri turi lizdavimo funkciją, kad maksimaliai padidintų lakštų naudojimą.

Tiesiog linksmindamasis pradėjau bandyti montuoti kai kuriuos gabalus. Pradeda atsirasti. Saunus!

Norite failų apskričių apdirbimui. Žinoma! Žiūrėkite priedą.

4 žingsnis: dažai ir dėmės

Dažai ir dėmės
Dažai ir dėmės
Dažai ir dėmės
Dažai ir dėmės
Dažai ir dėmės
Dažai ir dėmės

Prieš surinkdami visus gaminius, pirmiausia turėtume dažyti ir dažyti. Aš naudoju medienos skydo dėmių, purškiamų dažų sienų sluoksniui ir šviesą atspindinčios baltos spalvos derinį LED sluoksniui. Greitas darbas ir mes einame į surinkimą. Linksmintis!

5 žingsnis: klijuokite plokštes

Klijų plokštės
Klijų plokštės
Klijų plokštės
Klijų plokštės
Klijų plokštės
Klijų plokštės

Dabar atėjo laikas klijuoti apatinę plokštę prie pušies šerdies apačios, o tada MDF būsenos sienos plokštę prie pušies šerdies. Tam aš naudoju tik keletą spaustukų.

6 veiksmas: prijunkite šviesos diodus naudodami „Friction Fit“ir prijunkite „Arduino“

Prijunkite šviesos diodus naudodami „Friction Fit“ir prijunkite „Arduino“
Prijunkite šviesos diodus naudodami „Friction Fit“ir prijunkite „Arduino“
Prijunkite šviesos diodus naudodami „Friction Fit“ir prijunkite „Arduino“
Prijunkite šviesos diodus naudodami „Friction Fit“ir prijunkite „Arduino“
Prijunkite šviesos diodus naudodami „Friction Fit“ir prijunkite „Arduino“
Prijunkite šviesos diodus naudodami „Friction Fit“ir prijunkite „Arduino“

Šis košmariškas darbas buvo labai paprastas, nes čia yra tolerancijos trinčiai. Aš naudoju galinį rašiklio galą, kad juos prispaustų. Praktiškai užsifiksavo ir neišeis be didelės jėgos. Šiai projekto daliai nebuvo naudojami jokie klijai. Tai labai palengvina surinkimą! Atlikau daug projektų, kur valandų valandas teko sukti laidus, ir tai tiesiog užtruko 10 minučių. Tai iki šiol lengviausias būdas. Bandžiau sujungti valstiją zigzago tvarka, išlaikydamas grupes taip, kad kiekviena apskritis būtų nuosekli išilgai eilutės.

Prisijungimas prie arduino buvo paprastas naudojant mažą duonos lentą ir prijungimo laidus. Maitinimo šaltinis buvo pirktas „ebay“. 5v ir 8amps šiam projektui yra per didelis, tačiau suteikia daug pridėtinių išlaidų. Šių dalykų prijungimas yra labai paprastas. +5 V prie VCC kaiščio, įžeminkite prie įžeminimo kaiščio ir tada maitinkite sriegį tuo pačiu 5 V šaltiniu. Vienintelis likęs kaištis yra duomenų kaištis, kuris maitina eilutę! Mano atveju duomenims naudojau D7. Dabar prie programavimo!

7 žingsnis: „Arduino“kodavimas

Koduoja „Arduino“
Koduoja „Arduino“
Koduoja „Arduino“
Koduoja „Arduino“

Šviesos diodus maitina arduino, kuris gamina kodavimo pyragą. Kai kurios pradinės procedūros buvo pasiskolintos (ty pavogtos) iš puikios „github“bibliotekos „ws2813fx“. Buvo lengva modifikuoti šias procedūras, kad padarytumėte tai, ko man reikėjo. Visą kodo apimtį būtų sunku paaiškinti, tačiau čia yra keletas svarbiausių dalykų!

Štai galimos demonstravimo procedūros:

# define FX_MODE_STATIC 0 # apibrėžti FX_MODE_BLINK 1 # define FX_MODE_BREATH 2 # define FX_MODE_COLOR_WIPE 3 # define FX_MODE_COLOR_WIPE_INV 4 # define FX_MODE_COLOR_WIPE_REV 5 # define FX_MODE_COLOR_WIPE_REV_INV 6 # define FX_MODE_COLOR_WIPE_RANDOM 7 # define FX_MODE_RANDOM_COLOR 8 # define FX_MODE_SINGLE_DYNAMIC 9 # define FX_MODE_MULTI_DYNAMIC 10 # define FX_MODE_RAINBOW 11 # define FX_MODE_RAINBOW_CYCLE 12 # define FX_MODE_SCAN 13 # define FX_MODE_DUAL_SCAN 14 # define FX_MODE_FADE 15 # define FX_MODE_THEATER_CHASE 16 # define FX_MODE_THEATER_CHASE_RAINBOW 17 # define FX_MODE_RUNNING_LIGHTS 18 # define FX_MODE_TWINKLE 19 # define FX_MODE_TWINKLE_RANDOM 20 # define FX_MODE_TWINKLE_FADE 21 # define FX_MODE_TWINKLE_FADE_RANDOM 22 # define FX_MODE_SPARKLE 23 # define FX_MODE_FLASH_SPARKLE 24 #define FX_MODE_HYPER_SPARKLE 25 #define FX_MODE_STROBE 26 #define FX_MODE_STROBE_RAINBOW 27 #define FX_MODE_MULTI_STROBE 28 #define FX_MODE_BLINK_RAINBOW 29 #define FX_XINE_FINE NE FX_MODE_CHASE_RANDOM 32 # define FX_MODE_CHASE_RAINBOW 33 # define FX_MODE_CHASE_FLASH 34 # define FX_MODE_CHASE_FLASH_RANDOM 35 # define FX_MODE_CHASE_RAINBOW_WHITE 36 # define FX_MODE_CHASE_BLACKOUT 37 # define FX_MODE_CHASE_BLACKOUT_RAINBOW 38 # define FX_MODE_COLOR_SWEEP_RANDOM 39 # define FX_MODE_RUNNING_COLOR 40 # define FX_MODE_RUNNING_RED_BLUE 41 # define FX_MODE_RUNNING_RANDOM 42 # define FX_MODE_LARSON_SCANNER 43 # define FX_MODE_COMET 44 # define FX_MODE_FIREWORKS 45 # define FX_MODE_FIREWORKS_RANDOM 46 # define FX_MODE_MERRY_CHRISTMAS 47 # define FX_MODE_FIRE_FLICKER 48 # define FX_MODE_FIRE_FLICKER_SOFT 49 # define FX_MODE_FIRE_FLICKER_INTENSE 50 # define FX_MODE_CIRCUS_COMBUSTUS 51 # define FX_MODE_HALLOWEEN 52 # define FX_MODE_BICOLOR_CHASE 53 # define FX_MODE_TRICOLOR_CHASE 54 # define FX_MODE_ICU 55

Ir pažvelkite į vieną iš pavyzdžių.

uint16_t WS2812FX:: mode_breath (void) {// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 // žingsnis uint16_t breat_delay_steps = {7, 9, 13, 15, 16, 17, 18, 930, 19, 18, 15, 13, 9, 7, 4, 5, 10}; // stebuklingi kvėpavimo skaičiai LED uint8_t breat_brightness_steps = {150, 125, 100, 75, 50, 25, 16, 15, 16, 25, 50, 75, 100, 125, 150, 220, 255}; // dar daugiau stebuklingų skaičių!

jei (SEGMENT_RUNTIME.counter_mode_call == 0) {

SEGMENT_RUNTIME.aux_param = kvėpavimo ryškumas_žingsniai [0] + 1; // šviesumui išsaugoti naudojame aux_param}

uint8_t breat_brightness = SEGMENT_RUNTIME.aux_param;

jei (SEGMENT_RUNTIME.counter_mode_step <8) {breat_brightness--; } else {burn_brightness ++; }

// atnaujinti dabartinio uždelsimo indeksą, kai pasiekiamas tikslinis ryškumas, pradėkite iš naujo po paskutinio veiksmo

if (burn_brightness == breathebrightness_steps [SEGMENT_RUNTIME.counter_mode_step]) {SEGMENT_RUNTIME.counter_mode_step = (SEGMENT_RUNTIME.counter_mode_step + 1) % (sizeof (breat_brightness_steps)/sizeof (uint); }

int lum = žemėlapis (kvėpavimo ryškumas, 0, 255, 0, _šviesumas); // išlaikyti šviesumą žemiau vartotojo nustatyto ryškumo

uint8_t w = (SEGMENT.colors [0] >> 24 & 0xFF) * lum / _brightness; // modifikuoti RGBW spalvas su ryškumo informacija uint8_t r = (SEGMENT.colors [0] >> 16 & 0xFF) * lum / _brightness; uint8_t g = (SEGMENT.colors [0] >> 8 & 0xFF) * lum / _brightness; uint8_t b = (SEGMENT.colors [0] & 0xFF) * lum / _brightness; for (uint16_t i = SEGMENT.start; i <= SEGMENT.stop; i ++) {Adafruit_NeoPixel:: setPixelColor (i, r, g, b, w); }

SEGMENT_RUNTIME.aux_param = kvėpavimo ryškumas;

grįžimo kvėpavimas_delsimo žingsniai [SEGMENT_RUNTIME.counter_mode_step]; }

Visą šaltinį galima atsisiųsti iš „ws2812fx github“saugyklos.

8 žingsnis: mėgaukitės meniniu šviesos ekranu

Aš labai džiaugiausi rezultatu! Tikrai malonu žiūrėti ir džiaugiuosi galėdamas toliau žaisti su įvairiomis duomenų rodymo konfigūracijomis! Nesivaržykite užduoti bet kokių klausimų arba pataikyti manęs dėl bet kokios informacijos, kurią praleidau.

LED konkursas 2017 m
LED konkursas 2017 m
LED konkursas 2017 m
LED konkursas 2017 m

Antrasis LED konkurso prizas 2017 m

„Arduino“konkursas 2017 m
„Arduino“konkursas 2017 m
„Arduino“konkursas 2017 m
„Arduino“konkursas 2017 m

Antroji vieta „Arduino“konkurse 2017 m

Rekomenduojamas: