Innehållsförteckning:

Interaktivt, öppen källkodsljus: 9 steg (med bilder)
Interaktivt, öppen källkodsljus: 9 steg (med bilder)

Video: Interaktivt, öppen källkodsljus: 9 steg (med bilder)

Video: Interaktivt, öppen källkodsljus: 9 steg (med bilder)
Video: Störig granne 2024, November
Anonim
Interaktivt, öppen källkodsljus
Interaktivt, öppen källkodsljus

Denna instruerbara kommer att gå igenom hur man gör ett interaktivt, multifunktionellt humörljus. Kärnan i detta projekt är BlinkM I2C RGB LED. När jag surfar på nätet en dag, fångade BlinkM min uppmärksamhet, och jag tyckte bara att det var alldeles för coolt att klara av. Så, ett par månader senare, bestämde jag mig för att göra något slags humörljus med den. Och här är det!

Steg 1: Vad du behöver

Det här projektet kan vara ganska billigt om du använder rätt grejer. Jag kommer att notera alternativa delar som kan användas för att göra det billigare att göra. Jag använde bara några komponenter som är lite dyrare, på grund av att det gör byggprocessen lite enklare.

Ljuskällan:

BlinkM RGB I2C-kontrollerad LED

Kontrollenheten:

Arduino mikrokontroller - Jag använde en 'Arduino Nano' eftersom jag behövde något som var riktigt litet, på grund av den mängd utrymme som fanns tillgängligt inuti 'peklampan' som används för att hysa allt

Hus:

Jag övervägde många olika höljen för det här humörljuset och slutligen bestämde jag mig för något vi alla känner till: de billiga, vita, 'touch dome-lamporna'. Jag hittade ett tvåpaket hemma för endast ca $ 4. Mängden utrymme i dessa lampor är mer än tillräckligt för att passa alla komponenter, om du gör det rätt.

Ström/kontakter:

I början tyckte jag att det skulle vara häftigt att köra bort detta från batteriström (eftersom huset redan har bekvämt ett batterifack), men det är inte så praktiskt om du ska köra det under långa perioder. Istället använde jag en 5,5 mm likströmskontakt från radioshack med en 12V 150Ma transformator jag hade liggande. Regulatorn ombord på arduino sänker de 12 volt och 150Ma var mycket ström för att driva allt. För tråd använde jag bara vad jag hade runt. Var noga med att använda fast kärntråd.

Komponenter:

Komponenterna används för att göra de tre sensorerna för stämningsbelysningen: ljudsensorn, 'tryck' -sensorn och ljussensorn. För ljudsensorn behöver du:- LM741 Op-Amp- Elektretmikrofon (3-ledad)- 2,2k motstånd- 100k resisor- 200k resistor- 0,47uf elektrolytkondensator- 0,047uf keramisk kondensator- 2x 10k resistorer- Diod För "tryck" -sensor, du behöver bara:- Piezo-element (du kan rädda detta från vissa elektroniska leksaker, telefoner och många andra elektroniska enheter som piper, eller så kan du få det från musen, radioshack, etc.).- 1M motstånd … Och för ljussensorn behöver du:- CdS-cell (LDR), helst en mycket stor (mer upplösning).- 10K motstånd- 3-stifts huvud och krympade anslutningskablar (tillval)

Övrig

Jag använde en brödbräda eftersom jag egentligen inte ville löd mycket. Jag använde också många krympade anslutningskablar för att göra alla anslutningar säkrare, men de är valfria. Alternativt kan du använda en homebrew-utvecklingskort för att stödja ATmega168-mikro och använda en Dm-stil ATmega168 (den långa med de större avledningarna). Jag är inte säker på hur bra det skulle passa men det är verkligen värt ett försök. Om du inte äger/har pengar för en brödbräda kan du lödda ner en vanlig ATmega168 till ett kretskort och lägga till regulatorn, programmeringsanslutningar etc.

Steg 2: Förbered 'touch light'

Förbered 'touch light'
Förbered 'touch light'
Förbered 'touch Light'
Förbered 'touch Light'
Förbered 'touch Light'
Förbered 'touch Light'
Förbered 'touch Light'
Förbered 'touch Light'

Först måste vi göra det billiga o-touch-ljuset som vi fick hemma hos oss på ett lättvänligt humör. Vänd först lampan och ta bort batteriluckan och skruvarna. Inuti batterifacket ser du lampan. Ta ut den och släng den och glödlampan. Öppna sedan höljet. Nu måste vi hantera kraften. Ta bort metallbiten i mitten av batterifacket samt kabeln som ansluter den till en av batterikontakterna. Lödtrådar på batterikontakterna enligt bilden. Du kanske också vill märka dem om du inte har annan färgad tråd. Vi kommer också att göra detta humörljus funktionsdugligt via en vägguttagstransformator. Borra ett hål med en borr ungefär lika stor som diametern på likströmskontakten. Skruva sedan in den tills den är i linje med höljet. Den sista ändringen vi behöver göra här är att lägga till piezokranen. Det är bäst att montera den på plastkanten för bättre känslighet. Jag har den avbildad senare i denna instruerbara monterad någon annanstans, men det är bara för att jag har varit tvungen att öppna och stänga höljet under testning så mycket att trådarna började gå sönder. Helt enkelt limma fast den på plasten, men se till att den inte hindrar den mekaniska rörelsen på movabke -kupolen! (dvs låt det inte sticka ut för mycket).

Steg 3: Lägg till strömkretsskydd

Lägg till strömkretsskydd
Lägg till strömkretsskydd

Denna del är ett enkelt tillägg som använder dioder för att skydda väggtransformatorn/batterierna från att bli stekta om du har installerat batterierna samtidigt som du använder likströmskontakten. Du kan använda alla blockeringsdioder så länge den maximala spänningen för dem är högre än väggtransformatorns klassificering. Delen märkt 'VIN' i den oreglerade kraftremsan på brödbrädan (som går till VIN på arduino). Delen märkt 'DCPower' är likströmskontakten. Av någon anledning var programmet jag använde för att göra den här schemat mycket kräsen när det gäller etiketter, så det lät mig namnge det. OBS! Om du inte gör den här kretsen kommer du INTE att kunna förvara batterierna i batterifacket samtidigt som du har humörljuset anslutet till väggtransformatorn, annars skadar det det.

Steg 4: Lägg till brödbrädan, Arduino och BlinkM

Lägg till brödbrädan, Arduino och BlinkM
Lägg till brödbrädan, Arduino och BlinkM

Innan vi lägger till brödbrädan måste vi isolera batterikontakterna från metallbrädans baksida (det vill säga om du har metallplattan fast vid din. Om inte, hoppa över det här steget). Lägg lite tejp över alla metallkontakter för att se till att de är isolerade. Vi vill inte ha någon exponerad tråd. Limma nu ner (jag använde varmt lim) brödbrädan ovanpå batterifacket. Lyckligtvis för oss, det råkar passa perfekt. Anslut nu de positiva (+) och negativa (-) ledningarna från steg 2 till en av brödbrädans positiva och negativa kraftuttag. Nu kan vi ansluta arduino och blinkm tillsammans. Här är stiftanslutningarna:

  • A5 - Klocka (märkt 'c' på BlinkM)
  • A4 - Data (märkt 'd' på BlinkM)

Och en du har gjort det, anslut den OREGULERADE VCC (+) till 'VIN' -stiftet på arduino och REGLERAD VCC till (+) stiftet på BlinkM. Anslut sedan GND på arduino och BlinkM till GND på kraftuttaget, och överbrygg båda GND -kraftuttag tillsammans. Var försiktig så att du inte blandar ihop dessa anslutningar, annars kan du steka BlinkM.

Steg 5: Sensorerna - Ljud, tryck och ljus

Sensorerna - ljud, tryck och ljus
Sensorerna - ljud, tryck och ljus
Sensorerna - ljud, tryck och ljus
Sensorerna - ljud, tryck och ljus
Sensorerna - ljud, tryck och ljus
Sensorerna - ljud, tryck och ljus

Nästa på raden är sensorerna. Ljussensorn är den enklaste att konstruera. Tråden som går till höger ansluter till arduino. Mer information om vilka stift som sensorerna ansluter till är i nästa steg. Ljudsensorn är lite hårdare, men inte löjligt komplex. OBS: Jag har inte visat en spänningsdelarkrets här. 2.5V i schemat måste tillhandahållas via något som kallas en 'spänningsdelare'. Det är en mycket, mycket enkel krets som består av flera fasta motstånd, eller en kruka (potentiometer). Använd en 50K -kruka för denna krets. Googla "spänningsdelare" och titta på wikipedia -posten för att få hjälp med att konstruera en. EDIT 27/09/08: Jag släppte den här ljudkretsen och använde istället en som bärgades från ett ljudaktiverat upplyst hängsmycke. Kretsen här fungerar inte så bra; Jag är inte säker på varför, men designen är bristfällig; något är inte riktigt rätt. Jag märkte att kretsen från hänget använder en SMD LM386 op-amp. Jag lödde precis innan motstånden gick till lysdioderna, VCC och GND. Sedan var det bara att manipulera värdena i programvaran lite, och presto! bättre fungerande ljudmottagande humörljus. Vid den aktuella tiden är videon av ljuset som pulserar till musik när den ursprungliga kretsen användes. Kanske laddar jag upp en till som visar den förbättrade designen (det ser mer ut som att den svarar på musiken på grund av den nya kretsen). Jag var osäker på hur jag skulle löda piezo -elementet, så jag gissade och lödde det som visas. Det fungerar dock. Piezos polaritet spelar ingen roll. Motståndet finns på brödbrädan (visas inte). En annan VIKTIG ANMÄRKNING: Värdena för dessa kretsar kommer att skilja sig från din, så du MÅSTE göra några justeringar i koden. Om du har några frågor om dessa värden, meddela mig gärna.

Steg 6: Hitta utrymme för sensorerna och anslut allt

Hitta utrymme för sensorerna och anslut allt
Hitta utrymme för sensorerna och anslut allt
Hitta utrymme för sensorerna och anslut allt
Hitta utrymme för sensorerna och anslut allt

Den här delen ska inte vara för hård. "Touch light" -höljet har gott om plats för allt vi behöver för att passa. Jag placerade sensorerna var de skulle passa. Alla anslutningar är:

  • Pin A6: Ljudsensor - OBS: för icke -arduino -nano -användare har andra arduinoer inte en sjunde analoga stift. Du måste ändra detta i koden.
  • Stift A3: Piezosensor (knackningssensor)
  • Stift A0: Ljussensor

Se till att du inte av misstag ansluter sensorns (+) sladdar till den oreglerade nätsladden, eller så steker du dem.

Steg 7: Testa det

Testa det
Testa det
Testa det
Testa det

Se till att strömanslutningarna är bra; Anslut den med nätadaptern och prova med batterier. Ett vanligt problem är dåliga kopplingar till positivt och mark. OBS: Jag vet att bilden inte visar ljussensorn; Jag tog det bara innan jag lade till den delen.

Steg 8: Programmera den, stäng den och använd den

Programmera det, stäng det och använd det
Programmera det, stäng det och använd det
Programmera den, stäng den och använd den
Programmera den, stäng den och använd den
Programmera det, stäng det och använd det
Programmera det, stäng det och använd det

Koden jag använde använder ett bibliotek skapat av Tod E. Kurt (www.todbot.com/blog) och skaparna av BlinkM (ThingM). Jag ska försöka lägga till anteckningar i koden när jag kan för att göra den mer begriplig; Jag är ganska upptagen just nu. Du måste ha kodbiblioteket (filen märkt "BlinkM_funcs.h") öppnat i arduino -programvaran när du laddar upp koden annars fungerar den inte. Om du vill se koden men inte har arduino -programvaran kan du öppna den med ett ordbehandlingsprogram (aka wordpad för Windows -användare). Idéer till nya funktioner är välkomna. Lägg dem gärna; Jag vill göra detta till öppen källkod. Syftet med hur jag strukturerade koden är så att nya funktioner enkelt kan läggas till. Några av funktionerna är programmerade i BlinkM av tillverkaren (ThingM), men två av dem har jag gjort; 'Sound Light' och 'Mimic Light'. Just nu har den följande:

  • Mood Light - bleknar långsamt till slumpmässiga färger
  • Ljus - Flimrar som ett ljus med apelsiner och gula
  • Vattenreflektioner - "Shimmers" med blues, turkos och cyanfärger
  • Säsongens färger - Vänder säsongens färger (jag tror att de är blå, grön, lila och orange)
  • Åska - Blinkar ibland som simulerar blixtnedslag
  • Stoppljus - Växlar från rött till gult till grönt och tillbaka igen
  • Mimic Light - Spelar in en sekvens med upp till 50 tändnings-/avstängningscykler (du kan använda en ficklampa), "memorerar" på/av -tiderna och spelar sedan upp dem i en oändlig loop.
  • Sound Light - Pulserar till ljudet av musik

Knacka lätt på den genomskinliga kupolen för att ändra funktioner när som helst. Det finns ett undantag från denna regel: när du når funktionen "efterlikna ljus" blinkar den grönt. Om du trycker på kupolen medan den blinkar går den till den sista funktionen ('ljudljus'). Om du bara väntar går det till funktionen "efterlikna ljus". När du kommer till funktionen "ljudljus" kan du inte ändra funktioner och gå till den första på grund av hur den läser ljudsensorn. Nu kommer den svåra delen. För att stänga stämningsbelysningen måste du ta några försiktiga steg. Först måste du ställa in stödfjädrarna med de små flikarna på plastkupolen. Eftersom likströmskontakten sitter på fälgen och trådarna går till brädbrädan måste du först föra plastkupolen över dessa ledningar och sedan ställa in den yttre fälgens skruvkolumner med fördjupningarna på plastkupolen. Se till att alla flikarna ligger i linje med placeringen av stödfjädrarna, som också motsvarar skruvkolumnerna på fälgen och skruvhålen på bottenplattan. När du är säker på att allt är i linje, fäst den yttre fälgen ner på bottenplattan. Se därefter till att inga trådar fastnar i fjädrarna eller är på en plats där de kan komma i framtiden. Detta skulle hindra rörelsen av plastkupolen. Slutligen, byt ut skruvarna och njut! Slutanmärkningar: VIKTIGT: använd INTE batterier och sätt i väggadaptern samtidigt. Jag är inte säker på vad som kommer att hända men jag är säker på att det kommer att förstöra allt som är kopplat till kraften !!

Steg 9: EXTRA

Här är några videor: Detta är en av de 6 förprogrammerade funktionerna som är inbyggda i BlinkM: … Den här är den anpassade ljud-/musikkänsliga koden jag lade till (kan du gissa vilken låt det är … ?: … Och slutligen, men definitivt inte minst är den coolaste (tycker jag) och svåraste funktionen att göra av dem alla; funktionen 'efterlikna ljus':

Rekommenderad: