Inhoudsopgave:
- Stap 1: Materialen aanschaffen
- Stap 2: Stroom
- Stap 7: Hoera! U bent klaar! (Lees verder voor extra's over de code)
Video: Smartphone-gestuurde Bluetooth-leds (met Live Music Sync): 7 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Ik heb er altijd van gehouden om dingen te bouwen, nadat ik ontdekte dat mijn nieuwe studentenhuis vreselijke verlichting had, besloot ik het een beetje op te fleuren.
***WAARSCHUWING*** Als je dit project op dezelfde schaal bouwt als mijn opstelling, zul je werken met een behoorlijke hoeveelheid elektrisch vermogen. WEES VEILIG, gebruik uw gezond verstand en als u het niet zeker weet, VRAAG! Loop niet het risico uw huis af te branden.
Stap 1: Materialen aanschaffen
Voor dit project heb je nodig:
- Adresseerbare WS2812B ledstrip(s). 5V is verreweg het meest voorkomende type en heeft de meeste voorkeur in dit project. Dit project is ontworpen voor RGB-LED's, niet voor RGBW. Ik raad NeoPixels van Adafruit ten zeerste aan. (~ $ 25 per 60 LED's)
- Een CurieNano (nog steeds verkocht), een Arduino 101 (niet meer leverbaar maar degene die ik gebruik), of een andere microcontroller die toegang heeft tot BLE. (~$35)
- Een smartphone (zowel Apple als Android werken)
- Een stroomvoorziening. De meeste adresseerbare LED's op de markt zijn 5V. De benodigde stroomsterkte is afhankelijk van de grootte van uw opstelling*. (~ $ 10-50 afhankelijk van uw opstelling)
- Bedrading** (u hebt mogelijk ook de juiste 3-pins of 2-pins JST-connectoren en Arduino-pinnen nodig) (~ $ 20-30)
- 2.1x5.5mm barrel jack connectoren, je vindt ze hier. (~$5)
- Een kleine kruiskopschroevendraaier
- Soldeerbout en soldeer (~ $ 20)
- Dubbelzijdige montagetape (1/4 inch breed). Ik gebruik dit. (~$10)
- (Aanbevolen) Een microfoon voor de muzieksynchronisatie. (Om werkende muzieksynchronisatie te hebben, moet je er een hebben) Je kunt er een vinden van Adafruit hier. (~$7)
- (Optioneel) Een Arduino-case, zoals deze. (~$10)
- (Optioneel) een condensator van ten minste 10 μF (Dit beschermt tegen spanningspieken wanneer u uw voeding voor het eerst inschakelt. Houd er rekening mee dat sommige van de grotere, luxere voedingen mogelijk al een ingebouwde beveiliging hebben.) (~ $ 5)
Ik raad je ten zeerste aan om je aan de gekoppelde materialen op deze lijst te houden, omdat ik ze het grootste deel van de dag, elke dag, maandenlang zonder storingen heb gebruikt, vooral de LED's. Anders kunt u onverwachte problemen tegenkomen of ontdekken dat u bepaalde specifieke materialen of gereedschappen mist.
* Voor extreem kleine strips (~30 pixels of minder) of Arduino heeft voldoende stroom om deze te laten werken en hebt u geen voeding nodig. (DIT WORDT NIET AANBEVOLEN VOOR DEZE GIDS. Er zijn veel instructiehandleidingen over het bouwen van kleine, adresseerbare LED-opstellingen, die specifieker zijn voor uw situatie.)
De meesten van jullie zullen echter waarschijnlijk een voeding nodig hebben. De berekening is (stroomsterkte) = 0,075*(aantal pixels). Dit is met een ingebouwde veiligheidsmarge (bij volledige belasting werkt uw voeding op ~75% van de capaciteit. Hierdoor blijft uw voeding koel en dus constant gedurende lange tijd). Als u er aanzienlijk onder gaat, loopt u het risico op oververhitting en zelfs brand. Bij sommige voedingen moet u ook uw eigen AC-stekker aansluiten. Voor displays die meerdere full led-spoelen gebruiken, raad ik u ten zeerste aan om power inject te gebruiken. Hier zal in de volgende sectie over worden gesproken.
** Maat uw draad goed! VEILIGHEID EERST als u een paar euro extra uitgeeft, kunt u uw huis sparen.
(Als je nieuwsgierig bent, ik gebruik twee 5V-voedingen met elk twee 30A-uitgangen en een luidsprekerkabel van 12 gauge. Hierdoor kan ik voldoende stroom injecteren op vier punten langs mijn LED-strip. Ik gebruik ~21 meter met een dichtheid van 60 LED's /meter.)
Stap 2: Stroom
"laden = "lui"
Er zijn twee modi die om het pixelnummer vragen bij startpunten: modus 2 (Color Wipe) en modus 12 (Music Sync). Als je veel LED's hebt, is het een enorme pijn om te tellen tot welke exacte pixel je wilt beginnen, dus ik heb een tool gebouwd. In het laatste item van het modusmenu op uw BLYNK-app vindt u een modus genaamd "Pixel Finder". Om dit te gebruiken, moet u waarschijnlijk uw widget-instellingen wijzigen.
- Zorg er eerst voor dat u zich in de bewerkingsmodus bevindt
- Selecteer de schuifregelaar
- Wijzig uw helderheidswaarden zodat het pixelnummer dat u zoekt binnen het ingevoerde helderheidsbereik valt.
Wanneer je deze Pixel Finder-modus gebruikt, licht het pixelnummer van je helderheidswaarde Groen op. Zo kun je snel naar een gewenste locatie scrollen, en het pixelnummer aflezen van je telefoon
U kunt dit zien in afbeeldingen [5 en 6] en [7 en 8]. (Misschien merk je dat ik in deze schermafbeelding de kleurschuifregelaars gebruik in plaats van de zeRGBra). Merk ook op dat de index van de eerste pixel 0 is en niet 1.
Dit zou u moeten helpen uw patronen in te stellen waar u ze wilt hebben.
Nog iets dat ik moet vermelden is dat "Helderheid" in de modi Comet (modus 10) en Music Sync (modus 12) de lengte van de "staarten" aanpassen. Dit is hoe de code zou moeten werken, aangezien "Helderheid" niet echt logisch is in deze modi.
Stap 7: Hoera! U bent klaar! (Lees verder voor extra's over de code)
Om uw LED's te gebruiken:
- Wees binnen het bereik van uw Arduino
- Tik op het BLE-pictogram
- Zoek uw apparaat (antwoord voor apparaatnaam) en kies het
U kunt nu uw afstandsbediening gebruiken.
Ga genieten van al je harde werk!
****************************** Geavanceerd (over de code) *************** ****************
Ik heb geprobeerd de code goed te becommentariëren, deze is waarschijnlijk op geen enkele manier geoptimaliseerd, maar ik weet wel dat mijn 1200+ lampen snel genoeg werken. In de inhoudsopgave is de code opgedeeld op regelnummer.
De delen van de code die de modi en de gebruikersinterface bevatten, zijn vrij scheidbaar, technisch gezien zou je bluetooth kunnen dumpen en een vast bedrade schakelbord gebruiken, of een eenvoudige timer die door alle modi bladert. Je hoeft alleen maar de cmdArr-array in te vullen om instructies te geven.
- Index 0 slaat informatie op over het aan/uit zijn van de strip,
- Index 1 slaat het modusnummer op uit het menu
- Indices 2, 3 en 4 slaan respectievelijk de R-, G- en B-waarden van de kleurkiezer op.
- Index 5 slaat procent helderheid op
- Andere indices zijn momenteel ongebruikt
Je merkt veel in de code dat er veel regels zijn met de tekst "SetPixelColorAdj(…", ondanks dat de functie gewoon "setPixelColor(…") is. Dit komt omdat dit een beetje overgebleven code is die wordt gebruikt om delen van de LED-strip in kaart te brengen. Als u bijvoorbeeld één strip gebruikt om twee lussen te maken, zou het lastig zijn om patronen met een pauze aan te pakken totdat de lus weer in zichzelf overgaat. Hiermee kunt u het interne kenmerk van de LED-strip kunstmatig aan het einde splitsen en ook de hoofdlus weer aan elkaar koppelen, zodat het binnen de code intuïtief is om mee te werken.
Ik zal ook een uitleg geven over hoe sommige van de meer gecompliceerde modi werken. Sommige ervan (Rainbow, Color Wipe en Fade [1, 2, 3]) staan al in de NeoPixel Library als voorbeeldcode.
- Lava, Canopy, Ocean [4, 5, 6] - Deze modi gebruiken de gidspunten zoals eerder vermeld, elk gidspunt krijgt een willekeurige kleur binnen een toegewezen rijk. Lava is meestal rood, Canopy is meestal groen en Ocean is meestal blauw. Het Fade-patroon [3] biedt al een geweldig lineair fade-algoritme. Dit is bedoeld om van de kleur van het ene oriëntatiepunt naar het andere te vervagen met behulp van de pixels ertussen, waardoor een vloeiende fluctuatie ontstaat. De drie fade-arrays slaan de stappen van een tijdvervaging van de geleidepunten op (de begin-, overgangs- en eindtoestanden). Wanneer de hulplijnen in de loop van de tijd vervagen, werken de pixels ernaast ook hun kleuren bij. Wanneer een tijdcyclus is voltooid, wordt het zojuist bereikte eindpunt het nieuwe startpunt. Zo blijft het patroon glad in de tijd.
- Color Wave [7] - Dit is vergelijkbaar met de vorige modi, maar de kleuren voor de richtpunten worden anders gekozen. Er wordt een afwijking gegeven aan een basiskleur die na verloop van tijd rond de kleurencirkel vervaagt.
- Vuurvliegjes[8] - De 2D-array slaat locatie en richting op voor 90 gekozen vuurvliegjes. Het beslist bij elke tijdstap of een vuurvlieg naar links, naar rechts of helemaal niet zal bewegen. Hun algehele helderheid volgt een fade-on, fade-off-cyclus.
- Confetti[9] - Je kunt hier geen onderdelen van Firefly hergebruiken, hoewel ze op elkaar lijken - dit komt omdat je de voorkeur geeft aan een algehele consistente helderheid om de kleurverschuiving het beste te zien. Het idee is echter niet veel anders. Ik bereikte een gelijkmatige verlichting door 1/3 van alle confetti-vonken toe te wijzen aan 3 co-periodieke sinusfuncties, gescheiden door een verschuiving van elk 1/3 van de periode.
- Comet[10] - Zeer vergelijkbaar met Adafruit's Scanner, het verschil is dat de richting nu elke keer willekeurig wordt gegenereerd en niet verandert. staart. De roep van het dimmen van elke update is wat het vervagen of de "staart" van het patroon veroorzaakt.
- Music Sync[12]- Twee parameters worden berekend op basis van het volume (voltage van A0): Een kleur en lengte. De muzieksynchronisatie vervaagt vervolgens van een middenkleur naar de berekende kleur, terwijl tegelijkertijd vervaagt naar zwart in de gegeven lengte. De middelste kleur vervaagt soepel rond het kleurenwiel, dus je krijgt zowel flitsende effecten als vloeiendheid, zodat het niet onaangenaam is.
Afbeeldingscredits
cdn.shopify.com/s/files/1/0176/3274/produc…
store-cdn.arduino.cc/usa/catalog/product/c…
cdn.mos.cms.futurecdn.net/aSDvUGkMEbyuB9qo…
images-na.ssl-images-amazon.com/images/I/6…
www.amazon.com/Speaker-GearIT-Meters-Theat…
www.powerstream.com/z/adapter-2-1-to-screw…
www.amazon.com/Hobbico-HCAR0776-Soldering-…
images-na.ssl-images-amazon.com/images/I/7…
cdn-shop.adafruit.com/970x728/1063-03.jpg
cdn-learn.adafruit.com/assets/assets/000/0…
www.adafruit.com/product/2561
www.adafruit.com/product/2964?length=1
cdn.sparkfun.com//assets/parts/4/6/8/4/102…
www.holidaycoro.com/v/vspfiles/assets/image…
www.circuitspecialists.eu/5-volt-enclosed-s…
d3vs3fai4o12t3.cloudfront.net/media/catalo…
Aanbevolen:
Fire, Music and Lights Sync: 10 stappen (met afbeeldingen)
Synchronisatie van vuur, muziek en licht: we weten allemaal dat elektronica wordt gebruikt voor veel belangrijke taken in ziekenhuizen, scholen en fabrieken. Waarom zou ik er ook niet een beetje plezier mee hebben? In deze Instructable maak ik uitbarstingen van vuur en lichten (Led's) die op muziek reageren om muziek een beetje
RGB Led Strip Bluetooth Controller V3 + Music Sync + Ambient Light Control - Ajarnpa
RGB Led Strip Bluetooth Controller V3 + Music Sync + Ambient Light Control: Dit project gebruikt arduino om een RGB ledstrip te bedienen met je telefoon via bluetooth. Je kunt van kleur veranderen, lichten laten synchroniseren met muziek of ze automatisch laten aanpassen aan de omgevingsverlichting
Loactor Met Of Live Rapport Met Chat Bot: 4 Stappen
Loactor Of Live Reporting Chat Bot gebruiken: verkrijg via WhatsApp variabelen (locatie, hoogte, druk…) van NodeMCU zoals gevraagd of stuur commando's naar NodeMCU via Twilio's API. Sinds een paar weken werk ik met Twilio's API, speciaal voor WhatsApp-berichten, en zelfs een app gemaakt
Bedien tot 4 servo's met een smartphone of een ander apparaat met een audio-uitgang: 3 stappen
Bedien tot 4 servo's met behulp van een smartphone of elk apparaat met een audio-uitgang: hier presenteer ik een eenvoudige elektronische montage om maximaal vier servo's te besturen met elk apparaat dat een audiobestand kan lezen
Eenvoudigste domotica met Bluetooth, Android-smartphone en Arduino: 8 stappen (met afbeeldingen)
Eenvoudigste domotica met behulp van Bluetooth, Android-smartphone en Arduino. Hallo allemaal, Dit project gaat over het bouwen van het meest vereenvoudigde domotica-apparaat met behulp van een Arduino en een Bluetooth-module. Deze is heel eenvoudig te bouwen en kan in een paar uur worden gebouwd. In mijn versie die ik hier uitleg, kan ik