Tartalomjegyzék:
- 1. lépés: Amire szüksége van
- 2. lépés: Felhasználói utasítások
- 3. lépés: Néhány szó az RGB színekről
- 4. lépés: A vázlatok
- 5. lépés: A kód
- 6. lépés: Működésben
- 7. lépés: További fejlesztés
Videó: Wildfire: 7 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Ezt a projektet a Trónok harca misztikus futótűze ihlette, egy zöldes színű folyadék, amely világításkor zöld lángokban robbant fel. A projekt az RGB SMD5050 LED csíkok használatára összpontosít a személyre szabott színhatások érdekében. Három üvegtárgyat hat -hat RGB LED -es csíkkal látnak el. Az Arduino Uno tüzet, mint a villódzó mintát hoz létre a fényekhez. Az RGB LED -ekre van szükség ahhoz, hogy színátmenetet hozzon létre a sötétzöldtől a világos zöldig, egészen a legfényesebb fehérig. Egy egyszerű zöld LED nem elegendő, a piros és a kék alkatrészek szükségesek ahhoz, hogy fényes fehér színű legyen. Bónuszként ez a hardver bármilyen más színt is előállíthat. Az üvegtárgyakra szükség van a fény megtöréséhez és a tényleges fényforrás leplezéséhez, vagyis a kicsi, nagyon technikai megjelenésű RGB SMD5050 LED csíkokhoz.
Az ötlet kiterjeszthető a kívánt objektumokra és bármilyen dinamikus színskálára. Ez az oktatható leírja, hogyan valósítottam meg egy beállítást három üvegtárggyal a következő színsémákkal. A futótűz -séma a bevezető videóban látható. A többi séma a jelen útmutató 6. lépésében található videóban látható.
- Futótűz. A Trónok harca tűzesetként inspirálta a tüzet.
- Unicorn Attractor. Látvány, amely elhalványul a szivárvány színeiben.
- Pislogás. Véletlen színváltás két különböző sebességgel.
- Áttűnés. A véletlenszerű színek sima váltása két különböző sebességgel.
- Élő színek. Színezze tárgyait halványan rezgő fénnyel egy adott szín körül.
- Gyertyák. A LED -ek utánozzák a természetes gyertya lángját.
A beállítás
Az alapbeállításban egyetlen gombnyomással léphet a hat színséma között. A dupla kattintás az egyik színsémán belül az egyik beállításról a másikra lép, ha alkalmazható. Színes beállításokat adhat hozzá az Arduino program szerkesztésével.
Egy későbbi kibővített verzióban a gombot egy ESP8266 tábla váltja fel, amely kapcsolódik egy weboldalhoz, amely vezérli a színsémákat. A weboldal viszont vezérelhető mobileszköz -böngészővel. Ez sokkal változatosabbá teszi a dolgok beállítását:
- állítsa be a változás sebességét és irányát
- állítsa be a villódzó gyertyák színét
- állítsa be a színek fényerejét és telítettségét
Ez az utasítás az alapbeállításokra összpontosít, amelyek csak nyomógombot tartalmaznak felhasználói felületként.
1. lépés: Amire szüksége van
- Olcsó RGB LED szalag, amelyet rövidebb csíkokra vághat
- Egy tápegység, lehetőleg a 12 V 1,5 A -os dolog, ami az RGB LED -szalaggal érkezett
- Egy Arduino UNO vagy hasonló
- Két ULN2803AP IC: s
- Egyszerű gombnyomás
- Perma-Proto kenyérlap
- Huzal
- Egy doboz az elektronikához
- Néhány üvegtárgyat meg kell világítani az RGB LED szalagokkal
- Szerszámok (drótvágó, forrasztópáka, forrasztó …)
A led szalag
Vettem egy olcsó led szalagot, amely körülbelül 90 RGB SMD LED -ből áll. Egy kis egység hajtja a LED -eket, megváltoztatva színüket. Az egység távirányítású, és a szalag különböző módon változtathatja a színeket. De az egész csík azonos színű. A szórakoztató dolog az, hogy a csíkot apró csíkokra vághatja, amelyek mindegyikében csak három rgb led található. Mindegyik szalagot, függetlenül attól, hogy milyen hosszú, 12 V -os feszültséggel kell táplálni. Csak a 12 V -ot és elegendő áramot kell biztosítania, nos, milliamper. Ehhez a projekthez a LED szalag három csíkját használom, amelyek mindegyike 6 egység, és a 12 V -os 1,0 A -os tápegységet. A vezérlőegységre és a távirányítóra nincs szükség.
ULN2803AP
Egyetlen LED -nek csak kis áramra van szüksége. Általában közvetlenül egy Arduino adattűről világíthat egy ledet, feltéve, hogy van egy ellenállása, amely 5 V -ról 3 V -ra csökkenti a LED -et. De egyetlen RGB SMD5050 LED három LED -ből áll, egy pirosból, egy grenből és egy kékből. Ehhez a projekthez 6 RGB SMD5050 LED -es csíkot használok. Az Arduino Uno egyik adatcsapja 6 LED -et vezérel. Csak ez pirítaná az adattüskét, ha a LED -ek meggyújtása az adatcsapról származna. De csak kilenc ilyen adattű lesz, és ez biztosan túl nagy lesz az Arduino számára. Ezért indul be az ULN2803AP. Az ULN2803AP egy integrált chip, 8 darlington tranzisztorral. 9 -re van szükségem, ezért csak két ULN2803AP chipet használok. Így marad 7 tartalék tranzisztorom, ha ki akarom terjeszteni a projektet öt objektumra.
Egyetlen LED az RGB SMD5050 LED -en belül 20 mA -t vesz fel. Hat közülük 120 mA -t jelentene. Az ULN2803 egy tűje (egy darlington tranzisztor) 500 mA -t képes lemeríteni. De az egész chip maximum 1,44 W hőt képes elviselni, amelyet az áram termel. A 120 mA 0,144 W -ot termel. Az egyik ULN2803 chipre öt sort, a másikra négy sort teszek. Ez az egyik chipen 0,72 W, a másik chipen 0,58 W lesz. Szóval rendben kéne lennem. Az ULN2803 mind a 8 vonalának 120 mA -es használata 1,2 W -val felmelegíti a chipet. Forró lesz, de még tolerálja.
Egyszerűen megmagyarázva, az RGB SMD LED szalag 12 V -ot kap az áramforrásból. A LED -szalagból a három színű LED mindegyikének árama az ULN2803AP -ban lévő saját tűjére, majd tovább a GND -re kerül. Az áramkör zárva van, és a LED világít. De az ULN2803AP -t az Arduino 5 V -os adatjelei kapcsolják ki/be. Ezek a jelek csak néhány milliampert húznak az Arduino -ból.
Az üvegtárgyak és a LED csíkok
Voltak ezek a furcsa üvegtárgyaim, amelyek teafényekhez készültek. Nyírfa rönkökből tányérokat vágtam, hogy felállhassanak, és legyen mit ragasztaniuk a LED csíkokat. A csíkokban néhány hajtást készítettem, hogy gyűrűkké váljanak, ahol az egyes LED -egységek felfelé néznek. Legyen óvatos a hajtásokkal, nehogy elvágja a vonalakat.
2. lépés: Felhasználói utasítások
A készülék egyszerű felhasználói felülettel rendelkezik. Bekapcsolja az áramforrást a fali konnektorba dugva, és az első színsémával kezdődik, ami a Wildfire. Hálózat kihúzásával kikapcsol. Egy gombnyomással a következő színsémára léphet. Dupla kattintással léphet előre az egyes színsémák alsémáin. A következő színsémákat fogom megvalósítani:
- Futótűz. A Trónok harca inspirálta a tüzet, mint a látványt, ahol zöld lángok terjednek az egyik üvegtárgyról a másikra. Ez a hatás akkor lesz a leglátványosabb, ha az üvegtárgyakat függőlegesen helyezik el egymáshoz képest. Három különböző alrendszer valósul meg a lángok változó ütemével.
- Unicorn Attractor. Látvány, amely elhalványul a szivárvány színeiben. Az elhalványulás forgó módon történik, mintha minden szín az egyik üvegtárgyról a másikra mozogna. Az alrendszerek változó sebességűek lesznek.
- Pislogás. Véletlen színváltás két különböző sebességgel. Az alrendszerek különböző palettákkal rendelkeznek (csak teljesen telített színek, félig telített színek, színek a színkörnek csak a felétől)
- Áttűnés. A véletlenszerű színek sima váltása két különböző sebességgel. Hasonló alcémek, mint a #3 -ban.
- Élő színek. Színezze tárgyait halványan rezgő fénnyel egy adott szín körül. Az alrendszerek a színeket pirosra, narancsra, sárgára, zöldre, kékre, indigóra vagy lila színre állítják. Az oszcillálás a választott szín körüli 10 fokos szektorban történik. A három üvegtárgynak ugyanaz a választott színe, de mindegyik tárgynak megvan a maga véletlenszerűen változó rezgési frekvenciája, hogy az egész halmaz élénk élő színt kapjon.
-
Gyertyák. A LED -ek utánozzák a természetes gyertya lángját. Három alrendszer:
- "a lehető legnyugodtabban"
- "valahol nyitott ablak"
- "sötét és viharos éjszaka volt"
3. lépés: Néhány szó az RGB színekről
Ebben a részben az RGB színtérről alkotott nézetemet tárgyalom. Ezt a részt nagyon jól kihagyhatod. Csak némi hátteret adok arról, hogy miért bánok úgy az RGB LED -ek színeivel, mint én.
Tehát az RGB LED -nek csak piros, zöld és kék fénye van. Ha ezeket összekeverjük, akkor az emberi szem szinte minden színét felismeri. Az egyes részek - piros, zöld vagy kék - mennyiségét a digitális világban általában 0 és 255 közötti szám határozza meg. Egy teljesen telített színhez az egyik színösszetevőnek nullának kell lennie, és egy színkomponensnek 255 -nek. digitális világunkban csak 1530 különböző telített szín található.
Az RGB tér modellezésének egyik módja egy kocka. A kocka egyik csúcsa fekete. Ebből a csúcsból a piros, a kék vagy a zöld él mentén haladhatunk. A kocka bármely pontja piros, zöld és kék koordinátákkal meghatározott szín. A fekete csúcstól a legtávolabbi csúcsig utazva eljutunk a fehér csúcshoz. A hat csúcsra összpontosítva, kivéve a feketét és a fehéret, olyan utat alakíthatunk ki, amely az élek követésével áthalad mind a hat csúcson. Minden élnek 256 pontja vagy színe van. Minden csúcsot két él oszt meg, így a pontok száma összesen 6 * 255 = 1530. Ezt az utat követve a színspektrum összes 1530 teljesen telített színe bejárható. Vagy a szivárvány. A csúcsok a piros, sárga, zöld, ciánkék, kék és bíbor színeket képviselik.
A kocka bármely más pontja olyan színt jelent, amely nem teljesen telített.
- Vagy a pont a kockán belül van, vagyis a piros, zöld és kék koordináták eltérnek a nullától. Gondoljon a fekete csúcs és a fehér csúcs közötti átlóra az összes szürke árnyalat vonalaként. És a kocka belsejében lévő összes "nem teljesen telített szín" elhalványul a teljes telítettségtől a szélén a "nulla telítettség" átlója felé.
- Vagy a pont a kockának a fekete csúcsot érintő három síkfelületének egyikén fekszik. Az ilyen színt teljesen telítettnek, de elsötétítettnek tekinthetjük. Minél jobban sötétíti, annál inkább elveszíti észlelt színtelítettségét.
Ahelyett, hogy a kocka körül levő hat élvonal leírná az összes teljesen telített színt, ezt az 1530 színt körbe helyezhetjük, ahol 255 különböző szín van 60 fokos szektorban - például amikor vörösről sárgára halványul, ha zöldet ad hozzá. A színkörben minden szín átfutása olyan, mintha három színvezérlőt csúsztatnánk, egyet az egyikben, míg a másik kettő a legtöbb pozícióban szemben van. Mivel a színköröket vagy a szivárványspektrumot fogom használni a színsémák némelyikében, a saját 1530 -as skálám segítségével egy színt (árnyalatot) fogok meghatározni a kör pontjaként:
1530 skála szabványos 360 skála
========== ================== piros 0 0 narancs 128 30 sárga 256 60 zöld 512 120 türkiz 768 180 kék 1024 240 indigó 1152 270 lila 1280 300 rózsaszín 1408 330
Ez az 1530 -as skála egyszerűsíti a szivárvány színeinek az RGB LED -ek értékévé alakítását.
Miért 255 szín minden szakaszban? Miért nem 256? Nos, az egyik szektor 256. színe a következő szektor 1. színe. Ezt a színt nem lehet kétszer számolni.
Még néhány szó a PWM -ről
Egy tipikus LED -et úgy terveztek, hogy adott feszültség mellett fényesen ragyogjon. Ennek a feszültségnek a csökkentése csökkentheti a fényerőt, de a LED -et nem úgy tervezték, hogy csak a feszültség csökkentésével szabályozható legyen. Fél feszültségnél talán nem is kapcsol be. Ehelyett a tompítást a teljes feszültség és a nulla feszültség közötti váltással érik el. Minél gyorsabb a kapcsolás, annál kevésbé villog az emberi szem. Ha a LED félidőben bekapcsolt és félidőben kikapcsolt állapotban van, az emberi szem úgy érzékeli a fényt, mintha a teljes fényerejű LED hatásának felével ragyogna. A teljes fényerő és a nulla hatás ideje közötti arány beállítása a LED elsötétítése. Ez PWM vagy impulzusszélesség moduláció.
Az olcsó RGB SMD LED szalag, amelyet ehhez a projekthez vettem, tartalmaz egy eszközt, amely gondoskodik a PWM -ről. Ebben a projektben a PWM -et az Arduino UNO -val hozom létre. Az RGB színtér, ahogy általában a számítógép képernyőjén valósul meg, egy elméleti struktúra, ahol elképzelhető, hogy minden színcsatorna 0 és 255 közötti értéket tart, és a csatorna fényessége lineárisan követi az értéket. A számítógép grafikus kártyája kompenzálhat bármilyen rövidítést ebből a lineáris elvárásból, amit a tényleges LED -ek tartalmazhatnak. Az, hogy a projektben használt SMD LED -ek lineárisan követik -e a használt PWM értékeket, nem tartoznak a projekt hatálya alá. A 255 PWM érték a legfényesebb fényt hozza létre. De a 128 -as érték lehet, hogy nem a 255 -ös fényerő fele, és a 192 -es nem pontosan a 255 és 128 közepén.
4. lépés: A vázlatok
Itt bemutatom az elektronika vázlatát. A fotó azt mutatja, hogyan néz ki a kapcsolatom. Forrasztottam a chipeket, a vezetékeket és a gombot egy perma proto táblára. Eddig az alkatrészek csak a vezetékekkel vannak összekötve, de azt Önre bízom, hogy megtervezze, hogyan illessze be őket egy szép dobozba, és hogyan húzza a vezetékeket a LED szalagokhoz. Ha talál egy 4 vezetékes lapos kábelt, használja, mert egy LED szalaghoz 4 vezeték szükséges. Csak 3 vezetékes lapos kábelem volt, ezért szükségem volt egy extra vezetékre, ami kissé csúnyán nézett ki.
5. lépés: A kód
A kódot egy Arduino Uno -hoz írták. Az Uno -nak csak 6 PWM -képes csapja van, de nekem 9 -re van szükségem. Tehát egy speciális PWM könyvtárat használok, amelyet Brett Hagman írt. Ezt telepíteni kell az Arduino IDE -be.
A wildfire.ino a fő projektfájl, amely tartalmazza a setup () és a loop () függvényeket, valamint néhány más közös funkciót minden sémához.
A wildfire.h a közös fejlécfájl.
A különböző sémafájlok külön lapként illeszthetők be a projektbe.
6. lépés: Működésben
7. lépés: További fejlesztés
- Cserélje le az egygombos felületet egy ESP8266 -ra, hogy lehetővé tegye a vezeték nélküli kapcsolatot egy Android telefonnal, ahol a felhasználói felület a sémák vezérlésére szolgáló weboldal.
- A szalagban még körülbelül 70 RGB SMD LED maradt. Ez 24 csík, mindegyikben 3 db. 24 további csatorna új megközelítést igényel. Szüksége lenne egy Arduino Mega 2560 -ra és néhány további ULN2803AP lapkára, vagy két 16 csatornás szervólapra, amelyeket gyakran használnak LED -ekhez.
- Nem használt az eredeti LED szalag távirányítója, valamint a vevője is. Még nem nyitottam ki a vevőt, de talán valahogy újra felhasználható. Hagyhatjuk, hogy egy Arduino eltérítse logikáját, és számszerű adatokat juttasson el az Arduino -hoz, hogy ellenőrizzék a fényjátékot.
Ajánlott:
DC - DC feszültség Lépés lekapcsoló mód Buck feszültségátalakító (LM2576/LM2596): 4 lépés
DC-DC feszültség Lépés lekapcsoló üzemmód Buck feszültségátalakító (LM2576/LM2596): A rendkívül hatékony bakkonverter készítése nehéz feladat, és még a tapasztalt mérnököknek is többféle kivitelre van szükségük, hogy a megfelelőt hozzák létre. egy DC-DC áramátalakító, amely csökkenti a feszültséget (miközben növeli
Akusztikus levitáció az Arduino Uno-val Lépésről lépésre (8 lépés): 8 lépés
Akusztikus lebegés az Arduino Uno-val Lépésről lépésre (8 lépés): ultrahangos hangátvivők L298N Dc női adapter tápegység egy egyenáramú tűvel Arduino UNOBreadboard és analóg portok a kód konvertálásához (C ++)
Élő 4G/5G HD videó streamelés DJI drónról alacsony késleltetéssel [3 lépés]: 3 lépés
Élő 4G/5G HD videó streaming a DJI Drone-tól alacsony késleltetéssel [3 lépés]: Az alábbi útmutató segít abban, hogy szinte bármilyen DJI drónról élő HD minőségű videó streameket kapjon. A FlytOS mobilalkalmazás és a FlytNow webes alkalmazás segítségével elindíthatja a videó streamingjét a drónról
Bolt - DIY vezeték nélküli töltő éjszakai óra (6 lépés): 6 lépés (képekkel)
Bolt - DIY vezeték nélküli töltés éjszakai óra (6 lépés): Az induktív töltés (más néven vezeték nélküli töltés vagy vezeték nélküli töltés) a vezeték nélküli áramátvitel egyik típusa. Elektromágneses indukciót használ a hordozható eszközök áramellátásához. A leggyakoribb alkalmazás a Qi vezeték nélküli töltő
4 lépés az akkumulátor belső ellenállásának méréséhez: 4 lépés
4 lépés az akkumulátor belső ellenállásának mérésére: Íme a 4 egyszerű lépés, amelyek segítenek mérni az akkumulátor belső ellenállását