Obsah:
- Krok 1: Farebný priestor RGB
- Krok 2: Dobrá loď Lissajous
- Krok 3: Počkajte - ako môžeme ovládať LED diódu so sínusovou vlnou?
- Krok 4: Vytvorme 3D Lajšajousov vzor
- Krok 5: Dajte to všetko dohromady na Arduino
- Krok 6: Čo bude ďalej?
Video: Skúmanie farebného priestoru: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Naše oči vnímajú svetlo prostredníctvom receptorov, ktoré sú vo vizuálnom spektre citlivé na červenú, zelenú a modrú farbu. Ľudia túto skutočnosť využili na poskytnutie farebných obrazov prostredníctvom filmu, televízie, počítačov a ďalších zariadení za posledných zhruba sto rokov.
Na displeji počítača alebo telefónu sa obrázky zobrazujú v mnohých farbách zmenou intenzity malých červených, zelených a modrých diód LED, ktoré sú na obrazovke vedľa seba. Milióny rôznych farieb je možné zobraziť zmenou intenzity svetla z červenej, zelenej alebo modrej diódy LED.
Tento projekt vám pomôže preskúmať červený, zelený a modrý (RGB) farebný priestor pomocou Arduina, RGB LED a trochy matematiky.
Intenzity troch farieb, červenej, zelenej a modrej, si môžete predstaviť ako súradnice v kocke, kde je každá farba pozdĺž jednej osi a všetky tri osi sú navzájom kolmé. Čím bližšie ste k nulovému bodu alebo pôvodu osi, tým menej farby sa zobrazí. Keď sú hodnoty všetkých troch farieb na nulovom bode alebo na pôvode, potom je farba čierna a LED dióda RGB úplne zhasne. Keď sú hodnoty pre všetky tri farby tak vysoké, ako môžu ísť (v našom prípade 255 pre každú z troch farieb), RGB LED dióda je úplne zapnutá a oko vníma túto kombináciu farieb ako bielu.
Krok 1: Farebný priestor RGB
Ďakujem Kennethovi Morelandovi za povolenie použiť jeho pekný obrázok.
Chceli by sme preskúmať rohy 3D kocky farebného priestoru pomocou RGB LED pripojenej k Arduinu, ale tiež to chceme urobiť zaujímavým spôsobom. Mohli by sme to urobiť tak, že vnoríme tri slučky (jednu pre červenú, zelenú a modrú) a prejdeme všetkými možnými farebnými kombináciami, ale to by bolo naozaj nudné. Videli ste niekedy 2D Lissajousov vzor na osciloskope alebo laserová svetelná show? V závislosti od nastavení môže Lissajousov vzor vyzerať ako diagonálna čiara, kruh, obrázok 8 alebo pomaly sa otáčajúci špicatý vzor podobný motýľu. Lissajousove vzorce sú vytvárané sledovaním sínusových signálov dvoch (alebo viacerých) oscilátorov vykreslených na osiach x-y (alebo v našom prípade x-y-z alebo R-G-B).
Krok 2: Dobrá loď Lissajous
Najzaujímavejšie Lissajousove vzorce sa objavia, keď sa frekvencie sínusových signálov líšia o malé množstvo. Na fotografii z osciloskopu sa frekvencie líšia v pomere 5 k 2 (obe sú prvočísla). Tento vzor pekne pokrýva svoj štvorec a pekne sa dostáva do rohov. Vyššie prvočísla by urobili ešte lepšiu prácu pri pokrývaní štvorca a pokeku ešte ďalej do rohov.
Krok 3: Počkajte - ako môžeme ovládať LED diódu so sínusovou vlnou?
Chytil si ma! Chceme preskúmať 3D farebný priestor, ktorý sa pohybuje od vypnutého (0) po úplné zapnuté (255) pre každú z troch farieb, ale sínusové vlny sa pohybujú od -1 do +1. Urobíme si tu malú matematiku a programovanie, aby sme dosiahli to, čo chceme.
- Každú hodnotu vynásobte 127, aby ste získali hodnoty v rozsahu od -127 do +127
- Pridajte 127 a zaokrúhlite každú hodnotu, aby ste získali hodnoty v rozsahu od 0 do 255 (pre nás dostatočne blízkych 255)
Hodnoty v rozsahu od 0 do 255 môžu byť reprezentované jednobajtovými číslami (dátový typ „char“v programovacom jazyku Arduino podobnom C), takže ušetríme pamäť pomocou jednobajtovej reprezentácie.
Ale čo uhly? Ak používate stupne, uhly v sínusoide sú v rozsahu od 0 do 360. Ak používate radiány, uhly sa pohybujú od 0 do 2 -násobku π („pi“). Urobíme niečo, čo opäť ušetrí pamäť v našom Arduine, a myslíme na kruh rozdelený na 256 častí a s „binárnymi uhlami“, ktoré sa pohybujú od 0 do 255, takže „uhly“pre každú z farieb môžu byť aj tu reprezentované jednobajtovými číslami alebo znakmi.
Arduino je úžasné také, aké je, a aj keď dokáže vypočítať sínusové hodnoty, potrebujeme niečo rýchlejšie. Hodnoty predbežne vypočítame a vložíme ich do 256-vstupného dlhého poľa jednobajtových alebo char hodnôt v našom programe (pozri deklaráciu SineTable […] v programe Arduino).
Krok 4: Vytvorme 3D Lajšajousov vzor
Aby sme mohli cyklicky prechádzať tabuľkou s inou frekvenciou pre každú z týchto troch farieb, ponecháme jeden index pre každú farbu a ku každému indexu pri prechode farbami pridáme relatívne hlavné offsety. Vyberieme 2, 5 a 11 ako relatívne hlavné kompenzácie hodnôt červeného, zeleného a modrého indexu. Vlastné interné matematické schopnosti Arduina nám pomôžu tým, že sa automaticky zalomia, keď do každého indexu pridáme hodnotu offsetu.
Krok 5: Dajte to všetko dohromady na Arduino
Väčšina Arduinos má niekoľko kanálov PWM (alebo pulzne šírkovej modulácie). Budeme tu potrebovať troch. Arduino UNO je na to skvelé. Aj malý 8-bitový mikrokontrolér Atmel (ATTiny85) funguje báječne.
Každý z kanálov PWM bude poháňať jednu farbu RGB LED pomocou funkcie Arduino „AnalogWrite“, kde intenzita farby v každom bode okolo sínusového cyklu je reprezentovaná šírkou impulzu alebo pracovným cyklom od 0 (všetky vypnuté) až 255 (všetky zapnuté). Naše oči vnímajú tieto rôzne široké pulzy, dostatočne rýchlo sa opakujúce, ako rôzne intenzity alebo jasy LED diódy. Kombináciou všetkých troch kanálov PWM poháňajúcich každú z týchto troch farieb v LED dióde RGB získame možnosť zobraziť 256*256*256 alebo viac ako šestnásť miliónov farieb!
Budete musieť nastaviť Arduino IDE (interaktívne vývojové prostredie) a pripojiť ho k doske Arduino pomocou kábla USB. Spustite prepojky z výstupov PWM 3, 5 a 6 (piny procesora 5, 11 a 12) na tri odpory 1 KΩ (tisíc ohmov) na doske proto alebo do štítu proto a z odporov na diódy LED R, G a kolíky B.
- Ak je RGB LED spoločnou katódou (záporný pól), potom zapojte vodič z katódy späť na pin GND na Arduine.
- Ak je RGB LED spoločnou anódou (kladný pól), potom zapojte vodič z anódy späť na pin +5V na Arduine.
Skica Arduino bude fungovať tak či onak. Náhodou som použil bežnú katódovú LED diódu SparkFun Electronics / COM-11120 RGB (na obrázku vyššie z webovej stránky SparkFun). Najdlhší kolík je spoločná katóda.
Stiahnite si skicu RGB-Instructable.ino, otvorte ju pomocou Arduino IDE a otestujte ju. Nezabudnite zadať správnu cieľovú dosku alebo čip Arduino a potom načítajte program do Arduina. Malo by sa to spustiť okamžite.
Cyklus RGB LED uvidíte v toľkých farbách, koľko dokážete pomenovať, a v miliónoch, ktoré nemôžete!
Krok 6: Čo bude ďalej?
Práve sme začali skúmať farebný priestor RGB s naším Arduinom. Medzi ďalšie veci, ktoré som s týmto konceptom urobil, patrí:
Priamy zápis do registrov na čipe, namiesto použitia AnalogWrite, skutočne veci urýchli
- Úprava obvodu tak, aby infračervený senzor priblíženia cyklus zrýchlil alebo spomalil v závislosti od toho, ako blízko sa dostanete
- Programovanie 8-kolíkového mikrokontroléra Atmel ATTiny85 pomocou bootloadera Arduino a tejto skice
Odporúča:
Monitor plazivého priestoru (aka: No More Frozen Pipes !!): 12 krokov (s obrázkami)
Monitor plazivého priestoru (aka: No More Frozen Pipes !!): Voda do môjho domu prichádza z mojej studne cez nevyhrievaný priestor na plazenie. Týmto priestorom prechádzajú aj všetky kuchynské a kúpeľňové armatúry. (Vnútorné vodovodné potrubie bolo v polovici 70-tych rokov v tomto dome fackovacím nápadom!) Používam žiarovky na
Zariadenie LED s Bluetooth: Vstup do iného rozmerového priestoru: 6 krokov
Zariadenie LED s Bluetooth: Vstup do iného rozmerového priestoru: Toto je umelecké dielo o svetelnom zariadení LED pre môj sochársky projekt s názvom Sacred Object. Toto zariadenie používam na predstavenie záznamu pre nový svet. Keď zapnem LED svetlo, vidíme v betónovom boxe nekonečný tunel. LED pás je ovládací
Pozrite si zvukové vlny pomocou farebného svetla (RGB LED): 10 krokov (s obrázkami)
Pozrite si zvukové vlny pomocou farebného svetla (RGB LED): Tu môžete vidieť zvukové vlny a pozorovať interferenčné obrazce vytvárané dvoma alebo viacerými meničmi, pretože rozstup medzi nimi je rôzny. (Úplne vľavo, interferenčný obrazec s dvoma mikrofónmi pri 40 000 cykloch za sekundu; vpravo hore, jeden mikrofón
Projekt IoT farebného senzora RFID +: 7 krokov
Projekt IoT RFID + farebného senzora: Cieľom tohto projektu je odmeniť ľudí, ktorí pijú zo šálok kávy a správne ich zlikvidujú. Vezmite si napríklad spoločnosť ako Tim Hortons; v roku 2014 zaznamenali podávanie 2 miliárd šálok kávy ročne. Napriek tomu, že ich poháre je možné recyklovať
3D CAD - štandardné nastavenia a vytváranie pracovného priestoru: 14 krokov
3D CAD - Štandardné nastavenia a vytváranie pracovného priestoru: -Vytváranie (a) súboru štandardných súčiastok pre efektivitu Tento návod je o vytvorení predvoleného súboru súčiastky, ktorý môžete v budúcnosti otvoriť - s vedomím, že konkrétne kľúčové parametre už existujú - minimalizácia množstva opakujúcej sa práce vo väzení