Tartalomjegyzék:
- 1. lépés: RGB színtér
- 2. lépés: A jó hajó Lissajous
- 3. lépés: Várjon - Hogyan vezethetünk LED -t szinuszos hullámmal?
- 4. lépés: Készítsünk 3D LIssajous mintát
- 5. lépés: Tegye ezt össze az Arduino -ra
- 6. lépés: Mi a következő lépés?
Videó: Színtér felfedezése: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Szemünk a fényt a vörös, zöld és kék színekre érzékeny receptorokon keresztül érzékeli a fényben. Az emberek ezt a tényt arra használták fel, hogy színes képeket nyújtsanak filmeken, televízión, számítógépeken és más eszközökön az elmúlt körülbelül száz évben.
A számítógép vagy a telefon kijelzőjén a képek sok színben jelennek meg a képernyőn egymás mellett lévő apró piros, zöld és kék LED -ek intenzitásának megváltoztatásával. Különböző színek millióit lehet megjeleníteni a vörös, zöld vagy kék LED -ek fényerősségének megváltoztatásával.
Ez a projekt segít felfedezni a vörös, zöld és kék (RGB) színteret egy Arduino, egy RGB LED és egy kis matematika segítségével.
Gondolhat a három szín, a piros, a zöld és a kék intenzitására, mint koordinátákat egy kockában, ahol minden szín egy tengely mentén van, és mindhárom tengely merőleges egymásra. Minél közelebb van a tengely nulla pontjához vagy eredetéhez, annál kevesebb szín jelenik meg. Ha mindhárom szín értéke a nulla pontnál vagy eredetnél van, akkor a szín fekete, és az RGB LED teljesen ki van kapcsolva. Amikor mindhárom szín értéke olyan magas, amennyire csak lehet (esetünkben 255 mindhárom szín esetén), az RGB LED teljesen kigyullad, és a szem ezt a színkombinációt fehérnek tekinti.
1. lépés: RGB színtér
Köszönöm Kenneth Morelandnek, hogy engedélyezte szép képének használatát.
Szeretnénk felfedezni a 3D színtér kocka sarkát egy Arduino -hoz csatlakoztatott RGB LED segítségével, de szeretnénk ezt is érdekes módon megtenni. Megtehetnénk úgy, hogy három hurkot (egyet -egyet piros, zöld és kék) beágyazunk, és minden lehetséges színkombinációt végigfuttatunk, de ez nagyon unalmas lenne. Láttál már 2D Lissajous mintát oszcilloszkópon vagy lézer fény show? A beállításoktól függően egy Lissajous-minta úgy nézhet ki, mint egy átlós vonal, egy kör, egy 8-as szám vagy egy lassan forgó hegyes pillangószerű minta. A lissajous mintákat két (vagy több) x-y (vagy esetünkben x-y-z vagy R-G-B) tengelyen ábrázolt oszcillátor szinuszos jeleinek nyomon követésével hozzuk létre.
2. lépés: A jó hajó Lissajous
A legérdekesebb Lissajous -minták akkor jelennek meg, ha a szinuszos jelek frekvenciája kis mértékben eltér egymástól. Az oszcilloszkóp fotóján a frekvenciák 5 és 2 arányban különböznek (mindkettő prímszám). Ez a minta elég jól lefedi a négyzetét, és szépen bejut a sarkokba. A magasabb prímszámok még jobban el tudnák takarni a négyzetet, és még tovább böknének a sarkokba.
3. lépés: Várjon - Hogyan vezethetünk LED -t szinuszos hullámmal?
Elkaptál! Szeretnénk feltárni azt a 3D színteret, amely a három szín mindegyikétől kikapcsol (0) és teljesen bekapcsolva (255), de a szinuszos hullámok -1 és +1 között változnak. Itt egy kis matekozást és programozást fogunk végezni, hogy megkapjuk, amit akarunk.
- Szorozza meg az egyes értékeket 127 -gyel, hogy -127 és +127 közötti értékeket kapjon
- Adjon hozzá 127 -et és kerekítsen minden értéket, hogy 0 és 255 közötti értékeket kapjon (számunkra elég közel 255 -ig)
A 0 és 255 közötti értékeket egybájtos számokkal lehet ábrázolni (a „char” adattípus a C-szerű Arduino programozási nyelvben), így memóriát spórolunk az egybájtos ábrázolás használatával.
De mi a helyzet a szögekkel? Ha fokokat használ, a szög szinuszos tartományban 0 és 360 között van. Ha radiánokat használ, akkor a szögek 0 és 2 -szor π ("pi"). Csinálunk valamit, ami ismét megőrzi az Arduino memóriáját, és 256 részre osztott körre gondolunk, és 0 és 255 közötti „bináris szögekkel” rendelkezünk, így az egyes színek „szögei” itt is egybájtos számok vagy karakterek képviselik.
Az Arduino egészen elképesztő, ahogy van, és bár képes kiszámítani a szinuszos értékeket, gyorsabbra van szükségünk. Előre kiszámítjuk az értékeket, és beillesztjük őket egy 256 bejegyzésből álló, egybájtos vagy char értékű programba (lásd a SineTable […] deklarációt az Arduino programban).
4. lépés: Készítsünk 3D LIssajous mintát
Ahhoz, hogy a táblázatban a három szín mindegyikén eltérő gyakorisággal lapozzon, színenként egy indexet tartunk, és a színek átlépésekor minden indexhez viszonylag prímkorrekciókat adunk. A 2 -es, 5 -ös és 11 -est választjuk a vörös, zöld és kék indexértékek viszonylag elsődleges eltolásaként. Az Arduino saját belső matematikai képességei segítenek nekünk azáltal, hogy automatikusan körbejárnak, amikor az indexhez hozzáadjuk az eltolási értéket.
5. lépés: Tegye ezt össze az Arduino -ra
A legtöbb Arduino számos PWM (vagy impulzusszélesség -modulációs) csatornával rendelkezik. Itt háromra lesz szükségünk. Erre kiváló egy Arduino UNO. Még egy kis 8 bites Atmel mikrokontroller (ATTiny85) is mesésen működik.
Mindegyik PWM csatorna az RGB LED egy színét fogja vezérelni az Arduino "AnalogWrite" funkciójának használatával, ahol a szín intenzitását a szinuszos ciklus körüli minden ponton egy impulzusszélesség vagy teljesítményciklus jelzi 0 -tól (minden ki) 255 -ig (minden bekapcsolva). Szemünk ezeket a változó impulzusszélességeket, amelyeket elég gyorsan ismételünk, a LED különböző intenzitásának vagy fényerejének tekinti. Mindhárom PWM csatorna ötvözésével a három szín mindegyikét RGB LED -ben kapjuk meg, hogy 256*256*256, azaz több mint tizenhat millió színt jelenítsünk meg!
Be kell állítania az Arduino IDE -t (interaktív fejlesztési környezet), és csatlakoztatnia kell az Arduino kártyához az USB -kábel segítségével. Futtassa az áthidalókat a PWM 3., 5. és 6. kimenetéről (5., 11. és 12. processzortű) három próbalapon vagy proto -pajzson lévő 1 KΩ (ezer ohm) ellenállásba, és az ellenállásoktól a LED R, G és B csapok.
- Ha az RGB LED gyakori katód (negatív kapocs), akkor vezessen vezetéket a katódtól vissza az Arduino GND csapjához.
- Ha az RGB LED gyakori anód (pozitív kapocs), akkor vezessen egy vezetéket az anódtól vissza az Arduino +5 V -os csatlakozójához.
Az Arduino vázlat mindkét módon működni fog. Véletlenül egy SparkFun Electronics / COM-11120 RGB közös katód LED-et használtam (a fenti képen, a SparkFun webhelyről). A leghosszabb csap a közös katód.
Töltse le az RGB-Instructable.ino vázlatot, nyissa meg az Arduino IDE segítségével, és próbálja lefordítani. Ügyeljen arra, hogy adja meg a megfelelő cél Arduino táblát vagy chipet, majd töltse be a programot az Arduino -ba. Azonnal el kell indulnia.
Látni fogja, hogy az RGB LED ciklusa annyi színben megy keresztül, amennyit csak meg tud nevezni, és millióan nem!
6. lépés: Mi a következő lépés?
Most kezdtük el felfedezni az RGB színteret az Arduino -val. Néhány más dolog, amit ezzel a koncepcióval csináltam:
Közvetlenül írjon a chip-nyilvántartásokba az AnalogWrite használata helyett, hogy valóban felgyorsítsa a dolgokat
- Az áramkör módosítása úgy, hogy az infravörös közelség -érzékelő felgyorsítsa vagy lelassítsa a ciklust attól függően, hogy milyen közel van
- Egy 8-tűs Atmel ATTiny85 mikrokontroller programozása az Arduino rendszerbetöltővel és ezzel a vázlattal
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ő
A Windows 8.1 felfedezése !!: 12 lépés
A Windows 8.1 felfedezése !!: Ez az Instructable gyors áttekintést nyújt a Windows 8.1 -ről, annak minden funkciójáról és programjáról. Kérjük, iratkozz fel a csatornámra! Köszönjük