Innholdsfortegnelse:

Interaktiv, åpen kildekode stemning lys: 9 trinn (med bilder)
Interaktiv, åpen kildekode stemning lys: 9 trinn (med bilder)

Video: Interaktiv, åpen kildekode stemning lys: 9 trinn (med bilder)

Video: Interaktiv, åpen kildekode stemning lys: 9 trinn (med bilder)
Video: Det komplette Redux-verktøysettet + RTK-spørringskurs for nybegynnere | Redux om 2 timer! 2024, September
Anonim
Interaktiv, åpen kildekode stemning lys
Interaktiv, åpen kildekode stemning lys

Denne instruksen vil gå gjennom hvordan du lager et interaktivt, multifunksjonelt stemningslys. Kjernen i dette prosjektet er BlinkM I2C RGB LED. Da jeg surfet på nettet en dag, fanget BlinkM oppmerksomheten min, og jeg syntes bare det var altfor kult å slippe unna. Så, et par måneder senere, bestemte jeg meg for at jeg ville lage en slags stemningslys ved å bruke den. Og her er det!

Trinn 1: Hva du trenger

Dette prosjektet kan være ganske billig hvis du bruker de riktige tingene. Jeg vil merke alternative deler som kan brukes til å gjøre det billigere å lage. Jeg brukte bare noen komponenter som er litt dyrere, på grunn av at det gjør byggeprosessen litt enklere.

Lyskilden:

BlinkM RGB I2C-kontrollert LED

Kontrolleren:

Arduino mikrokontroller - Jeg brukte en 'Arduino Nano' fordi jeg trengte noe som var veldig lite, på grunn av mengden ledig plass inne i 'berøringslyset' som ble brukt til å huse alt

Boliger:

Jeg vurderte mange forskjellige kabinetter for dette stemningslyset, og jeg bestemte meg til slutt på noe vi alle er kjent med: de billige, hvite, 'berøringsdommelysene'. Jeg fant en to-pakning hjemme depot for bare $ 4. Mengden plass i disse lysene er mer enn nok til å passe alle komponentene, hvis du gjør det riktig.

Strøm/kontakter:

I begynnelsen tenkte jeg at det ville være kult å bruke batteristrømmen (fordi huset allerede har et praktisk batterirom), men det er ikke så praktisk hvis du skal kjøre det i lange perioder. I stedet brukte jeg en 5,5 mm likestrømkontakt fra radioshack med en 12V 150Ma transformator jeg hadde liggende. Regulatoren om bord på arduinoen reduserer 12 volt, og 150Ma var rikelig strøm for å drive alt. For wire brukte jeg bare det jeg hadde rundt. Sørg for å bruke solid kjernetråd.

Komponenter:

Komponentene brukes til å lage de tre sensorene for stemningslyset: lydsensoren, 'trykk' -sensoren og lyssensoren. For lydsensoren trenger du:- LM741 Op-Amp- Elektretmikrofon (3-leder)- 2,2k motstand- 100k resisor- 200k motstand- 0,47uf elektrolytisk kondensator- 0,047uf keramisk kondensator- 2x 10k motstander- Diode For 'trykk' sensor, du trenger bare:- Piezo-element (du kan redde dette fra visse elektroniske leker, telefoner og mange andre elektroniske enheter som piper, eller du kan få det fra musen, radioshack, etc.).- 1M motstand … Og for lyssensoren trenger du:- CdS-celle (LDR), fortrinnsvis en veldig stor (mer oppløsning).- 10K motstand- 3-pinners topp og krympede koblingskabler (valgfritt)

Annen

Jeg brukte et brødbrett fordi jeg egentlig ikke ønsket å lodde mye. Jeg brukte også mange krympede kontaktledninger for å gjøre alle tilkoblinger sikrere, men de er valgfrie. Alternativt kan du bruke et homebrew utviklingsbord for å støtte ATmega168 micro, og bruke en DIP-stil ATmega168 (den lange med de større ledningene). Jeg er ikke sikker på hvor godt det ville passe, men det er absolutt verdt et forsøk. Hvis du ikke eier/har penger til et brødbrett, kan du lodde ned en vanlig ATmega168 til en PCB og legge til regulatoren, programmeringstilkoblinger, etc.

