Innehållsförteckning:

PhotonLamp - en WS2812b utrustad designerlampa med MQTT -kontroll: 5 steg (med bilder)
PhotonLamp - en WS2812b utrustad designerlampa med MQTT -kontroll: 5 steg (med bilder)

Video: PhotonLamp - en WS2812b utrustad designerlampa med MQTT -kontroll: 5 steg (med bilder)

Video: PhotonLamp - en WS2812b utrustad designerlampa med MQTT -kontroll: 5 steg (med bilder)
Video: WS2812b Led Strip with PIC18F26K22 CCS C & ASM (How To) 2024, November
Anonim
Image
Image
The New Innards of the Lamp - Partlist
The New Innards of the Lamp - Partlist

För flera år sedan köpte vi en designlampa som hade en lampskärm i form av en cigarr och var gjord av mjölkglas. Vi gillade den speciella utformningen av skärmen och lampans övergripande utseende. Men jag har inte riktigt varit nöjd med ljuset som kom från fem små standardlampor. Eftersom skuggan har en ganska liten radie fick du inget kontinuerligt ljusintryck men du kunde se de enskilda lamporna genom skuggan. När jag snubblade över en WS2812b LED -remsa fick jag en idé: jag ville konvertera/cykla lampan och byta ut de vanliga glödlamporna mot RGB -lysdioder. För att inte tala om att den "nya" lampan ska kunna styras av Wifi för att få en högre WAF 8-).

Steg 1: Lampans nya inre - dellista

The New Innards of the Lamp - Partlist
The New Innards of the Lamp - Partlist

Eftersom jag redan gjorde några projekt med Particle Photons (https://particle.io) väljer jag denna riktigt snygga controller som bas för mitt projekt. Sammanfattat jag behövde denna hårdvara för att bygga min lampkonvertering:

  • 1x 90 cm rör med M6 metrisk gänga i ena änden
  • 1x partikelfoton
  • 1x ultraljudssensor HC-SR04 (för en speciell twist)
  • några ledningar för att ansluta delarna
  • 1x AC/DC 5V/2A strömförsörjning
  • strömkontakt för lampans bas för att ansluta strömförsörjningen
  • 1x WS2812b LED -remsa med 30 lysdioder per meter (3 m längd)
  • En designlampa

Steg 2: Ledningen

Ledningarna
Ledningarna

Installationen av ledningarna är riktigt enkel: Som visas på fritzing -ritningen måste du ansluta strömförsörjningen till Photon på stift VIN och GND och med + och - i ena änden av den första LED -stripen. HC-SR04 är ansluten med två ganska långa trådar med stift D2 (TRIGGER på HC-SR04) och D3 (ECHO på HC-SR04) på Photon. Stiftet D4 på Photon ansluter till DI för den första LED -randen.

Steg 3: Den hårda delen - Montera bitarna

Den hårda delen - Montera bitarna
Den hårda delen - Montera bitarna
Den hårda delen - Montera bitarna
Den hårda delen - Montera bitarna
Den hårda delen - Montera bitarna
Den hårda delen - Montera bitarna
Den hårda delen - Montera bitarna
Den hårda delen - Montera bitarna

LED-ränderna är självhäftande, men jag säkrade dem med några extra buntband (se detaljbilder). För att hålla trådarna så korta som möjligt bestämde jag mig för att leda de fyra ledremsorna i sicksack - stift D4 på Photon är anslutet till DI för den första raden, DO för den första raden är ansluten i rörets övre ände till DI av den andra randen. DO för den andra raden är ansluten till DI för den tredje randen vid rörets botten. DO för den tredje raden är ansluten till DI för den fjärde randen på toppen av röret. VCC- och GND -linjerna för varje rand är anslutna på samma sätt. Ledningarna för ultraljudssensorn är de längsta och går genom insidan av röret.

Strömförsörjningen är ansluten till ett uttag jag satte in i hålet i lampans bas där 220V strömkabel i originalversionen gick igenom. Strömkablar går från denna kontakt till VIN/GND på Photon, till VCC/GND på ledremsorna och till ultraljudssensorn.

Steg 4: De mjuka delarna - inbyggd programvara tillgänglig på Github

De mjuka delarna - inbyggd programvara tillgänglig på Github
De mjuka delarna - inbyggd programvara tillgänglig på Github

Den fasta programvaran är tillgänglig i detta git -arkiv på Github:

github.com/happenpappen/PhotonLamp

Om du använder samma stift för att ansluta LED-remsan och HC-SR04 är det enda du behöver ändra innan du sammanställer koden att skapa en fil "MQTT_credentials.h" i "src" -katalogen som innehåller tre rader:

#define MQTT_HOST "" #define MQTT_USER "" #define MQTT_PASSWORD ""

Det finns flera bra guider för hur du konfigurerar en myggserver som du enkelt kan hitta med din favorit sökmotor …

Steg 5: Firmware - Hur man använder MQTT -anslutningen

Image
Image

Jag använder en Rasperry Pi 3 med mygga (https://www.mosquitto.org) som MQTT -server, se dess dokumentation om hur du konfigurerar den. Du kan prenumerera på ämnet ([device id] = ID för din Particle Photon):

/[enhets-ID]/#

för att se om den lyckas ansluta till servern och om den kan lägga upp status:

Utdata ska se ut så här ([enhets -id] = ID för din partikelfoton):

/[enhets -id]/state/DisplayMode 8

/[enhets -id]/tillstånd/Ljusstyrka 250/[enhets -id]/tillstånd/ForgroundColor 100, 023, 014/[enhets -id]/tillstånd/BackgroundColor 034, 006, 034/[enhets -id]/tillstånd/MaxDistance 92/[enhets -id]/state/LastDistance 92/[device id]/state/CurrentDistance 92/[device id]/state/FirmwareVersion 0.6.3

Den exakta utmatningen kan bero på vilken firmwareversion du använder.

Men det finns roligare i det: Genom att publicera till:

/[enhets -id]/set/[parameter] [värde]

du kan ändra mönstret som visas samt vissa färger.

För att ändra färger skicka:

/[enhets -ID för Particle Photon]/set/ForgroundColor/[röd], [grön], [blå]

/[enhets -ID för Particle Photon]/setBackgroundColor/[röd], [grön], [blå]

För [röd], [grön] och [blå] sätter du in decimalvärdena för respektive färg.

För att ändra visningsmönstret, skicka:

/[enhets -id för Particle Photon]/set/DisplayMode [värde mellan 1 och 11]

Nuvarande implementerade visningslägen är:

  1. Ljud
  2. RainbowCycle
  3. NoisePlusPalette
  4. SingleColor
  5. Cylon
  6. Regn
  7. Brand
  8. Horisontell delning
  9. HorizontalDoubleSplit
  10. VerticalSplit
  11. Spiral (under utveckling)

Några av dem är från exempelavsnittet i FastLED.

För att ändra ljusstyrka, skicka:

/[enhets -id]/set/Ljusstyrka [värde mellan 1 och 100]

Rekommenderad: