Inhoudsopgave:

Super kerstboomverlichting - Ajarnpa
Super kerstboomverlichting - Ajarnpa

Video: Super kerstboomverlichting - Ajarnpa

Video: Super kerstboomverlichting - Ajarnpa
Video: Twinkly App Controlled Smart Christmas Lights - Christmas Designers 2024, November
Anonim
Image
Image

Dit jaar kocht ik een kerstboom, de eerste die ik ooit heb gehad. Dus de volgende logische stap was om het te versieren. Rondkijken op

de opties voor lichten Ik ontdekte dat er eigenlijk geen lichten waren die precies deden wat ik wilde. Het enige wat ik wilde was een paar kerstboomlampjes die konden knipperen en van kleur konden veranderen, en die konden worden bediend vanaf een telefoon, of een knop, of stem, allemaal 100% maatwerk en herprogrammeerbaar. Ik zou toch iets op Amazon kunnen vinden om precies dat te doen? Maar na veel zoeken vond ik niets van dien aard, dus besloot ik in plaats van de droom op te geven om sommigen zelf te laten doen wat ik wil. Maar genoeg van een introductie en over hoe ik het deed. Er zijn veel veranderingen en verbeteringen die je kunt aanbrengen in hoe ik het heb gedaan, ik moedig je aan om je versie te gaan bouwen met de mijne als opstapje, de goede delen te gebruiken en de slechte te verbeteren.

Ik ben van plan om de komende maand aan dit project toe te voegen als de boom staat, dus zoek binnenkort naar updates.

Voor benodigdheden heb ik het volgende gebruikt:

  • Raspberry Pi 3 (sd-kaart, voeding)
  • Fadecandy LED-bord
  • WS2811 Adresseerbare LED's in kerstboomlichtstijl (niet de gebruikelijke strips die u vindt) Ik heb acht 50LED-strengen gebruikt
  • 5V 60A voeding en netsnoer
  • Draad Krimpkous
  • 3-pins JST SM-jumpers

Voor tools heb ik het volgende gebruikt:

  • Solderen
  • Ijzer (soldeer, vloeimiddel, enz.)
  • Schroevendraaier
  • Draadknippers/strippers
  • Multimeter

Stap 1: Kracht

Stroom!
Stroom!
Stroom!
Stroom!

Ik had een extra 5V 60A voeding over van een vorig project, dus die heb ik gebruikt, maar jij

kan wegkomen met een veel kleinere voeding, afhankelijk van het aantal LED's dat u gaat gebruiken. Ik had waarschijnlijk een 30A-voeding kunnen gebruiken en was in orde met 500LED's, maar aangezien ik al een 60A-voeding had, gebruikte ik dat.

Deze gewone DC-voedingen hebben geen netsnoeren, dus eerst moet u dat doen, begin met het afsnijden van het uiteinde van een netsnoer, u gebruikt dan een multimeter om de pinnen op de C13 (de vrouwelijke end) end om erachter te komen welke kleur overeenkomt met Neutraal, wat Load is en welke aarde.

Als je kijkt naar het einde en gericht op twee lagere gaten en een hogere, zou de pin-out als volgt moeten zijn. Bovenaan bevindt zich de grondpen, de linker is neutraal, de rechter is Load. Ik moedig je aan om, als je twijfelt, eens op YouTube te kijken om dit te doen. Wees voorzichtig bij het omgaan met elektriciteit, vooral hoge spanning zoals wat uit de muren komt.

Als je eenmaal hebt vastgesteld welke kleur die is, strip je de isolatie van het uiteinde van de draad en zet je ze vast in de bijbehorende klemmen. Controleer voordat u de stekker in het stopcontact steekt of de schakelaar aan de zijkant (indien aanwezig) op 110V staat en niet op 220V. Op dit punt sluit u het aan en bevestigt u dat het wordt ingeschakeld. Als dit het geval is, moet u de uitvoer bevestigen, hiervoor heb ik de multimeter gebruikt om de V + en V- DC-spanning te controleren. De mijne was 5.5V toen ik het mat, ik heb toen de schroef links van de terminals aangepast om dat dichter bij 5V te brengen.

Stap 2: Bereid de LED's voor

Bereid de LED's voor
Bereid de LED's voor
Bereid de LED's voor
Bereid de LED's voor
Bereid de LED's voor
Bereid de LED's voor

De LED's die ik kocht hadden 3-pins stekkers aan beide uiteinden van de strip en speciale grond / 5V-lijnen aan elk uiteinde.

Eerst moet u het invoeruiteinde van de strip identificeren, omdat de gegevens maar in één richting gaan. Op mijn strip dat het einde was met de mannelijke 3-pins stekker, kun je de draad van de stekker volgen en kijken of deze aansluit op een Di (data in) of een Do (data uit) pin.

Toen dat eenmaal was gebeurd, heb ik de speciale grond / 5V-lijn van de uitgangszijde van de streng afgesneden, omdat ik die niet zou gebruiken.

Vervolgens soldeerde ik ongeveer 2,5 ft 18ga-draad aan elk van de grond- en 5V-lijnen aan de invoerzijde. In deze stap is het belangrijk om consistent te zijn met kleur, ik gebruikte geel en rood voor mijn 5V en zwart/groen voor aarde, als je deze per ongeluk achterstevoren aansluit, beschadig je je LED's. Na het solderen van alle strips heb ik krimpkous toegevoegd om alle soldeerverbindingen te bedekken, dit beschermt ze tegen kortsluiting op elkaar.

Ik deed dit proces voor alle 8 van mijn LED-strengen. Leg ze dan uiteindelijk opzij tot later.

Tip Als je ze met rubberen banden laat zitten, wordt het een beetje minder rommel.

Stap 3: Bereid het Fadecandy-bord voor

Bereid het Fadecandy-bord voor
Bereid het Fadecandy-bord voor
Bereid het Fadecandy-bord voor
Bereid het Fadecandy-bord voor
Bereid het Fadecandy-bord voor
Bereid het Fadecandy-bord voor

Het Fadecandy-bord is een fantastisch klein bord voor het aansturen van adresseerbare LED's, we zullen later op een aantal van zijn mogelijkheden ingaan

maar voor nu gaat dit alleen maar over de fysieke installatie om het aan de LED's te bevestigen.

Er zijn 8 uitgangspinnen en 8 aardingspinnen op het Fadecandy-bord, ik begon met het solderen van 2ft zwarte 22ga-draad aan alle grondpinnen. Vervolgens heb ik 2ft gele 22ga-draad gesoldeerd aan de output (+) gaten op het Fadecandy-bord.

Ik heb toen opgerold en op de dradenparen getikt om voor de volgende stap een beetje minder rommel te maken.

Ik nam 8 van de vrouwelijke 3-pins JST-jumpers en verwijderde de lijn die zou overeenkomen met de 5V-bron op de lichten, omdat dit niet nodig was voor de Fadecandy. Op mijn specifieke jumpers was dat de rode draad.

Vervolgens heb ik krimpkous op de Fadecandy-draden geregen (belangrijk om dit te doen voordat de draden aan elkaar worden gesoldeerd).

Ten slotte heb ik de Fadecandy gele draad gesoldeerd aan de datadraad op de jumper (groen in mijn geval), en de Fadecandy aarde (zwart) aan de jumperaarde (wit). Nadat ik ze had gesoldeerd, verplaatste ik de krimpkous om de soldeerverbinding te bedekken en verwarmde deze met een aansteker om hem te laten krimpen.

Als je klaar bent, zou je een soort spin moeten hebben met 8 paar draden die van de Fadecandy komen en naar beneden naar 3-pins (of 2-pins als je de ongebruikte draad hebt verwijderd) connectoren. Controleer nogmaals al uw verbindingen en of u geen niet-overeenkomende draden heeft en leg dit opzij tot later.

Stap 4: RPi-configuratie

Ik ga een deel hiervan verdoezelen, omdat het gemakkelijk is om verstrikt te raken in het onkruid wat betreft raspian-opstelling en dergelijke, dus voor het basis krijgen van een

rPi up and working en ssh ernaar verwijzen naar

Ik zal beginnen op het punt dat ik een rPi heb met een schone Raspian-afbeelding en dat je erin kunt SSH-en en de nieuwste updates kunt uitvoeren.

voerde de gebruikelijke update/upgrade-opdracht uit om ervoor te zorgen dat de rPi up-to-date was.

sudo apt-get -y update

sudo apt-get -y upgrade

daarna

sudo apt-get -y install git

git clone git://github.com/scanlime/fadecandy cd fadecandy/server make submodules make sudo mv fcserver /usr/local/bin

vervolgens moeten we het programma automatisch laten starten, daarvoor doen we dit:

sudo nano /etc/rc.local

en vlak voor de laatste "exit 0" plaatsen we het volgende.

/usr/local/bin/fcserver /usr/local/bin/fcserver.json >/var/log/fcserver.log 2>&1 &

We zullen dan een configuratiebestand moeten maken

sudo nano /usr/local/bin/fcserver.json

en plak het volgende erin, je moet YOURSERIALHIER vervangen door je board serial je kunt je boards serial vinden door het volgende te typen

fcserver

het zou Serail# moeten vermelden, gevolgd door uw serienummer.

{ "luister": [null, 7890], "uitgebreid": waar, "kleur": { "gamma": 2.5, "witpunt": [1, 1, 1] }, "apparaten": [{ "type": "fadecandy", "serial": "YOURSERIALHERE", "map":

eindelijk doe je een

sudo reboot

voor meer details over deze stappen verwijzen wij u naar de uitstekende beschrijving van adafruits hier

Op dit punt zou je fadecandy-server operationeel moeten zijn.

Stap 5: Sluit alles aan en hoop dat er geen rook is

Sluit alles aan en hoop dat er geen rook is
Sluit alles aan en hoop dat er geen rook is
Sluit alles aan en hoop dat er geen rook is
Sluit alles aan en hoop dat er geen rook is
Sluit alles aan en hoop dat er geen rook is
Sluit alles aan en hoop dat er geen rook is
Sluit alles aan en hoop dat er geen rook is
Sluit alles aan en hoop dat er geen rook is

Er zijn twee manieren om dit te doen, eerst (en waarschijnlijk de verstandigste) zou zijn om elke streng op zichzelf te testen en ze vervolgens te combineren.

Wat ik deed, was absoluut alles aansluiten, stroom aanleggen en op het beste springen en het werkte goed. Maar als je het op die manier gaat doen, heb dan veel vertrouwen in het voorbereidende werk om op dit punt te komen (geen niet-overeenkomende draden).

Zorg ervoor dat alle voedings-/aardingskabels van de strengen stevig in de aansluitblokken zijn bevestigd. Sluit vervolgens de fadecandy-jumperdraden aan die zo gecodeerd zijn dat ze maar op één manier gaan. Sluit tot slot de fadecandy USB-kabel aan op de raspberrypi en zet de rPi aan.

Op dit punt bent u klaar om de stroom op de hoofdvoeding aan te sluiten. U zou begroet moeten worden door… niets Als u felle lichten/rook/lawaai/enz. heeft, is er een probleem.

Als je een heleboel niets gebeurt echter gefeliciteerd.

De lucht is de limiet voor zover de code hiervoor geldt, maar waar ik mee begon waren slechts enkele voorbeelden uit de fadecandy-bibliotheek om ervoor te zorgen dat de strips correct werkten. Vanaf een andere computer heb ik het http-voorbeeld uitgevoerd dat in de fadecandy-bibliotheek staat die we eerder hebben gedownload (https://github.com/scanlime/fadecandy/blob/master/… zal werken, hoewel u het aantal LED's moet wijzigen).

Zorg ervoor dat u de localhost in de voorbeelden wijzigt in het IP-adres van de RaspberryPi. Op dit punt is het aan jou om te bepalen hoeveel je wilt spelen. Ik besloot de lichten aan de boom te hangen voordat ik te ver naar voren ging, omdat ik dan een beter beeld zou krijgen van hoe ze eruit zouden zien als ze geïnstalleerd zouden zijn.

Stap 6: installeer de lichten in de boom

Installeer de lichten in de boom
Installeer de lichten in de boom
Installeer de lichten in de boom
Installeer de lichten in de boom

Op dit punt moet je alles wat je tot nu toe hebt gedaan loskoppelen, het is vervelend, maar het is goed dat we eerder op problemen hebben gecontroleerd

de boom bekabelen en ontdekken dat ze niet werken.

Dit deel spreekt redelijk voor zich, iedereen zal zijn eigen voorkeur hebben over hoe dat het beste kan, voor mij heb ik ze in principe bijna elke 30 graden verticaal in de boom geïnstalleerd van onder naar boven (omdat ongeveer 90 graden van mijn boom onzichtbaar is). Zorg ervoor dat u voldoende ruimte overlaat om de stroom- / signaaldraden te kunnen aansluiten die we eerder hadden ingesteld.

Als dat eenmaal is gebeurd, is het tijd om de draden weer aan te sluiten zoals we eerder deden, waarbij we voorzichtig zijn met de stroomaansluitingen en de signaaldraden.

Ook op dit punt is het belangrijk om de volgorde van de signaaldraden bij te houden, ik deed 0-7, beginnend bij de meest linkse streng en werkend naar de meest rechtse streng.

Stap 7: Steek de boom aan

Steek de boom aan!
Steek de boom aan!
Steek de boom aan!
Steek de boom aan!
Steek de boom aan!
Steek de boom aan!
Steek de boom aan!
Steek de boom aan!

Nu heb je alles in de boomstructuur geïnstalleerd en alle verbindingen gecontroleerd, je kunt het allemaal aanzetten en de show bekijken, natuurlijk zal het weer leeg zijn zoals twee stappen geleden totdat je iets start om met de fadecandy-server te praten. De snelste manier is in de volgende stap, dus ga daar eens naar kijken.

Stap 8: Eenvoudige bediening via mobiele telefoon

Eenvoudige bediening via mobiele telefoon
Eenvoudige bediening via mobiele telefoon
Eenvoudige bediening via mobiele telefoon
Eenvoudige bediening via mobiele telefoon

Dus je hebt de boom helemaal opgehangen (wat een warboel van draden kan zijn, dat geef ik toe) en alles weer aangesloten, Raspberry Pi draait en klaar om te gaan. Hier is een snelle manier om het te testen. Deze app van Bertrand Martel doet fantastisch werk bij het besturen van het fadecandy-bord

Doe na de installatie het volgende.

  1. Zorg ervoor dat je op hetzelfde wifi-netwerk zit als de rPi
  2. Start de app, klik op de hamburge-knop linksboven
  3. klik op serverconfiguratie
  4. verwijder het vinkje bij "start een lokale server"
  5. typ het IP-adres van de server in als het IP van de Raspberry Pi
  6. raak oke
  7. Klik nogmaals op de hamberger-knop
  8. Klik op "led count configuration" en typ 500 in en selecteer Ok

Op dit punt heb je de basisbediening van de lichten vanaf je mobiele telefoon.

Stap 9: Codecode en meer code

Voortbouwend op wat we eerder deden nu de lichten op hun plaats zijn, is het tijd om meer met de code te werken.

Ik begon te denken dat het cool zou zijn om gewoon een website op de rPi te hebben waar ik hem op mijn mobiel of computer zou openen en de lichten daar zou veranderen, en dat kan nog steeds gebeuren, afhankelijk van hoeveel tijd ik de komende weken krijg. Maar voor nu besloot ik in het belang om dit project in een werkende staat te krijgen en de dingen eenvoudig te houden, ik het volgende zou doen.

  • Definieer een paar patronen die kunnen worden geschakeld om te worden uitgevoerd
  • Stel de rPi in om te luisteren naar MQTT-berichten die hem vertellen welke patronen hij moet uitvoeren

Deze route maakt het gemakkelijk om de boom te wisselen van de rest van mijn domotica-projecten, en opent veel opties voor het koppelen van triggers om de boom te vertellen dingen te doen.

Ik ga de MQTT-instellingen verdoezelen, er zijn veel nuttige gedetailleerde instructies over hoe je het moet instellen, verwijs alsjeblieft naar degenen die dit doen, ik ben niet erg goed geïnformeerd over MQTT, dus ik zal het uitstellen tot degenen die gaan over hoe u uw rPi kunt laten hosten door een muggenmakelaar. Ik heb het volgende gebruikt om de mijne werkend te krijgen:

www.instructables.com/id/How-to-Use-MQTT-W…

Oké, nu hebben we MQTT-broker actief en een python-script dat luistert naar commando's, het wordt tijd dat we er een paar definiëren. Hiervoor trok ik weer de fantastische voorbeelden uit de fadecandy-bibliotheek. Maar over het algemeen is het vrij eenvoudig dat je nodig hebt.

importeer opc

numLEDs = 400 client = opc. Client('YOURrPiIPhere:7890') (stuff) pixels = (rgb) client.put_pixels(pixels)

Natuurlijk is er veel toegestaan uit dit bovenstaande codeblok, maar de (dingen) is gewoon wat je besluit te doen om je patroon te definiëren, of dat een regenboog is, of een achtervolgingslicht, enz. Het is allemaal aan jou. Als de tijd het toelaat zal ik een paar patronen schrijven en deze binnenkort hier uploaden.

Stap 10: RGB-knopbediening

RGB-knopbediening
RGB-knopbediening
RGB-knopbediening
RGB-knopbediening
RGB-knopbediening
RGB-knopbediening

Een vriend heeft dit heel coole project waaraan hij heeft gewerkt, dat is een bord dat in een drukknop zit die die grote knop RGB-led's geeft, hier kun je het bekijken op github

Ik heb een van zijn prototypes en hoewel dit een fantastische manier zou zijn om het te gebruiken, was mijn doel om de knop langzaam door de kleuren te laten bladeren, en als hij werd ingedrukt, zou de boom elke kleur veranderen als hij werd ingedrukt.

Hier is mijn knop. Ik heb er een basis voor geprint in 3D, op dit moment wordt het gevoed via USB, maar het kan op een bepaald moment in de toekomst door batterijen worden aangedreven.

Bijgevoegd is de code die ik heb geschreven voor de knop die door de regenboog fietst en wanneer de knop wordt ingedrukt, wordt een MQTT-bericht omgeschakeld naar de RaspberryPi met de huidige kleur.

Met deze werking kan ik de knop gewoon in een USB-stopcontact of batterijpakket steken en de boom draadloos bedienen terwijl het MQTT-bericht via WiFi wordt verzonden.

Bedankt allemaal voor het bekijken van dit project, laat het me weten als je vragen hebt, ik zal mijn best doen om ze te beantwoorden. Ben benieuwd naar je projecten.

Aanbevolen: