Okostelefonnal vezérelt Bluetooth LED -ek (élőzenei szinkronizálással): 7 lépés
Okostelefonnal vezérelt Bluetooth LED -ek (élőzenei szinkronizálással): 7 lépés
Anonim
Image
Image
Anyagok beszerzése
Anyagok beszerzése

Mindig is szerettem építeni, miután rájöttem, hogy az új egyetemi kollégiumom szörnyű világítással rendelkezik, úgy döntöttem, hogy egy kicsit megfűszerezem.

*** FIGYELMEZTETÉS *** Ha ezt a projektet ugyanolyan léptékben építi fel, mint az én beállításomat, akkor tisztességes mennyiségű elektromos energiával fog dolgozni. Légy BIZTONSÁGOS, használd a józan ész, és ha nem vagy benne biztos, KÉRJ! Ne kockáztassa a ház felgyújtását.

1. lépés: Anyagok beszerzése

Anyagok beszerzése
Anyagok beszerzése
Anyagok beszerzése
Anyagok beszerzése

Ehhez a projekthez szüksége lesz:

  1. Címzett WS2812B LED szalag (ok). Az 5V messze a leggyakoribb típus, és nagyon előnyös ebben a projektben. Ezt a projektet RGB LED -ekhez tervezték, nem RGBW -hez. Erősen ajánlom az Adafruit NeoPixeleit. (~ 25 USD 60 LED -enként)
  2. Egy CurieNano (még mindig eladó), egy Arduino 101 (megszűnt, de az általam használt), vagy egy másik mikrovezérlő, amely hozzáfér a BLE-hez. (~ 35 USD)
  3. Okostelefon (Apple és Android egyaránt működik)
  4. Tápegység. A legtöbb címezhető LED a piacon 5V. A szükséges áramerősség a beállítás méretétől függ*. (~ 10-50 USD a beállítástól függően)
  5. Vezetékek ** (szükség lehet a megfelelő 3 tűs vagy 2 tűs JST csatlakozókra és Arduino érintkezőkre is) (~ $ 20-30)
  6. 2,1x5,5 mm -es hordós jack csatlakozók, itt találod őket. (~ 5 USD)
  7. Egy kis Phillips csavarhúzó
  8. Forrasztópáka és forrasztópáka (~ 20 USD)
  9. Kétoldalas rögzítőszalag (1/4 hüvelyk szélesség). Én ezt használom. (~ 10 USD)
  1. (Ajánlott) Mikrofon a zene szinkronizálásához. (A működő zenei szinkronizáláshoz rendelkeznie kell ilyennel) Az Adafruit -tól itt talál egyet. (~ 7 USD)
  2. (Opcionális) Arduino tok, mint ez. (~ 10 USD)
  3. (Opcionális) legalább 10 μF kapacitású kondenzátor (Ez védi a feszültségcsökkenést a tápegység első bekapcsolásakor. Ne feledje, hogy a nagyobb méretű, tágabb tápegységek egy része már rendelkezik beépített védelemmel.) (~ 5 USD)

Határozottan javaslom, hogy tartsa be a listában szereplő linkelt anyagokat, mivel a nap nagy részében, minden nap, hónapokig használtam hibák nélkül- különösen a LED-eket. Ellenkező esetben váratlan csuklásba ütközhet, vagy megállapíthatja, hogy bizonyos anyagok vagy eszközök hiányoznak.

* Rendkívül kis csíkok esetén (~ 30 képpont vagy kevesebb) vagy az Arduino rendelkezik elegendő energiával ezek futtatásához, és nem lesz szüksége tápegységre. (EZT A KÉZIKÖNYVET NEM AJÁNLOTT. Sok oktatási útmutató található a kicsi, címezhető LED -beállítások létrehozásához, ezek jobban megfelelnek az Ön helyzetének.)

A legtöbben azonban valószínűleg tápegységre lesz szükségük. A számítás (áramerősség) = 0,075*(képpontok száma). Ez beépített biztonsági tartalékkal van ellátva (teljes bekapcsoláskor a tápegység a kapacitás ~ 75% -án fog működni. Ez hosszú távon hűvösen és következetesen tartja a tápegységet). Ha ez jelentősen lejjebb kerül, túlmelegedés és akár tűzveszély áll fenn. Egyes tápegységekhez saját hálózati fali dugót is csatlakoztatnia kell. Azoknál a kijelzőknél, amelyek több teljes ledes tekercset használnak, erősen ajánlom a befecskendezést. Erről lesz szó a következő részben.

** Méretezze meg megfelelően a vezetéket! A BIZTONSÁG ELSŐ néhány dollár elköltése megmentheti otthonát.

(Ha kíváncsi vagy, két 5V -os tápegységet használok, mindegyikben két 30A -os kimenettel és 12 -es hangszóróvezetékkel. Ez lehetővé teszi számomra, hogy elegendő energiát injektáljak a LED -szalag négy pontján. ~ 21 métert használok, 60 LED sűrűséggel /méter.)

2. lépés: Tápellátás

Erő
Erő
Erő
Erő
Erő
Erő
Erő
Erő

"betöltés =" lusta"

Image
Image
Módok és hangolás
Módok és hangolás
Módok és hangolás
Módok és hangolás
Módok és hangolás
Módok és hangolás

Kétféle mód kéri a képpontszámot a kezdőpontoknál: 2. mód (Színes törlés) és 12. mód (Zene szinkronizálása). Ha sok LED -je van, akkor hatalmas fájdalmat okoz, hogy pontosan melyik képpontra szeretné kezdeni, ezért készítettem egy eszközt. A BLYNK alkalmazás mód menüjének utolsó elemében talál egy "Pixel Finder" nevű módot. Ennek használatához valószínűleg módosítania kell a widget beállításait.

  • Először győződjön meg arról, hogy szerkesztési módban van
  • Válassza ki a csúszkát
  • Módosítsa a fényerő értékeit úgy, hogy a keresett pixelszám a megadott fényerőtartományon belül legyen.

Amikor ezt a Pixel Finder módot használja, a fényereje pixelszáma zölden világít. Így gyorsan görgethet a kívánt helyre, és leolvashatja a telefon pixelszámát

Ezt láthatja az [5 és 6] és [7 és 8] képeken. (Észreveheti, hogy ezen a képernyőképen a zeRGBra helyett a Színcsúszkákat használom). Vegye figyelembe azt is, hogy az első pixel indexe 0, nem 1.

Ez segíthet beállítani a mintákat ott, ahol szeretné.

Még egy dolgot meg kell említenem, hogy a „Fényerő” a Comet (10. mód) és a Music Sync (12. mód) módban beállítja a „farok” hosszát. Így kell a kódnak működnie, mivel a "Fényerő" -nek nincs igazán értelme ezekben az üzemmódokban.

7. lépés: Hurrá! Végeztél! (Olvassa el a Kóddal kapcsolatos extrákat)

A LED -ek használata:

  • Legyen az Arduino hatótávolságán belül
  • Koppintson a BLE ikonra
  • Keresse meg eszközét (válasz az deviceName kifejezésre), és válassza ki

Mostantól használhatja a távirányítót.

Menjen, élvezze minden kemény munkáját!

***************************** Speciális (A kódról) *************** ******************

Megpróbáltam jól kommentálni a kódot, valószínűleg semmilyen módon nem optimalizálták, de tudom, hogy elég gyorsan futtatja az 1200+ fényeimet. A tartalomjegyzékben a kód sorszámonként van elválasztva.

A kód részei, amelyek az üzemmódokat és a felhasználói felületet tartalmazzák, meglehetősen elkülöníthetők, technikailag elhagyhatná a Bluetooth-ot, és használhat egy vezetékes kapcsolótáblát, vagy egy egyszerű időzítőt, amely az összes üzemmódot átfutja. Valóban csak ki kell töltenie a cmdArr tömböt az utasítások megadásához.

  • Az Index 0 információkat tárol a szalag be- és kikapcsolásáról,
  • Az Index 1 tárolja az üzemmód számát a menüből
  • A 2., 3. és 4. jelzés tárolja a színválasztó R, G és B értékeit.
  • Az Index 5 százalékos fényerőt tárol
  • A többi jelzés jelenleg nem használt

Sokan észreveszik, hogy a kódban sok sor olvasható "SetPixelColorAdj (…") annak ellenére, hogy a funkció egyszerűen "setPixelColor (…"). Ez azért van, mert ez egy kicsit megmaradt kód, amelyet a LED -szalag egyes részeinek feltérképezésére használnak. Például, ha egy csíkot használ két hurok készítéséhez, akkor fájdalommal járna, ha szünetekkel kezelné a mintákat, amíg a hurok vissza nem olvad önmagába. Ezzel mesterségesen összeillesztheti a LED -szalag belső jellemzőit a végéig és a főhurkot is össze kell kötni, hogy a kódon belül intuitív legyen a munka.

Magyarázatot adok a bonyolultabb módok működésének hátterére is. Néhányuk (Szivárvány, Színtörlés és Fade [1, 2, 3]) már szerepel a NeoPixel Library könyvtárában példakódként.

  • Láva, Lombkorona, Óceán [4, 5, 6] - Ezek az üzemmódok a vezérlőpontokat használják, amint azt korábban említettük, minden vezetőpont véletlenszerű színt kap egy hozzárendelt tartományon belül. A láva többnyire vörös, a lombkorona többnyire zöld, az óceán pedig többnyire kék. A Fade minta [3] már nagyszerű lineáris fade algoritmust biztosít. Ez arra szolgál, hogy az egyik útmutató pont színéről a másikra halványuljon, a köztük lévő képpontok segítségével, sima ingadozást hozva létre. A három fade tömb tárolja a vezetőpontok időfakulásának lépéseit (kezdő, átmeneti és végállapot). Amikor a vezetőpontok idővel elhalványulnak, a közelében lévő képpontok is frissítik színeiket. Amikor egy időciklus befejeződött, az éppen elért végpont lesz az új kezdőpont. Így a minta időben sima marad.
  • Színhullám [7] - Ez hasonló az előző módokhoz, de a vezetőpontok színei eltérően vannak kiválasztva. Van egy eltérés az alapszínnél, amely idővel elhalványul a színkör körül.
  • Szentjánosbogarak [8] - A 2D tömb 90 kiválasztott szentjánosbogarak helyét és irányát tárolja. Minden egyes lépésnél eldönti, hogy egy szentjánosbogár balra, jobbra vagy egyáltalán nem fog mozogni. Teljes fényességük a fade on, fade off ciklust követi.
  • Konfetti [9]- Itt nem használhatja fel újra a Firefly alkatrészeit, bár hasonlónak tűnnek- ez azért van, mert a színek eltolódását a legjobban az általános, egyenletes fényerő mellett részesíti. Az ötlet azonban nem túl különböző. Az egyenletes megvilágítást úgy értem el, hogy a konfetti szikrák 1/3-át 3 együtt periódusos szinuszfüggvényhez rendeltem, amelyeket egymástól 1/3-os eltolással választott el.
  • Üstökös [10] - Nagyon hasonlít az Adafruit szkenneréhez, a különbség az, hogy az irány minden alkalommal véletlenszerűen generálódik, és nem változik, a szín kissé eltér, ahogy a képpont mozog, "tűzszerűbb" hatást keltve farok. Az egyes frissítések tompításának hívása az, ami a minta elhalványulását vagy „farkát” hozza létre.
  • Zene szinkronizálás [12]- Két paramétert számít ki a hangerő (A0 feszültség) alapján: egy szín és hossz. A zeneszinkronizálás ezután elhalványul a középső színről a kiszámított színre, miközben egyidejűleg feketére halványul az adott hosszúságban. A középső szín simán elhalványul a színkör körül, így feltűnő hatásokat és simaságot kap, így nem kellemetlen.

Képhitelek

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…

Ajánlott: