Taula de continguts:

Mapa intel·ligent d'Idaho amb dades LED + Art: 8 passos (amb imatges)
Mapa intel·ligent d'Idaho amb dades LED + Art: 8 passos (amb imatges)

Vídeo: Mapa intel·ligent d'Idaho amb dades LED + Art: 8 passos (amb imatges)

Vídeo: Mapa intel·ligent d'Idaho amb dades LED + Art: 8 passos (amb imatges)
Vídeo: Night 2024, Juliol
Anonim
Image
Image

Per jwolin Segueix-ne més per l'autor:

Mapa del món intel·ligent amb pantalles de dades i il·luminació programable DMX
Mapa del món intel·ligent amb pantalles de dades i il·luminació programable DMX
Iris barbut - Dividir i conquerir
Iris barbut - Dividir i conquerir
Iris barbut - Dividir i conquerir
Iris barbut - Dividir i conquerir
Rellotge d'animació LED SMART connectat a la xarxa amb tauler de control basat en web, servidor de temps sincronitzat
Rellotge d'animació LED SMART connectat a la xarxa amb tauler de control basat en web, servidor de temps sincronitzat
Rellotge d'animació LED SMART connectat a la xarxa amb tauler de control basat en web, servidor de temps sincronitzat
Rellotge d'animació LED SMART connectat a la xarxa amb tauler de control basat en web, servidor de temps sincronitzat

Sempre he volgut una manera de mostrar de manera artística i dinàmica les dades geogràfiques "pintant" un mapa amb llum. Visc a Idaho i estimo el meu estat, així que vaig pensar que seria un bon lloc per començar. A més de ser una obra d'art amb efectes d'il·luminació frescos, també proporciona informació útil. Per exemple, podeu mostrar un "mapa de calor" per recompte de densitat de població, nivells de precipitació, màxims / mínims d'elevació, nombre d'acres de zona salvatge, etc. Després de fer aquest mapa d'Idaho, estic motivat per fer alguna cosa similar a a escala mundial!

Per a aquesta instrucció, necessitareu el següent:

  • (2) Full de 2'x4 'd'1 / 4MDF
  • (1) 10 'peça 1 "x8" Tauler de pi
  • (1) full d’acrílic que difon la llum
  • 2 cadenes de (50) ws2812B LED indexable precablat
  • Alimentació de 5 volts
  • Taca, pinta, enganxa
  • Arduino Micro o equivalent

Eines necessàries

  • Màquina CNC
  • Soldador
  • Pinces
  • Paper de sorra

Pas 1: Enganxeu la fusta

Enganxa la fusta
Enganxa la fusta
Enganxa la fusta
Enganxa la fusta
Enganxa la fusta
Enganxa la fusta
Enganxa la fusta
Enganxa la fusta

Sempre que enganxo panells de fusta, sempre els faig galetes. Això evita la divisió a causa de la contracció a mesura que la fusta s’asseca. Això és especialment important en aquest projecte, ja que la superfície de connexió de les peces es reduirà a causa de les operacions d'embutxacament CNC. Després d’aconseguir un bon gra de cola a banda i banda i a les dues meitats de les cavitats de galetes, subjecteu i deixeu-ho durant 24 hores.

Després de separar les pinces, utilitzeu una polidora de palma (o si sou valents una polidora per cinturó) i liureu les articulacions suaument. Invariablement tindràs una cola que extreu les juntes i vols polir el tauler perquè quedi el més pla i lliure de taques possible.

ara que tenim els tres panells que necessitarem, passem al treball del CNC!

Pas 2: CNC els tres panells (panell de frontera, nucli de pi i panell LED)

CNC dels tres panells (panell de frontera, nucli de pi i panell de LED)
CNC dels tres panells (panell de frontera, nucli de pi i panell de LED)
CNC dels tres panells (panell de frontera, nucli de pi i panell de LED)
CNC dels tres panells (panell de frontera, nucli de pi i panell de LED)
CNC dels tres panells (panell de frontera, nucli de pi i panell de LED)
CNC dels tres panells (panell de frontera, nucli de pi i panell de LED)
CNC els tres panells (panell de frontera, nucli de pi i panell de LED)
CNC els tres panells (panell de frontera, nucli de pi i panell de LED)

Hi ha tres panells que conformen el projecte. Podeu veure els models al programari que faig servir. Les dades del mapa es van adquirir als excel·lents paquets de mapes maptorians sense drets d'autor. Increïble detall i valor aquí! Els fitxers CAD s’adjunten al pas següent si voleu el fitxer DXF per al CAD o el Vector.

El panell central de LED és bàsicament un full de MDF de 1/4 "mecanitzat que subjecta els LED amb un ajust de fricció ajustat. Notareu en aquest panell una gran" butxaca "al voltant del LED. Això permet que la llum es difongui tan ràpidament com possible per evitar punts calents a l’acrílic.

El nucli és el panell de pi que hem enganxat al pas anterior i representa el teló de fons del projecte. Per tal que la llum arribi als panells acrílics, vam mecanitzar cada comtat.

Finalment, el panell superior es mecanitza només amb els contorns dels comtats i de la frontera estatal. Cada comtat té un petit prestatge que rebrà acrílic difusor de llum de 1/8.

Parlant d’acrílic, és hora de mecanitzar-los.

Pas 3: mecanitzar els comtats a partir d’un full d’acrílic

Image
Image
Mecanitzar els comtats a partir d’un full d’acrílic
Mecanitzar els comtats a partir d’un full d’acrílic
Mecanitzar els comtats a partir d’un full d’acrílic
Mecanitzar els comtats a partir d’un full d’acrílic

La mecanització dels comtats a partir d’acrílic va suposar una petita prova i error. L’acrílic es pot fondre si es mecanitza lentament, de manera que és necessària una velocitat d’alimentació adequada per obtenir bons resultats. Un altre consell és utilitzar una eina el més gran possible amb una bona succió per eliminar les fitxes. Les eines petites no solen netejar les estelles tan fàcilment i generen calor que produeix aquesta fusió indesitjable.

Vaig poder obtenir la resolució que necessitava amb una broca en espiral de dues flautes de 1/8 a 18, 500 rpm i una velocitat d'alimentació de 200ipm. Aquí és útil una bona calculadora de velocitats i feeds. Us recomanaria la de cnccookbook.com Una sola punta de flauta hauria funcionat encara millor, però no en tenia cap. Mantenir petites pestanyes sobre aquestes peces al treball CAM és important per evitar que les peces acabades es trenquin i es projectin a l'habitació.

El desplaçament màgic per fer comtats de la mida adequada va resultar ser un revés de 0,075 respecte a la línia central del dibuix cad. Això va permetre tenir en compte 1/2 de la vora de 1/8 més una mica més perquè el tauler es col·loqués al seu lloc. Es necessitava una petita quantitat de poliment en algunes peces per aconseguir que quedessin al seu lloc. De nou, un munt de friccions peces ajustades van fer aquest treball fàcil i ràpid.

Aconseguir que tots els comtats s’adaptessin a una sola peça d’acrílic va ser un treball senzill amb el meu programari vectric que té una funció de nidificació per maximitzar l’ús de fulls.

Només per diversió, vaig començar a provar d’adaptar algunes peces. Començant a venir. Guai!

Voleu els fitxers per mecanitzar els comtats. Segur! Veure ARXIU adjunt.

Pas 4: Pintar i tacar

Pintar i tacar
Pintar i tacar
Pintar i tacar
Pintar i tacar
Pintar i tacar
Pintar i tacar

Abans de muntar totes les nostres peces, primer hem de pintar i tacar. He utilitzat una combinació de taques per al tauler de fusta, pintura en aerosol per a la capa de vora i un blanc reflectant per a la capa de LED. Treball ràpid i estem en el muntatge. Divertint-se!

Pas 5: enganxeu els panells

Enganxa els panells
Enganxa els panells
Enganxa els panells
Enganxa els panells
Enganxa els panells
Enganxa els panells

Ara és hora d’enganxar el tauler inferior fins a la part inferior del nucli de pi i, a continuació, el tauler de la vora de l’estat MDF fins a la part inferior del nucli de pi. Acabo d’utilitzar una sèrie de pinces per fer-ho.

Pas 6: connecteu els LEDs amb ajust de fricció i connecteu Arduino

Connecteu els LED amb Friction Fit i connecteu Arduino
Connecteu els LED amb Friction Fit i connecteu Arduino
Connecteu els LED amb Friction Fit i connecteu Arduino
Connecteu els LED amb Friction Fit i connecteu Arduino
Connecteu els LED amb Friction Fit i connecteu Arduino
Connecteu els LED amb Friction Fit i connecteu Arduino

Aquest treball de malson va ser molt senzill amb les toleràncies d’ajust a la fricció aquí. Vaig utilitzar l'extrem posterior d'un bolígraf per col·locar-los al seu lloc. Els pràcticament van entrar i no sortiran sense una força significativa. No es va utilitzar cap tipus de cola per a aquesta part del projecte. Això fa que el muntatge sigui molt fàcil. He fet molts projectes on he hagut de barallar el cablejat durant hores i això ha trigat literalment 10 minuts. Aquesta és, amb diferència, la forma més senzilla. Vaig intentar connectar l'estat en ordre de ziga-zaga mantenint les agrupacions de manera que cada comtat fos seqüencial al llarg de la corda.

Connectar-se a l’arduino va ser senzill mitjançant l’ús d’una petita placa de connexió i cables de connexió. La font d'alimentació era una compra d'eBay. 5v i 8amps són excessius per a aquest projecte, però suposa un sobrecàrrec. Cablejar aquestes coses és molt senzill. + 5v al pin VCC, a terra al pin de terra i, a continuació, alimenteu el fil amb la mateixa font de 5v. L’únic pin restant és el pin de dades que alimenta la cadena. En el meu cas, he utilitzat D7 per a dades. Ara a la programació!

Pas 7: Codificació de l'Arduino

Codificació de l'Arduino
Codificació de l'Arduino
Codificació de l'Arduino
Codificació de l'Arduino

Els LED estan alimentats per un arduino que fa que es codifiqui el pastís. Algunes de les rutines inicials van ser manllevades (és a dir, robades) de l'excel·lent biblioteca ws2813fx de github. Va ser fàcil modificar aquestes rutines per fer el que necessitava. L’abast complet del codi seria difícil d’explicar en la seva totalitat, però aquí teniu uns quants aspectes destacats.

Aquí teniu les rutines de demostració disponibles:

#define FX_MODE_STATIC 0 # defineix 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 juny #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_XF_D 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

I una mirada a una de les rutines de mostra.

uint16_t WS2812FX:: mode_breath (void) {// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 // pas uint16_t breath_delay_steps = {7, 9, 13, 15, 16, 17, 18, 930, 19, 18, 15, 13, 9, 7, 4, 5, 10}; // números màgics per respirar LED uint8_t breath_brightness_steps = {150, 125, 100, 75, 50, 25, 16, 15, 16, 25, 50, 75, 100, 125, 150, 220, 255}; // encara més números màgics!

if (SEGMENT_RUNTIME.counter_mode_call == 0) {

SEGMENT_RUNTIME.aux_param = breath_brightness_steps [0] + 1; // fem servir aux_param per emmagatzemar la brillantor}

uint8_t breath_brightness = SEGMENT_RUNTIME.aux_param;

if (SEGMENT_RUNTIME.counter_mode_step <8) {breath_brightness--; } else {breath_brightness ++; }

// actualitza l’índex de retard actual quan s’assoleix la brillantor de l’objectiu, torna a començar després de l’últim pas

if (breath_brightness == breath_brightness_steps [SEGMENT_RUNTIME.counter_mode_step]) {SEGMENT_RUNTIME.counter_mode_step = (SEGMENT_RUNTIME.counter_mode_step + 1)% (sizeof (breath_brightness_steps) / sizeof (uint8_t); }

int lum = mapa (lluminositat_alè, 0, 255, 0, _lluminositat); // mantenir la lluminositat per sota de la brillantor establerta per l'usuari

uint8_t w = (SEGMENT.colors [0] >> 24 & 0xFF) * lum / _brillness; // Modifiqueu els colors RGBW amb informació de brillantor uint8_t r = (SEGMENT.colors [0] >> 16 & 0xFF) * lum / _brillness; uint8_t g = (SEGMENT.colors [0] >> 8 & 0xFF) * lum / _brillness; uint8_t b = (SEGMENT.colors [0] & 0xFF) * lum / _brillness; per a (uint16_t i = SEGMENT.start; i <= SEGMENT.stop; i ++) {Adafruit_NeoPixel:: setPixelColor (i, r, g, b, w); }

SEGMENT_RUNTIME.aux_param = il·luminació_alè;

torna breath_delay_steps [SEGMENT_RUNTIME.counter_mode_step]; }

Es pot descarregar la font completa des del repositori de github ws2812fx.

Pas 8: gaudiu de la pantalla de llum artística

Estava molt content del resultat! Realment és una alegria veure-ho i estic emocionat de seguir jugant amb diverses configuracions de visualització de dades. No dubteu a fer cap pregunta o a trucar-me per qualsevol informació que em faltés.

Concurs LED 2017
Concurs LED 2017
Concurs LED 2017
Concurs LED 2017

Accèssit al Concurs LED 2017

Concurs Arduino 2017
Concurs Arduino 2017
Concurs Arduino 2017
Concurs Arduino 2017

Finalista del Concurs Arduino 2017

Recomanat: