Hoe maak je goede regenboog en willekeurige kleuren met het RGB-kleurmodel (2 / 5 stap)

Stap 2: Rainbow tijd!


De video hierboven toont dezelfde vijf LEDs regenboog uitgevoerd in drie modi: regelmatige HSV (boven), 'macht-bewuste' HSV (midden) en sinusgolf (onder). Filmen van LEDs is niet een precies lonende ervaring, maar hopelijk ziet u het verschil tussen verschillende modi. Er is een B & W beeldmateriaal aan het eind, blijkt duidelijk de spikes van HSV modi. In ieder geval, is hier de code waarmee u de ervaring herhaal jezelf zult:

 // uint8_t is the same as byte// uint16_t is unsigned int // I just noticed that I mixed these in this sketch, sorryconst uint8_t lights[360]={ 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 17, 18, 20, 22, 24, 26, 28, 30, 32, 35, 37, 39, 42, 44, 47, 49, 52, 55, 58, 60, 63, 66, 69, 72, 75, 78, 81, 85, 88, 91, 94, 97, 101, 104, 107, 111, 114, 117, 121, 124, 127, 131, 134, 137, 141, 144, 147, 150, 154, 157, 160, 163, 167, 170, 173, 176, 179, 182, 185, 188, 191, 194, 197, 200, 202, 205, 208, 210, 213, 215, 217, 220, 222, 224, 226, 229, 231, 232, 234, 236, 238, 239, 241, 242, 244, 245, 246, 248, 249, 250, 251, 251, 252, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255, 254, 254, 253, 253, 252, 251, 251, 250, 249, 248, 246, 245, 244, 242, 241, 239, 238, 236, 234, 232, 231, 229, 226, 224, 222, 220, 217, 215, 213, 210, 208, 205, 202, 200, 197, 194, 191, 188, 185, 182, 179, 176, 173, 170, 167, 163, 160, 157, 154, 150, 147, 144, 141, 137, 134, 131, 127, 124, 121, 117, 114, 111, 107, 104, 101, 97, 94, 91, 88, 85, 81, 78, 75, 72, 69, 66, 63, 60, 58, 55, 52, 49, 47, 44, 42, 39, 37, 35, 32, 30, 28, 26, 24, 22, 20, 18, 17, 15, 13, 12, 11, 9, 8, 7, 6, 5, 4, 3, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};const uint8_t HSVlights[61] = {0, 4, 8, 13, 17, 21, 25, 30, 34, 38, 42, 47, 51, 55, 59, 64, 68, 72, 76, 81, 85, 89, 93, 98, 102, 106, 110, 115, 119, 123, 127, 132, 136, 140, 144, 149, 153, 157, 161, 166, 170, 174, 178, 183, 187, 191, 195, 200, 204, 208, 212, 217, 221, 225, 229, 234, 238, 242, 246, 251, 255};const uint8_t HSVpower[121] = {0, 2, 4, 6, 8, 11, 13, 15, 17, 19, 21, 23, 25, 28, 30, 32, 34, 36, 38, 40, 42, 45, 47, 49, 51, 53, 55, 57, 59, 62, 64, 66, 68, 70, 72, 74, 76, 79, 81, 83, 85, 87, 89, 91, 93, 96, 98, 100, 102, 104, 106, 108, 110, 113, 115, 117, 119, 121, 123, 125, 127, 130, 132, 134, 136, 138, 140, 142, 144, 147, 149, 151, 153, 155, 157, 159, 161, 164, 166, 168, 170, 172, 174, 176, 178, 181, 183, 185, 187, 189, 191, 193, 195, 198, 200, 202, 204, 206, 208, 210, 212, 215, 217, 219, 221, 223, 225, 227, 229, 232, 234, 236, 238, 240, 242, 244, 246, 249, 251, 253, 255};uint8_t outputPins[6] = {3, 5, 6, 9, 10, 11}; // PWM pins// setRGBpoint (0, ...) for pins 3, 5, 6; setRGBpoint (1, ...) for pins 9, 10, 11. // See array above void setRGBpoint(byte LED, uint8_t red, uint8_t green, uint8_t blue) { // this code is for common anode LEDs. If you use common cathode ones, // remove the '255-' bits. analogWrite(outputPins[LED*3], 255-red); analogWrite(outputPins[LED*3+1], 255-green); analogWrite(outputPins[LED*3+2], 255-blue); }// the real HSV rainbow void trueHSV(byte LED, int angle) { byte red, green, blue; if (angle<60) {red = 255; green = HSVlights[angle]; blue = 0;} else if (angle<120) {red = HSVlights[120-angle]; green = 255; blue = 0;} else if (angle<180) {red = 0, green = 255; blue = HSVlights[angle-120];} else if (angle<240) {red = 0, green = HSVlights[240-angle]; blue = 255;} else if (angle<300) {red = HSVlights[angle-240], green = 0; blue = 255;} else {red = 255, green = 0; blue = HSVlights[360-angle];} setRGBpoint(LED, red, green, blue); }// the 'power-conscious' HSV rainbow void powerHSV(byte LED, int angle) { byte red, green, blue; if (angle<120) {red = HSVpower[120-angle]; green = HSVpower[angle]; blue = 0;} else if (angle<240) {red = 0; green = HSVpower[240-angle]; blue = HSVpower[angle-120];} else {red = HSVpower[angle-240]; green = 0; blue = HSVpower[360-angle];} setRGBpoint(LED, red, green, blue); }// sine wave rainbow void sineLED(byte LED, int angle) { setRGBpoint(LED, lights[(angle+120)%360], lights[angle], lights[(angle+240)%360]); }void setup() { }void loop() { for (int k=0; k<360; k++) {// uncomment the mode (or modes) you need below. // with all six PWM outputs connected you may use 2 modes, change one 0 to 1.trueHSV(0, k);//powerHSV(0, k);//sineLED(0, k);delay(30); } } 

Sluit gewoon één of twee RGB-LED's aan uw Arduino en uncomment de benodigde routines in de loop. Merk op dat deze code is geschreven voor gemeenschappelijke anode LEDs, hebt u een gemeenschappelijke kathode degenen verwijderen alle drie ' 255-' van de setRGBpoint() functie.

De setRGBpoint() functie zelf is opgenomen voor eenvoudiger overgang tussen PWM outputs en LED drivers. Aangepast het als u van de laatste gebruikmaakt. Merk op dat u kunt nog steeds met één byte waarden, vermenigvuldigen ze gewoon in de functie met ' << 4' voor 12-bit uitvoer en ' << 8' voor 16-bits.

Deze code is genoeg om je begon, maar als u wilt dat het een beetje uitgelegd, Lees verder (en ja, de willekeurige kleuren zullen binnenkort volgen).

Gerelateerde Artikelen

Hoe maak je een regenboog van Soda (Deviantart Muro)

Hoe maak je een regenboog van Soda (Deviantart Muro)

Hallo. In zijn tutorial ga ik je laten zien hoe je een regenboog in Deviantart Muro. Ik ga er echter niet alleen om u te tonen hoe maak je een regenboog. Een soda regenboog lijkt geschikter. De afbeelding toont hoe het eindproduct er uit zou kunnen z
Hoe maak je goede Bibim Myun (Go & David)

Hoe maak je goede Bibim Myun (Go & David)

dit zijn noodzakelijke ingrediënten om goede Bibim Myun.Stap 1: Hoe maak je goede Bibim Myun (Go & David) Dit is de Koreaanse traditionele groente, genaamd Kimchi. Het is gemaakt met een verscheidenheid van kruiderijen.Stap 2: Hoe maak je goede Bibim
Hoe maak je een regenboog potlood Case - stapsgewijze zelfstudie

Hoe maak je een regenboog potlood Case - stapsgewijze zelfstudie

https://Youtu.be/PyLjmzFyM40Stap 1: Om te doen een regenboog potlood geval u nodig! Een rits Pen zak u moet doen:1) ritsen;2) gevoeld;3) scissor;4) naald & draad (u kunt naaimachine gebruiken als u wilt);5) lijmpistool.Stap 2: In deze tutorial instru
Hoe maak je een boot van de stoom met een kaars

Hoe maak je een boot van de stoom met een kaars

https://www.YouTube.com/watch?v=sWJqCubW1ic&feature=Youtu.beStap 1: Om te doen een boot van de stoom met een kaars u nodig!In deze instructables ik zal je laten zien een geweldig idee van hoe maak je een boot van de stoom met de kaars.Stap 2: Kindere
Hoe maak je een tegenhanger van de bloem met een koffie Pod

Hoe maak je een tegenhanger van de bloem met een koffie Pod

Hallo iedereen,We wilden delen met uw onze eerste tutorial op YouTube. Hoe maak je een tegenhanger van de bloem met een koffie pod. De Nespresso koffie peulen zijn ronde, maar we willen spelen met hen en andere vormen te verkrijgen. En omdat we beide
Hoe maak je een autopatcher voor windows xp met behulp van batchbestanden

Hoe maak je een autopatcher voor windows xp met behulp van batchbestanden

hoe maak je een autopatcher voor windows xp met behulp van batchbestandenAlleen beschrijving, foto's kunnen nooit bestaan :)Stap 1: Alle stappen hier omdat het te moeilijk om te lezen in meerdere pagina 's1. Maak een nieuwe map op uw bureaublad2. all
Hoe maak je de beste PB + J ooit met een CRUNCH!

Hoe maak je de beste PB + J ooit met een CRUNCH!

In dit Instructable ik ga vertellen u hoe maak je een geweldig PB + J sandwich met een crunch. Ik bedoel niet met knapperige pindakaas maar een lichte crunch. om van te genieten.Stap 1: Eerste stap Oke hier is uw eerste stap. Koop levert. Je moet voo
Hoe maak je de letters J en O met 1/2 in PVC

Hoe maak je de letters J en O met 1/2 in PVC

In dit instructable, leert u hoe maak je de letters J en O met 1/2 in diameter PVC.Stap 1: Materialen voor J en O Om de hoofdletter J, moet u de volgende materialen: (alle gewrichten en PVC is 1/2 in)1 T-joint2 90 graden ellebogen2 2 in PVC1 1 in PVC
Hoe maak je Awesome regenboog Cupcakes

Hoe maak je Awesome regenboog Cupcakes

dit Instructable zal u tonen hoe te vergoeden awesome regenboog cupcakes die niet alleen maar de smaak goed uitzien ook! Uw vrienden zullen alleen denken het kostte je voor altijd te maken deze cupcakes. Alleen zal jij weten dat het duurde niet hele
Hoe maak je een armband van twee kleuren Survival

Hoe maak je een armband van twee kleuren Survival

Gedurende dit Instructable zal ik u tonen hoe te maken van een armband overleving 2 kleur met een gesp. Wanneer u klaar bent, afhankelijk van de grootte van uw pols, de armband zal ontrafelen in 2 gelijke lengtes van paracord elk meten van ongeveer 5
Hoe maak je een Paracord armband (2 kleuren)

Hoe maak je een Paracord armband (2 kleuren)

dit zal u tonen hoe te maken van een paracord armband met:Een gespTwee 4 voet lange touwen van paracordEen aanstekerMes of schaarStap 1: Stap 1 Uw aansteker kunt het touw samensmelten.Stap 2: Stap 2 Na dat uw gesp krijgen en het touw het touw door de
Hoe maak je goede Bostin' Yorkshire Puds

Hoe maak je goede Bostin' Yorkshire Puds

hier is een grote familie recept voor goede ouderwetse Yorkshire pudding. Dit recept heeft nooit me neer gelaten, als je het naar de letter volgen!Snel, eenvoudig en leuk om te maken!Geweldig voor een Sunday Roast!Maar ook proberen met vanille-ijs en
Hoe maak je goede aangepaste klassen in MW3

Hoe maak je goede aangepaste klassen in MW3

zoals elke CoD MW3 speler is het zeer moeilijk weten zou om aangepaste clases die betrekking hebben op elke mogelijke situatie.Gelukkig voor u heb ik gemaakt om te helpen.Stap 1: Klasse 1 wapens Moet u aangepaste klasse 1 in uw klasse snelle aanval.P
Hoe maak je een geodetische koepel van Maquette met karton,

Hoe maak je een geodetische koepel van Maquette met karton,

wat we nodig hebben:Pen en papier, een rekenmachine, een potlood, sommige heersers, een kompas, een cutter mes, plakband, lijm, enkele of dubbele muur gegolfd karton, een werktafel en "patience".Inleiding.Laat zeggen u willen een dummy van een k