Sådan bygges en skylampe med lydreaktiv lyn

  • Joseph Goodman
  • 0
  • 1503
  • 109
Reklame

For et par måneder tilbage gik en torden fra $ 3000 og lynstemningslampe viral i producentens samfund. Det var et forbløffende smukt lys, men prislappen forlod det uden for rækkevidde af nogen med deres fornuft intakt. Det, vi laver i dag, er ikke nøjagtigt det samme - vi gør noget mere praktisk i stedet for et kunstværk, men det bliver meget køligere og mere tilpasses.

Jeg har valgt at udelade højttalere under antagelse af, at du sandsynligvis allerede har et godt par højttalere i dit værelse, som du hellere vil bruge, og helt ærligt er det at placere en højttaler i en lampe. I stedet tilføjer jeg en mikrofon, der giver lynet mulighed for at reagere automatisk på høje lyde - enten fra en faktisk tordenvejr eller et lydspor, der spilles fra din pc eller stereo.

Vi vil også bruge en streng med fulde RGB Neopixel LEDs (WS2812B), så vi kan gengive andre farver end hvid og have kontrol over hver pixel.

Advarsel: strømforsyningen, jeg har brugt i dette projekt, har skrueterminaler, der sluttes til en strømkabel. Hvis du ikke føler dig sikker på at tilslutte et stik, skal du sørge for at købe en helt lukket strømforsyning. I det mindste skal du omslutte PSU'en i en sikker projektboks.

Trin 0: Introduktion

Her er en demovideo af det færdige projekt. Jeg har indført et par forskellige tilstande indtil videre fra standard lynnedslag til en trippy acid sky og en farve falmende lampe, som kan vælges fra fjernbetjeningen.

Den nødvendige kode og biblioteker er tilgængelige til download fra dette Github-arkiv.

Trin 1: Du har brug for

  • WS2812B streng, typisk pris til omkring $ 50 for 5 meter. Bare rolig, hvis du har en anden type Neopixel-streng, det understøttes næsten helt sikkert af FastLED-grænsefladen, men dine ledninger kan være forskellige (du kan muligvis kræve en synkroniseringslinje udover signalet, f.eks.).
  • 5V, 10A + strømforsyning - Jeg købte nogle 15A enheder til $ 11 hver. De tager 120-240V vekselstrømsindgang og producerer en heftig 5V udgang, som vil være mere nok til at drive alle vores pixels med fuld lysstyrke, og Arduino.
  • Elektrisk kabling, stik og inline-afbryder
  • Projektindkapsling
  • To Arduinos. $ 10 Funduino-kloner er fine. Den anden er nødvendig for fjernbetjening, mens den første styrer hovedlogik og LED'er.
  • To 2.2k (eller deromkring) Ohms-modstande - den nøjagtige værdi betyder ikke så meget, omkring 1,5k op til 47k skal fungere.
  • breadboard
  • TSOP4838 IR-modtager
  • IR-fjernbetjening - Jeg købte i bulk for ca. $ 2 hver, men enhver fjernbetjening skulle arbejde med kodemodifikationer.
  • Stort mikrofonmodul
  • Skrab MDF-træ til at skære din base fra og en puslespil.
  • Polystyren pakningsmateriale / æskeindsatser.
  • Polypropylen bomuldspude fyld. Jeg trak mere end nok fra et par forfærdelige gamle puder. Hvis det ikke er en mulighed, skal du være i stand til at købe noget nyt for omkring $ 10 eller bruge endnu billigere bomuld. Jeg prøvede med begge dele - bomuldsullen havde brug for mere arbejde med at skulle drille den ud og var ikke så fluffy, men i en knivspids vil den fungere.
  • Kæde og kroge til at hænge skyen - skal holde mere end 5 kg.
  • Limpistol med lav temperaturindstilling
  • Spray lim - lettere at sætte fyldet på din sky med dette, men en limpistol kan også fungere.

De samlede omkostninger er omkring $ 100 inklusive værktøjer, men det meste af dette skrumpede jeg rundt fra huset. Alle elektronikkomponenter er almindeligt tilgængelige; mikrofonen findes i et sensorsæt eller købes individuelt.

Trin 2: Klip basen

Klip en grov base ud af et skrot stykke MDF med en puslespil - den nøjagtige form er naturligvis op til dig, men af ​​en eller anden grund er en sky nyrebønne formet i mit sind. Vi vil fastgøre nogle kroge i dette til ophæng, men ellers giver det bare en solid base at bygge videre på. Det centrale område vil være forbeholdt elektronik, PSU og til at udlevere kæden fra, så sørg for at du har tilstrækkelig plads til mindst at placere dit projektindkapsling med nogle kroge, der omgiver det.

Trin 3: Lag på polystyren

Dette er mest vanskelige og kreative trin, men vi skaber virkelig bare noget solidt og kinda-sorta skyformet for at lime LED-strimlen på. Lim store stykker polystyren, der pakkes på basen (og under den), ved hjælp af en lav varmeindstilling på din limpistol. Hvis du ikke har en lav indstilling, skal du slukke for varmepistolen og lade den afkøle lidt, inden du prøver at lime. Hvis temperaturen er for høj, smelter du simpelthen gennem pakningsmaterialet.

Sørg for, at hvert stykke er solidt, før du limer det næste, og det er bedst at klæbe mere på end ikke nok.

Husk igen at efterlade et stort nok hulrum inde i skyen til at passe til elektronik, kæde og kroge.

Trin 4: Skær en 3D Cloud Shape

Brug en udskærings kniv til at slå din sky ved at afrunde hjørnerne og skære unødvendigt materiale væk, indtil du har opnået en grov 3D skyform. Det betyder ikke noget, hvor groft dette er, da vi dækker alt med fyldning senere - du kan nemt skjule fejl.

Trin 5: Fix kroge, rydde op

Til sidst fastgøres tre eller fire kroge til MDF-basen fra inde i hvert hjørne af skyens hulrum. Du skal bore et lille pilothul, da MDF er svært at skrue lige ind i.

Jeg gav også alt et enkelt lag hvid spraymaling for at sikre en ensartet farvebase, men jeg er ikke sikker på, at det faktisk var nødvendigt.

Trin 6: Lim LED-strips

Før du begynder at påføre lim på lysdioderne, skal du enten starte fra en ny strimmel eller tælle, hvor mange lysdioder du har i alt - du skal finde ud af, hvor mange du har brugt senere i programmeringstrinnet. Skær et lille hul i siden af ​​din sky og stikk gennem ledningerne, der udgør begyndelsen af ​​din LED-strip ind i skyhulen. Vær meget forsigtig med at starte fra den rigtige ende - LED-strimlerne er retningsfølsomme, så sørg for, at signalpile vender væk fra hulrummet.

Arbejd langsomt, sæt LED-pixels på polystyrenbasen i et cirkulært mønster, før du trækker strimlen ned til basen for at dække undersiden. Igen - du behøver ikke være perfekt her, for når vi først har diffunderet alt og kvalt det med fyld, ser det alligevel ret fantastisk ud.

Jeg brugte i alt 85 lysdioder, eller lidt over 2,5 m, efter at have omkranset hoveddelen to gange og brugt en enkelt streng lysdioder på undersiden.

Trin 7: Forbindelsesdiagram

Ledningerne er komplekse, men let opdeles i sektioner.

Først skal du få strømforsyningen tilsluttet og sikret, helst i et separat projektilfælde. Jeg vil ikke forelægge dig om sikkerheden ved direkte AC-ledninger, så jeg antager, at du kan håndtere denne del, og du har en 5V- og GND-linje derfra.

VIGTIG: Når du programmerer og tester Arduino, skal 5V fra din strømforsyning forblive isoleret fra Arduino'erne (GND'erne er dog alle tilsluttet) - det skal kun tænde LED-strip, mens Arduino bruger 5V, der leveres via USB. Når du er færdig med programmeringen, skal USB kobles fra og vil ikke længere levere 5V til Arduino - på dette tidspunkt skal du forbinde 5V fra din forsyning til 5V skinnen på venstre side af brødbrættet.

Start med at forbinde jorden og 5V-stifterne fra hver Arduino til venstre sideskinner på brødbrættet. De vil dele den samme strømkilde, hvad enten det er den eksterne PSU, vi har, eller USB, der er tilsluttet en af ​​dem.

Derefter skal du fuldføre I2C-ledningsafsnittet - det er dette, der gør det muligt for vores to Arduinos at kommunikere. Tag A4-stifterne fra begge Arduinos på en enkelt række på brødbrættet, og tilslut derefter en 2,2 k-modstand fra denne række til 5V skinne. Gentag for A5, tilslut dem på separat række med en anden 2,2 k modstand igen til 5V.

Tilslut IR-modtageren næste - check pin-konfiguration, hvis du har en anden model, men dybest set skal signalstiften gå til D11 på en Arduino. Upload thundercloud_ir_receiver.ino tegne til denne Arduino (al kode her), og tag derefter USB-stikket ud, da vi ikke længere har brug for det.

Tilslut den anden Arduino Data ind signalstift fra starten af ​​din LED-strip til D6. GND fra dine LED'er skal være fælles med alle Arduinos, men på dette tidspunkt kommer 5V direkte fra PSU.

Tilslut også mikrofonmodulet til A0 på denne Arduino. Upload den anden thundercloud.ino tegne, og hold USB'et tilsluttet i øjeblikket, mens du fejler. Begynd med at ændre NUM_LEDS variabel passende.

Trin 8: Lim på fyldningen

Som et sidste trin, lim på din fyldning. Der er ingen særlig teknik her - sprøjt bare skyen med et lag lim og tag en håndfuld fyldning på. Det er lettere at arbejde med fyld, hvis du allerede har drillet det for at øge overfladearealet.

Hvis du har brugt den samme fjernbetjening som jeg gjorde, sætter STROBE-knappen den i lydreaktiv sky-tilstand; FLASH er den trippy farvetilstand, og FADE er den langsomt falmende farvestemningslampe.

Trin 9: Forklaring af kode

Hvorfor to Arduinoer? Både den infrarøde modtagerprogrammering og WS2818B-pixeldriverbiblioteket er meget følsomme over for timing - hvis timingen er forsinket, er IR-signalet beskadiget. Ved at give hvert kredsløb en egen mikrocontroller og lade dem tale over I2C-protokollen, kan vi sikre, at timingen er perfekt på hver. Du kan også finde separate IR-moduler med deres egen mikrocontroller indbygget, men min forskning fandt, at de faktisk koster mere end en simpel Arduino-klon og IR-LED. Thundercloud_ir_receiever burde ikke kræve forklaring, selvom du måske ønsker at læse op på I2C-basics først.

På den vigtigste thundercloud-controller definerer vi forskellige driftsformer, såsom ON (lyneffekterne er ikke lydaktiverede), CLOUD (lynet er kun lydaktiveret), ACID (skyen viser trippy farver) eller enkle enkeltfarvetilstande. For at definere en ny tilstand skal du tilføje til enum først, åbn derefter konsollen og find en fjernbetjeningsknap, der skal kortlægges - hvert fjernpresse skal udskrive en linje med fejlfinding. I receiveEvent () metode, vi kortlægger disse tastetryk til en tilstand, så tilføj en ekstra switch-erklæring der. Endelig i det væsentlige loop () metoden vi ruter disse funktionsvalg til forskellige displayfunktioner.

Mikrofonudjævningskoden er oprindeligt fra Adafruit - jeg forenklede den til vores behov og tilføjede en trigger, når der høres en højere end gennemsnitlig støj.

Trin 10: Lyntilstande

Lynskærmene kombinerer tre forskellige “typer” af lyn for at opnå noget tilstrækkeligt realistisk eller i det mindste behageligt for øjet. Den første type er crack (), hvor hver LED kort tændes i mellem 10-100ms. Den anden type er rullende () - hvor hver LED har en 10% chance for at aktivere, og hele løkken gentages 2-10 gange med en 5-100ms forsinkelse mellem hver cyklus. Den tredje type er thunderburst (), der vælger to forskellige sektioner af strimlen, hver mellem 10-20 lysdioder, blinker disse sektioner kort fra 3-6 gange. Undersøg disse metoder detaljeret for at se, hvordan individuelle LED'er aktiveres - HSV-farvehjulet bruges i hele (så hvidt er H = 0, S = 0, V = 255). Jeg vil opfordre dig til at finpusse eller skrive nye lynskærme og derefter dele dem i kommentarerne, hvis du laver en, du kan lide.

Hver gang lynet udløses eller loopen køres, vælger skyen tilfældigt mellem de tre lyntyper. Endelig a Nulstil() metode slukker for alle lysene, ellers gør de det “Husk” deres tidligere tilstand.

Spørgsmål eller problemer - kontakt venligst kommentarerne, så gør jeg mit bedste for at hjælpe. Hvis du har en Github-konto, er du velkommen til at sende fejl eller problemer i sporing af problemer i stedet. Hvis du har foretaget ændringer eller skrevet nogle nye lysfunktioner, skal du dele et link til din kode på Gist eller Pastebin.




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.