Trinn 2: Forbered berøringslyset

Forbered berøringslyset
Forbered berøringslyset
Forbered berøringslyset
Forbered berøringslyset
Forbered berøringslyset
Forbered berøringslyset
Forbered berøringslyset
Forbered berøringslyset

Først må vi gjøre det billige o-berøringslyset vi fikk hjemme-depot humør lett. Vri først lyset og fjern batteridekselet og skruene. Inne i batterirommet ser du lyspæren. Ta den ut, og kast den og lyspæren. Deretter åpner du foringsrøret. Nå må vi håndtere makten. Fjern metallbiten i midten av batterirommet samt ledningen som kobler den til en av batterikontaktene. Loddetråder på batterikontaktene som vist. Det kan også være lurt å merke dem hvis du ikke har en annen tråd. Vi skal også gjøre dette stemningslyset brukbart via en transformator i stikkontakten. Bor et hull med en borekrone av omtrent samme størrelse som diameteren på likestrømkontakten. Skru den deretter inn til den er i flukt med foringsrøret. Den siste endringen vi må gjøre her er å legge til piezo -tapsensoren. Det er best å montere det på plastens 'felg' for bedre følsomhet. Jeg har det avbildet senere i denne instruerbare montert andre steder, men det er bare fordi jeg har måttet åpne og lukke foringsrøret under testing så mye at ledningene begynte å gå i stykker. Bare lim det fast på plasten, men pass på at det ikke hindrer den mekaniske bevegelsen på movabke -kuppelen! (dvs. ikke la den stikke for mye ut).

Trinn 3: Legg til strømkretsbeskyttelse

Legg til strømkretsbeskyttelse
Legg til strømkretsbeskyttelse

Denne delen er et enkelt tillegg som bruker dioder for å beskytte veggtransformatoren/batteriene mot å bli stekt hvis du har batteriene installert samtidig som du bruker likestrømkontakten. Du kan bruke hvilken som helst blokkeringsdiode så lenge maksimal spenning for dem er høyere enn veggtransformatoren. Delen merket 'VIN' i den uregulerte strømlisten på brødbrettet (som går til VIN på arduinoen). Delen merket 'DCPower' er DC -strømkontakten. Av en eller annen grunn var programmet jeg brukte til å lage denne skjematikken, veldig kresen når det gjaldt etiketter, så det lot meg kalle det. MERK: Hvis du ikke lager denne kretsen, vil du IKKE kunne beholde batteriene i batterirommet samtidig som stemningslyset er koblet til veggtransformatoren, ellers vil det skade det.

Trinn 4: Legg til brødbrettet, Arduino og BlinkM

Legg til brødbrettet, Arduino og BlinkM
Legg til brødbrettet, Arduino og BlinkM

Før vi legger til brødbrettet, må vi isolere batterikontaktene fra metallbrettplaten (det vil si hvis du har metallplaten festet til din. Hvis ikke, hopp over dette trinnet). Legg litt tape over alle metallkontaktene for å sikre at de er isolerte. Vi vil ikke ha noen eksponert ledning. Lim nå ned (jeg brukte varmt lim) brødbrettet på toppen av batterirommet. Heldigvis for oss passer det tilfeldigvis perfekt. Koble nå de positive (+) og negative (-) ledningene fra trinn 2 til en av brødbrettets positive og negative strømlister. Nå kan vi koble arduino og blinkm sammen. Her er pin -tilkoblingene:

  • A5 - Klokke (merket 'c' på BlinkM)
  • A4 - Data (merket 'd' på BlinkM)

Og en du har gjort det, koble den UREGULERTE VCC (+) til 'VIN' -pinnen på arduinoen, og den REGULERTE VCC til (+) pinnen på BlinkM. Koble deretter GND på arduinoen og BlinkM til GND på strømlisten, og bro begge GND -strømlistene sammen. Vær forsiktig så du ikke blander disse tilkoblingene, ellers kan du steke BlinkM.

Trinn 5: Sensorene - lyd, trykk og lys

Sensorene - lyd, trykk og lys
Sensorene - lyd, trykk og lys
Sensorene - lyd, trykk og lys
Sensorene - lyd, trykk og lys
Sensorene - lyd, trykk og lys
Sensorene - lyd, trykk og lys

Neste i rekken er sensorene. Lyssensoren er den enkleste å konstruere. Ledningen som går til høyre kobles til arduinoen. Mer informasjon om hvilke pinner sensorene kobler til er i neste trinn. Lydsensoren er litt hardere, men ikke latterlig kompleks. MERK: Jeg har ikke vist en spenningsdelerkrets her. 2.5V i skjematikken må leveres via noe som kalles en 'spenningsdeler'. Det er en veldig, veldig enkel krets som består av flere faste motstander, eller en gryte (potensiometer). Bruk en 50K -pott for denne kretsen. Google 'spenningsdeler' og se på wikipedia -oppføringen for å få hjelp til å bygge en. EDIT 27/09/08: Jeg droppet denne lydkretsen og brukte i stedet en som ble berget fra et lydaktivert lysoppheng. Kretsen her fungerer ikke så bra; Jeg er ikke sikker på hvorfor, men designet er feil; noe er ikke helt riktig. Jeg la merke til at kretsen fra anhenget bruker en SMD LM386 op-amp. Jeg loddet akkurat før motstandene gikk til lysdiodene, VCC og GND. Da var det bare å manipulere verdiene i programvaren litt, og presto! bedre fungerende lydresponsivt humørlys. På nåværende tidspunkt er videoen av lyset som pulserer til musikk da den opprinnelige kretsen ble brukt. Kanskje jeg laster opp en annen som viser den forbedrede designen (det ser mer ut som om den reagerer på musikken på grunn av den nye kretsen). Jeg var usikker på hvordan jeg skulle lodde piezo -elementet, så jeg gjettet og loddet det som vist. Det fungerer, skjønt. Polariteten til piezoen spiller ingen rolle. Motstanden er på brødbrettet (ikke vist). En annen VIKTIG MERK: Verdiene for disse kretsene VIL avvike fra dine, så du må gjøre noen justeringer i koden. Hvis du har spørsmål om disse verdiene, er du velkommen til å gi meg beskjed.

Trinn 6: Finn plass til sensorene, og koble til alt

Finn plass til sensorene, og koble til alt
Finn plass til sensorene, og koble til alt
Finn plass til sensorene, og koble til alt
Finn plass til sensorene, og koble til alt

Denne delen bør ikke være for vanskelig. "Berøringslys" -dekselet har god plass til å passe til alt vi trenger for å passe. Jeg plasserte sensorene hvor de måtte passe. Alle tilkoblinger er:

  • Pin A6: Lydsensor - MERK: for ikke -arduino -nano -brukere har andre arduinoer ikke en 7. analoge pin. Du må endre dette i koden.
  • Pin A3: Piezo -sensor (tappesensor)
  • Pin A0: Lyssensor

Sørg for at du ikke ved et uhell kobler sensorens (+) ledninger til den uregulerte strømkabelen, eller du vil steke dem.

Trinn 7: Test den

Test den
Test den
Test den
Test den

Sørg for at strømtilkoblingene er gode; koble den til med strømadapteren, og prøv den med batterier. Et vanlig problem er dårlige forbindelser til positivt og bakken. MERK: Jeg vet at bildet ikke viser lyssensoren; Jeg tok det bare før jeg la til den delen.

Trinn 8: Programmer det, lukk det og bruk det

Programmer det, lukk det og bruk det
Programmer det, lukk det og bruk det
Programmer det, lukk det og bruk det
Programmer det, lukk det og bruk det
Programmer det, lukk det og bruk det
Programmer det, lukk det og bruk det

Koden jeg brukte bruker et bibliotek opprettet av Tod E. Kurt (www.todbot.com/blog) og skaperne av BlinkM (ThingM). Jeg skal prøve å legge til notater i koden når jeg kan for å gjøre det mer forståelig; Jeg har det travelt for tiden. Du må ha kodebiblioteket (filen merket "BlinkM_funcs.h") åpnet i arduino -programvaren når du laster opp koden, ellers fungerer den ikke. Hvis du vil se koden, men ikke har arduino -programvaren, kan du åpne den med et tekstbehandlingsprogram (aka wordpad for Windows -brukere). Ideer til nye funksjoner er velkomne. Send dem gjerne; Jeg vil lage denne åpen kilden. Målet med måten jeg strukturerte koden på er slik at nye funksjoner enkelt kan legges til. Noen av funksjonene er programmert i BlinkM av produsenten (ThingM), men to av dem har jeg laget; 'Sound Light' og 'Mimic Light'. Akkurat nå har den følgende:

  • Stemningslys - Fades sakte til tilfeldige farger
  • Stearinlys - Blinker som et lys med appelsiner og gule
  • Vannrefleksjoner - 'Shimmers' med blues, turkis og cyanfarger
  • Sesongfarger - Vender sesongens farger (jeg tror de er blå, grønn, lilla og oransje)
  • Tordenvær - Blinker av og til som simulerer lyn
  • Stopplys - Skifter fra rødt til gult til grønt og tilbake igjen
  • Etterligner lys - Registrerer en sekvens på opptil 50 av/på -sykluser av lys (du kan bruke en lommelykt), "husker" av/på -tider og spiller dem deretter av i en uendelig sløyfe.
  • Sound Light - Pulserer til lyden av musikk

Trykk lett på den gjennomsiktige kuppelen for å endre funksjoner når som helst. Det er ett unntak fra denne regelen: Når du når funksjonen "etterligne lys", blinker den grønt. Hvis du trykker på kuppelen mens den blinker, går den til den siste funksjonen ('lydlys'). Hvis du bare venter, går den til funksjonen 'etterligner lys'. Når du kommer til funksjonen 'lydlys', kan du ikke endre funksjoner og gå til den første på grunn av måten den leser lydsensoren på. Nå kommer den vanskelige delen. For å lukke skapet for stemningslys må du ta noen forsiktige skritt. Først må du stille opp støttefjærene med de små tappene på plastkuppelen. Siden DC -strømkontakten er på felgen, og ledningene går til brødbrettet, må du føre plastkuppelen over disse ledningene FØRST, deretter stille den ytre felgens skruesøyler opp med fordypningene på plastkuppelen. Sørg for at alle tappene er på linje med plasseringen av støttefjærene, som også samsvarer med skruesøylene på felgen, og skruehullene på bunnplaten. Når du er sikker på at alt er på linje, klikker du den ytre felgen ned på bunnplaten. Sørg deretter for at ingen ledninger sitter fast i fjærene, eller er på et sted der de kan gjøre det i fremtiden. Dette ville hindre bevegelsen av plastkuppelen. Til slutt, bytt ut skruene og nyt! Siste merknader: VIKTIG: IKKE bruk batterier og sett i veggadapteren samtidig. Jeg er ikke sikker på hva som vil skje, men jeg er sikker på at det vil ødelegge alt som er knyttet til strømmen!

Trinn 9: EKSTRA

Her er noen videoer: Dette er en av de 6 forhåndsprogrammerte funksjonene som er innebygd i BlinkM: … Denne er den egendefinerte lyd-/musikkresponsive koden jeg la til (kan du gjette hvilken sang det er?? … Og til slutt, men definitivt ikke minst, er den kuleste (tror jeg) og vanskeligste funksjonen å gjøre av dem alle; funksjonen 'etterligner lys':

Anbefalt: