Inhoudsopgave:

Wifi gesynchroniseerde lampen - Ajarnpa
Wifi gesynchroniseerde lampen - Ajarnpa

Video: Wifi gesynchroniseerde lampen - Ajarnpa

Video: Wifi gesynchroniseerde lampen - Ajarnpa
Video: IKEA - Problemen oplossen - zo hersynchroniseer je TRÅDFRI lampen 2024, Juli-
Anonim
Image
Image

Een project voor iemand die je leven verlicht…

2 jaar geleden heb ik als kerstcadeau voor een verre vriend lampen gemaakt die animaties zouden synchroniseren via een internetverbinding. Dit jaar, 2 jaar later, heb ik deze bijgewerkte versie gemaakt met de kennis die ik heb opgedaan door de extra jaren van elektronica ploeteren. Deze versie is veel eenvoudiger, zonder dat er externe monitoren of toetsenborden nodig zijn (en slechts één simpele chip, niet twee!) en een eenvoudige telefoon-app-interface (dankzij Blynk IoT) in plaats van website en fysieke zachte potentiometer.

Er zijn knoppen in de app die meer flexibiliteit bieden in welke animaties je wilt toevoegen: er zijn 3 schuifregelaars voor RGB-besturing, naast een widget onderaan waarmee je kleuren van een kaart kunt kiezen (je hoeft dus geen om erachter te komen wat de RGB-nummers zijn voor de gewenste kleur). Er zijn ook vooraf ingestelde knoppen voor blij, boos, verdrietig en "meh", zodat je gemakkelijk je emoties aan de andere persoon kunt overbrengen in de vorm van lampanimaties, voor de keren dat je iets hebt waar je over wilt praten maar niet wilt om de persoon lastig te vallen met veel teksten.

Geen elektronica ervaring? Geen zorgen! Er zijn slechts 3 hoofdstappen: de hardware aansluiten, de code uploaden en de Blynk-app maken. Onthoud echter: wat fout kan gaan, gaat fout. Voeg altijd voldoende tijd toe voor het debuggen.

Als je precies gebruikt wat ik heb gedaan en precies uploadt wat ik heb, zou het goed moeten komen, zelfs als je nog nooit met elektronica hebt gewerkt. Zelfs als je aanpassingen aan het project aanbrengt, zou het lezen van deze tutorial je een idee moeten geven van wat je moet veranderen als je dit als richtlijn gebruikt. De kosten werden ook zo laag mogelijk gehouden: de totale kosten, als je absoluut geen van de componenten hebt, is ~ $ 40 max per lamp.

Stap 1: Materialen

Dit zijn de materialen die je nodig hebt voor EEN lamp (vermenigvuldig met het aantal lampen dat je wilt maken):

  • 1x NodeMCU ESP8266-chips ($ 7 per stuk, $ 13 voor 2)
  • 1x protoboard of breadboards (~ $1 per stuk)
  • soldeerbout en soldeer
  • 1x neopixel-ringen ($ 10 per stuk, $ 8 als je koopt bij adafruit.com)
  • 1x 5V voeding (minstens 500mA output, dus 1A of 2A zal perfect zijn) met microUSB aansluiting (of barrel jack maar koop een barrel jack converter naar blote draden) ($8 per stuk)
  • Niet strikt noodzakelijk, maar STERK aanbevolen voor circuitbeveiliging (een paar cent per stuk, maar het kan zijn dat u in bulk moet kopen)

    • 1x 300-500Ohm weerstand (ik gebruikte 200Ohm en kwam er wel mee weg)
    • 1x 100-1000uF condensator
  • elektrische draad (of je krijgt deze linttypes) (enkele kern is het beste) (een paar cent voor 5 )

    Je hebt niet zoveel draad nodig; slechts 5 "zal genoeg zijn

  • Voor de buitenlamp kun je doen wat je wilt (hierboven staan alleen onderdelen voor de elektronica). Ik ging met lasergesneden hout en acryl, met schetsboekpapier voor lichtverspreiding.

Ik heb hierboven Amazon-links bijgevoegd voor de goedkoopste opties die ik kon vinden (vanaf 20 december 2018), maar je kunt componenten zeker goedkoper vinden op verschillende plaatsen. Ik studeer nog aan de universiteit, dus ik had toegang tot condensatoren en weerstanden: vraag eens rond bij vrienden die met elektronica werken. Neopixels kunnen goedkoper worden gekocht bij adafruit.com als je andere dingen hebt die je daar wilt bestellen (om verzendkosten te besparen..). U kunt de weerstanden en condensatoren ook veel goedkoper van DigiKey of Mouser krijgen, hoewel de verzendkosten mogelijk hoger zijn. Voor de voedingen voldoet een oude telefoonoplader (of alleen de microUSB-kabel als je de lamp in een USB-poort in plaats van een stopcontact wilt steken). Als u absoluut geen van deze componenten heeft, zijn uw kosten maximaal ~ $ 40 per lamp (en minder per lamp, hoe meer u verdient, aangezien u deze componenten meestal in bulk koopt: protoboard kan bijvoorbeeld in verpakkingen van 5 worden geleverd). Ik had dingen rondslingeren, dus het was slechts $ 5 voor mij (ja, ik ben een verzamelaar van vrienden die toevallig veel dingen loslaten - plus ik hergebruikte neopixelringen van de vorige keer).

Arduino-code en Adobe Illustrator-bestanden (voor de lasergesneden doos) zijn hieronder bijgevoegd.

Stap 2: Overzicht: hoe de lampen werken

Oké, dus als je eenmaal de materialen hebt, vraag je je misschien af hoe ze allemaal samenkomen. Hier is een uitleg:

De NodeMCU ESP8266 is een microcontroller die werkt op 3,3V-logica (in tegenstelling tot 5V-logica zoals de meeste Arduino's). Het bevat een ingebouwde wifi-chip en GPIO-pinnen voor het gebruik van digitale en analoge signalen met componenten die u aansluit. Je gebruikt een van de pinnen die PWM-signalen kunnen uitvoeren (zie pin-out hier: elke pin met de ~ ernaast kan de analoge signalen genereren in tegenstelling tot digitale signalen van slechts 0 of 1, LAAG of HOOG) om de neopixel-ring. Voor het programmeren kan dit eenvoudig via de Arduino IDE, hier eenvoudig te downloaden. (let op, ik heb de Adafruit-gids voor hun ESP8266 HUZZAH geleverd in plaats van de NodeMCE die we hebben. De gids is nog steeds van toepassing op beide borden, maar je moet gewoon een ander bord selecteren om te uploaden in Arduino.)

De neopixelring zorgt voor de gekleurde animaties van de lamp. Het heeft adresseerbare LED's in de ringformatie, die elk afzonderlijk kunnen worden bestuurd. Het werkt normaal gesproken met 5V-logica, wat meestal niveauverschuiving vereist (hier uitgelegd), maar gelukkig is de Adafruit-neopixelbibliotheek bijgewerkt om de ESP8266 te ondersteunen. Hoewel 5V-componenten niet zo betrouwbaar reageren op 3,3V-signalen, werkt het redelijk betrouwbaar wanneer de neopixel wordt gevoed met een lagere spanning (dus 3,3V in plaats van 5V). Zie details hierover hier.

Wat betreft de verbinding van de microcontroller naar de neopixel, is het het veiligst om een weerstand van 300-500 Ohm te plaatsen tussen de datalijn van de neopixel en de GPIO-pin waarvandaan je signalen verzendt (om de LED's te beschermen tegen plotselinge pieken). U moet ook een condensator van 1000 uF toevoegen die parallel is aangesloten op de voedings- en aardingsdraden van de neopixelring: dit is om bescherming te bieden tegen plotselinge stroompieken. Lees dit voor meer praktische tips over het gebruik van deze LED-ringen (en hier voor de volledige gebruikershandleiding van Adafruit).

Voor interfacing met het Blynk IoT-platform heeft Arduino een bibliotheek voor het gebruik van Blynk. U kunt de documentatie hier lezen voor meer informatie over het gebruik van Blynk in het algemeen. Om te beginnen was dit een handige instructable speciaal voor NodeMCU ESP8266 en Blynk.

Maak je geen zorgen als sommige van deze dingen niet kloppen! De toekomstige stappen zullen precies beschrijven wat je moet uploaden, downloaden, verbinden, enz. Lees alles door (ja, het is een lange tutorial, maar sla in ieder geval door) voordat je begint met bouwen!!! Het zal je helpen erachter te komen hoe dingen samenkomen in plaats van blindelings instructies te volgen.

Stap 3: Hardware

Afbeelding
Afbeelding
Afbeelding
Afbeelding

Sluit om te beginnen uw hardware aan zoals weergegeven in de bovenstaande afbeeldingen. De neopixel zou naar je toe moeten komen met gaten om op draden te solderen. U moet eerst draden solderen aan de gaten met het label PWR (voeding), GND (aarde) en IN (ingang voor analoge signalen) voordat u de draden aansluit op de 3.3V-, grond- en D2-pinnen van de ESP8266 (zie dit voor pinout). Als vuistregel geldt: rode draad is voor stroom, zwarte draden geven aarde aan en ik gebruik graag blauw voor de datalijn van de neopixel (verbonden met de D2-pin, die in staat is tot PWM-signalen).

Zorg ervoor dat u de condensator in de juiste richting aansluit: de condensator heeft een polariteit, wat betekent dat het er toe doet aan welke kant u parallel aansluit op de aarde en voeding van de neopixel. Als je naar je 1000uF-condensator kijkt, is er een grijze strook aan de zijkant die de negatieve kant van de condensator aangeeft (je kunt het ook zien in het fritzing-diagram hierboven). Dit is de zijde die parallel met de aarde van de neopixel moet worden verbonden. De weerstand heeft geen polariteit, dus je hoeft je geen zorgen te maken over de richting.

Wat betreft het creëren van een stevige verbinding, zou de beste manier zijn om protoboard te gebruiken, zodat u de componenten aan elkaar kunt solderen in plaats van alleen de draden in een breadboard te steken en het risico te lopen dat ze eruit komen. Ik gebruikte een breadboard omdat ik weinig tijd had, maar nogmaals, protoboard heeft de voorkeur. Het leuke van het breadboard is dat het een plakkerige achterkant heeft, dus ik heb gewoon de sticker losgemaakt om alles op mijn lampvoet te plakken. Voor het protoboard kun je het in de basis schroeven met behulp van de 4 gaten die ze meestal in de hoeken hebben, of je kunt het gewoon vastplakken/lijmen.

Stap 4: Arduino-code

De.ino Arduino-code is ter referentie onderaan deze stap bijgevoegd. Het ziet er lang en omslachtig uit, maar maak je geen zorgen: veel ervan bevat opmerkingen om alles uit te leggen. Ik sla ook graag regels over om spaties toe te voegen voor het onderscheiden van secties, waardoor de code er langer uitziet.

Belangrijkste onderdelen om te bewerken om in uw code te passen:

  • Blynk-autorisatietoken/code (naar u gemaild vanuit Blynk wanneer u een apparaat in de app aanmaakt: zie volgende pagina voor meer info)

    Voor elke lamp heeft u een aparte autorisatiecode nodig

  • wifi domeinnaam (tussen de twee apostrofs ")
  • wifi-wachtwoord (tussen de twee apostrofs ")

Anders dan dat, zolang je mijn exacte Blynk-app en algehele hardware gebruikt (gebruik dus mijn exacte Blynk-app-configuratie in de volgende stap, heb 12 LED's in je neopixelring, gebruik de ESP8266's D2-pin voor neopixel-datalijn, enz.), je hoeft alleen die code precies naar je ESP8266 te uploaden. Houd er rekening mee dat u voor elk van uw lampen verschillende autorisatiecodes moet gebruiken! Zie de volgende pagina voor het toevoegen van afzonderlijke apparaten en het verkrijgen van die codes. Vergeet niet om ook het wifi-domein en wachtwoord aan de lamp te koppelen, als ze zich op verschillende locaties bevinden. Je zult waarschijnlijk andere dingen willen bewerken, afhankelijk van welke animaties en kleuren je wilt, of misschien zelfs welke pinnen je gebruikt. Ik heb de code becommentarieerd om je te helpen met het wijzigen van dingen als dat nodig is. (lees ook de strengtest-voorbeeldcode van de Adafruit Neopixel-bibliotheek voor ideeën).

Voordat je de code kunt gebruiken, moet je de bibliotheken downloaden die de code gebruikt (de bibliotheken bovenaan de code). Lees en volg deze handleiding van Adafruit (begin bij "Arduino IDE gebruiken") voor wat u moet doen om de ESP8266 in te stellen. Ja: je moet het CP2104-stuurprogramma installeren, toevoegen aan de URL's van de extra bordmanager in de Arduino-voorkeuren, het ESP8266-pakket installeren (ga naar Sketch > Include Library > Manage Libaries … en zoek op wat je nodig hebt - zie onderstaande afbeelding), en installeer ook de andere bibliotheken bovenaan de code voor neopixel, Blynk, enz.

Afbeelding
Afbeelding

Om code van de Arduino IDE naar de ESP8266-chip te uploaden, moet je het juiste bord (NodeMCU ESP8266 ESP-12E), flitsformaat, poort, enz. selecteren (zie onderstaande afbeelding). De juiste poort SLAB_USBtoUART wordt niet weergegeven tenzij u de ESP8266 op uw computer aansluit. Maar als het eenmaal is aangesloten en je zeker weet dat je je circuit in de vorige stap correct hebt aangesloten, kun je doorgaan en op de pijl in de linkerbovenhoek drukken om je code naar het bord te uploaden. Ja, het duurt langer dan uw gebruikelijke upload-naar-Arduino-proces. Je zult zien dat het de code langzaam compileert, dan een reeks oranje punten ……………… terwijl het uploadt (weergegeven in het onderste zwarte gedeelte van het Arduino-venster).

Afbeelding
Afbeelding

Nu, hier is een uitsplitsing voor de code. De eerste sectie bevat bibliotheken die de functies zullen gebruiken en initialiseert globale variabelen (variabelen die toegankelijk zijn voor elke functie in de code). De BLYNK_WRITE(virtualPin)-onderdelen bepalen wat er wordt gedaan wanneer de widgets in de Blynk-app (die zijn verbonden met virtuele pinnen) worden omgeschakeld (d.w.z. in-/uitgeschakeld, schuifregelaarposities gewijzigd). Er zijn er 7 voor de 7 virtuele pinnen die ik gebruik in mijn Blynk-app. De volgende sectie van void colorWipe(), rainbow(), etc. dient om functies te definiëren die de rest van de code gebruikt. Deze functies zijn meestal geleend van de voorbeeldcode van de neopixelbibliotheek van Adafruit (met name strandtest). De laatste onderdelen zijn uw standaard void setup() en void loop() die in alle Arduino-code passen: void setup() definieert bewerkingen die slechts één keer plaatsvinden als het bord is ingeschakeld, en void loop() definieert bewerkingen die het bord voortdurend lussen door wanneer het wordt aangedreven. void loop() definieert meestal door welke animatie de lamp zal doorlopen op basis van de variabele "animatie" die ik heb gemaakt.

Stap 5: Blynk IoT

Blynk IoT
Blynk IoT
Blynk IoT
Blynk IoT
Blynk IoT
Blynk IoT

Ik koos Blynk boven Adafruit IO voor deze versie 2.0 lamp. Adafruit IO is geweldig, maar er waren twee dingen die Blynk had in tegenstelling tot Adafruit IO: een app-interface en de mogelijkheid om "leeg" als wifi-wachtwoord te accepteren (dus als je verbinding maakt met een openbare wifi die geen een wachtwoord, kunt u het wachtwoordgedeelte leeg laten, dwz gewoon ""). Mijn vriendin gaat vaak naar ziekenhuizen voor behandeling, dus ik wilde deze mogelijkheid hebben in de gevallen dat ze overnachtingen heeft maar een virtueel gezelschap wil: ze zou nog steeds verbinding kunnen maken met wifi in het ziekenhuis.

Begin door naar de Google Play Store of de App Store van iPhone te gaan om de Blynk-app op je telefoon te downloaden. Maak gratis een account aan en maak een nieuw project aan. In de rechterbovenhoek zie je een QR-codescannerknop: gebruik die om de QR-code in de onderstaande afbeelding te scannen om al mijn knoppen en dergelijke naar het nieuwe project te kopiëren. Zie deze pagina voor meer informatie over hoe dit werkt ("deel de configuratie van uw project"). Die pagina biedt ook nuttige informatie om het project later met de ontvanger van uw lamp te delen.

Afbeelding
Afbeelding

Natuurlijk kun je de knoppen naar wens aanpassen! Veeg naar rechts om te zien welke widgets je kunt toevoegen. Je moet echter begrijpen welke opties je hebt voor de widgets: ik heb afbeeldingen (met opmerkingen in elke afbeelding) van de instellingen van de knoppen en suggesties voor het gebruik ervan bovenaan deze stap bijgevoegd.

Overigens kost het toevoegen van widgets punten in de app, en iedereen begint gratis met een bepaald bedrag. Extra punten toevoegen kost geld ($2 voor 1000 extra punten). Ik heb uiteindelijk 1000 punten toegevoegd om mijn configuratie te laten werken, maar je kunt eenvoudig een knop of twee verwijderen om het te laten werken met het gratis bedrag.

In het project moet je op de moerknop linksboven (naast de driehoekige knop "spelen") drukken om toegang te krijgen tot de projectinstellingen.

Afbeelding
Afbeelding

U moet apparaten aan het project toevoegen om autorisatietokens/codes voor elke lamp te krijgen, die u zoals eerder vermeld in de Arduino-code wijzigt. Druk op de rechterpijl van Apparaten om nieuwe apparaten te maken. Wanneer u een apparaat maakt, ziet u het token zoals in de onderstaande afbeelding (vaag in rood).

Afbeelding
Afbeelding

Als je eenmaal de code hebt, vergeet dan niet om voor elke lamp het juiste token, wifi-domein en wachtwoord in de Arduino-code in te voeren. U moet waarschijnlijk eerst uw eigen wifi-inloggegevens invoeren om ervoor te zorgen dat elke lamp correct werkt en indien nodig debuggen, maar update vervolgens met het wifi-domein en wachtwoord van uw ontvanger voordat u deze verzendt.

Zorg ervoor dat je de app aanzet om je buttons daadwerkelijk te kunnen gebruiken! Wanneer de app "aan" staat (druk op de afspeelknop in de rechterbovenhoek, naast de moerknop voor instellingen), wordt de achtergrond effen zwart in plaats van het gestippelde raster dat je ziet als je in de bewerkingsmodus bent. Als je de Arduino-code naar je ESP8266 hebt geüpload en aangesloten, moet de chip automatisch verbinding maken met wifi. Controleer dit door op het kleine microcontroller-pictogram in de rechterbovenhoek te drukken (alleen zichtbaar als de app is ingeschakeld): je zou een lijst moeten zien met apparaten die je voor het project hebt gemaakt en welke online zijn.

Afbeelding
Afbeelding

Stap 6: Lampafdekking

Voor de eigenlijke lamp ging ik met lasergesneden hout (1/8 "berkenmultiplex) en acryl (transparant, 1/4", voor de onderkant zodat het licht er doorheen schijnt). Het hout had uitsnijdingen die uniek waren voor mijn vriend en mij, maar ik heb Adobe Illustrator-bestanden bijgevoegd voor de ontwerpen van de puzzelstukjes (maakt een kubus van 4 ") die je kunt uitknippen als je de vorm leuk vindt (bestanden zijn aan deze stap toegevoegd, Waarschuwing: de onderkant moet 1/4" dik zijn om de stukken in die bestanden in elkaar te laten passen. Als je een ander formaat wilt maken of alles met één dikte wilt hebben, gebruik dan makercase.com om bestanden te genereren voor het lasersnijden van een doos.

Afbeelding
Afbeelding
Afbeelding
Afbeelding

Vergeet niet een gaatje te maken zodat de stroomkabel uit de lamp kan komen. Ik vergat het toe te voegen, maar ik kon draadknippers gebruiken om een klein driehoekig gat door het 1/8 hout te snijden.

Stap 7: Lampen delen met ontvangers

Wanneer u de lamp naar uw ontvanger stuurt, moeten ze ook de Blynk-app op hun telefoon downloaden van Google Play Store of Apple's App Store om de lamp te bedienen. U kunt ze een apart account laten maken of dezelfde login gebruiken. Als ze een apart account maken, kun je een speciale QR-code delen die anderen kunnen gebruiken voor 1000 punten (NIET degene die ik deelde in de vorige Blynk-stap; deze QR-code geeft toestemming om dezelfde app te gebruiken als jij, maar ze kunnen' t verander de instellingen of configuratie van de knoppen -- lees deze pagina door, in het bijzonder "toegang tot uw hardware delen"). Je moet ervoor zorgen dat je de app aanzet (druk op de afspeelknop in de rechterbovenhoek zodat je de microcontroller-knop ziet in plaats van de moer-instellingenknop) zodat anderen de app kunnen gebruiken.

Ik kreeg rond de 1000 puntenkosten door mijn vriend mijn inloggegevens te geven, zodat ze via mijn account bij de app kon inloggen. Als je deze lampen naar mensen stuurt die niet zo goed zijn in elektronica (ouderen in het algemeen), raad ik je aan de $ 2 dollar te besteden om een gedeelde link te maken, zodat ze geen toegang hebben tot je account en kunnen' t verknoeien uw app-instellingen. Met deze QR-optie (kosten van 1000 punten) hebben ze nog steeds een kloon van je app, maar kunnen ze niets veranderen.

Stap 8: De app gebruiken

Hoe kun je nu de app gebruiken om de lampen te bedienen?

Zet de lamp aan en uit met de grote aan/uit-knop (rood wanneer uit, groen wanneer aan). Als de lamp is uitgeschakeld, worden automatisch alle andere knoppen in de app uitgeschakeld en wordt RGB ingesteld op 0, 0, 0. Wanneer u op drukt om de lamp weer aan te zetten, begint de lamp wit te pulseren.

Er zijn de drie RGB-schuifregelaars in de rechterbovenhoek om de RGB-kleuruitvoer in het knipperen van de lampen te regelen. Ze werken de kleur realtime bij terwijl u de schuifregelaars aanpast. Je kunt de kleur ook aanpassen met de zebravormige kleurenkaart onderaan de app. Dit is verbonden met de RGB-schuifregelaars, zodat de schuifregelaars worden bijgewerkt op basis van de kleur die u op de kaart kiest, en vice versa. Deze kaart is handig als u een bepaalde tint heeft, maar de juiste RGB-nummerwaarden niet weet.

Er zijn knoppen aan de linkerkant van de app met vooraf ingestelde animaties voor blij, boos, verdrietig en meh. "Happy" zorgt ervoor dat de lamp door de regenboogkleuren flitst, "boos" laat de lamp knipperen tussen rood en geel, "verdrietig" laat de lamp flitsen door blauw en hemelsblauw, en "meh" zorgt ervoor dat de lamp een roterende regenboog creëert Wiel. Ik heb de regenboog gekozen voor happy en meh, omdat ze eerder de standaard, alledaagse animaties zijn. Telkens wanneer u op een van de vooraf ingestelde knoppen drukt, worden alle andere knoppen uitgeschakeld (d.w.z. als u op "happy" stond maar op "boos" drukt, schakelt de happy-knop zichzelf na een paar seconden automatisch uit). Houd er rekening mee dat het langer duurt om over te schakelen van de vrolijke en meh-animaties omdat de lamp de volledige regenbooganimatie moet doorlopen voordat deze van animatie kan veranderen. Als u een van de vooraf ingestelde knoppen uitschakelt, knippert de lamp standaard terug naar de kleur waarmee de RGB-schuifregelaars overeenkomen. Als je een van de vooraf ingestelde animaties hebt ingeschakeld maar de RGB-schuifregelaars wijzigt, gebeurt er niets: de vooraf ingestelde animatie domineert.

Voordat u de lamp loskoppelt, drukt u als vuistregel op de uit-knop in de app. Druk vervolgens op aan in de app wanneer u de lamp weer aansluit. Pas de app-knoppen NIET aan wanneer een van de lampen niet is ingeschakeld of is verbonden met wifi (niet het einde van de wereld, maar het zal de lamp verpesten operatie). Zie volgende stap voor waarom…

Stap 9: **WAARSCHUWING VOOR EEN JUISTE WERKING**

Er is één maas in de werking van de lampen. Met de Blynk-interface kan ik niet selectief bepalen wat kan worden geschakeld wanneer iets anders aan of uit is, maar ik heb voorwaarden in de code geplaatst zodat als je iets inschakelt dat niet moet worden geschakeld wanneer de lamp uit is of een andere animatie is ingeschakeld, zal de schakelaar zichzelf ongedaan maken: dat kostte veel foutopsporing, maar het werkt redelijk goed (getoond in de video hierboven: de app verwerpt wijzigingen die optreden wanneer de lamp uit is, en als de vooraf ingestelde animaties aan zijn, worden eventuele wijzigingen in de schuifregelaars hebben geen invloed op de animatie totdat de vooraf ingestelde knop is uitgeschakeld)!

De enige overgebleven valkuil is dat als je dingen in de app omschakelt terwijl de chip niet is verbonden met internet, deze automatische "ongedaan maken" -functie niet werkt en de lamp niet volgt wat de app commando's geeft. Als u de lamp vervolgens inschakelt, geeft deze niet nauwkeurig weer wat u aan het doen bent (wat er ook gebeurt, de lamp begint wit te knipperen wanneer u hem inschakelt). Om dit op te lossen, drukt u gewoon op de grote aan / uit-knop: een power cycle reset alles in de app, zodat de lamp werkt zoals verwacht.

Om een lang verhaal kort te maken: wanneer je de lamp opstart, doe je gewoon een power cycle van de power-knop in de app om alles te resetten. Doe dit gewoon als je ooit de lamp loskoppelt of de app gebruikt terwijl de lamp niet is aangesloten (of als de lamp plotseling niet goed reageert, zelfs als je hem de tijd geeft om te reageren, misschien als je wifi willekeurig de verbinding verbreekt)

Stap 10: Klaar

Klaar is kees! Het is een leuk cadeau voor iedereen met wie je een langeafstandsrelatie hebt: maak er een voor je ouders voordat je naar de universiteit gaat of verhuist naar een andere staat voor je nieuwe baan, maak er een voor je grootouders als je minder tijd hebt om ze te bezoeken, maak er een een om uw SO gezelschap op het werk te houden, enz.

Hier zijn enkele extra variaties die u zou kunnen doen:

  • Je zou door meerdere kleuren kunnen flitsen (rood oranje geel) in plaats van het vervaagde pulserende dat ik heb

    • Heb kleurcontrole voor die meerdere flitsen (eerste rood, tweede oranje, derde geel) in plaats van alleen heldere en zwakke versies van dezelfde tint te knipperen
    • Daarvoor zou je een aparte kleurenkaart of een set schuifregelaars toevoegen voor het regelen van de kleuren waar elke animatie doorheen fietst (dus in plaats van altijd rood oranje geel, moet je het afzonderlijk bestuurbaar hebben, zodat je groenblauw roze wit, groen paars blauw, enz.)
  • Er zijn andere soorten animaties die je kunt uitproberen in de Adafruit Neopixel strandtest voorbeeldcode, zoals de theaterChase-optie.
  • Als je een speaker breakout board wilt toevoegen, zou je ook een muziekoptie voor je lampen kunnen hebben. Laat ze misschien verschillende muziek spelen voor verschillende gelegenheden. Of in plaats van muziek, spraakgestuurde berichten.

Veel plezier met het personaliseren van de lampen! Stuur me gerust een berichtje bij vragen of opmerkingen.

Aanbevolen: