Hur man gör ordentlig Rainbow och slumpmässiga färger med RGB-färgmodellen (2 / 5 steg)

Steg 2: Rainbow tid!

Videon ovan visar samma fem lysdioder kör rainbow i tre lägen: regelbunden HSV (överst), "power-medvetna" HSV (mitten) och sinus våg (nederst). Filma lysdioder är inte en exakt givande erfarenhet, men förhoppningsvis kan du se skillnaden mellan olika lägen. Det finns en B & W bilder i slutet, det visar tydligt spikar av HSV lägen. I alla fall, är här koden som låter dig upprepa upplevelsen själv:

uint8_t är samma som byte
uint16_t är unsigned int
Jag märkte bara att jag blandade dessa i denna skiss, ledsen
CONST uint8_t lyser [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 stift
setRGBpoint (0,...) för stift 3, 5, 6. setRGBpoint (1,...) för stift 9, 10, 11.
Se matrisen ovan
void setRGBpoint (byte LED, uint8_t röd, grön, uint8_t uint8_t blå)
{
Detta är för gemensam anod lysdioder. Om du använder gemensam katod sådana,
ta bort den "255-" bitar.
analogWrite (outputPins [LED * 3], 255-röd);
analogWrite (outputPins [LED * 3 + 1], 255-grön);
analogWrite (outputPins [LED * 3 + 2], 255-blå);
}
verkliga HSV regnbågen
void trueHSV (byte LED, int vinkel)
{
byte röd, grön, blå;
om (vinkel < 60) {röd = 255, grön = HSVlights [vinkel]; blå = 0;} annat
om (vinkel < 120) {röd = HSVlights [120-vinkel]; grön = 255, blå = 0;} annat
om (vinkel < 180) {röd = 0, grön = 255, blå = HSVlights [vinkel-120];} annat
om (vinkel < 240) {röd = 0, grön = HSVlights [240-vinkel]; blå = 255;} annat
om (vinkel < 300) {röd = HSVlights [vinkel-240], grön = 0; blå = 255;} annat
{röd = 255, grön = 0; blå = HSVlights [360-vinkel];}
setRGBpoint (LED, röd, grön, blå);
}
"power-medvetna" HSV regnbågen
void powerHSV (byte LED, int vinkel)
{
byte röd, grön, blå;
om (vinkel < 120) {röd = HSVpower [120-vinkel]; grön = HSVpower [vinkel]; blå = 0;} annat
om (vinkel < 240) {röd = 0; grön = HSVpower [240-vinkel]; blå = HSVpower [vinkel-120];} annat
{röd = HSVpower [vinkel-240]; grön = 0; blå = HSVpower [360-vinkel];}
setRGBpoint (LED, röd, grön, blå);
}
sinusvåg rainbow
void sineLED (byte LED, int vinkel)
{
setRGBpoint (LED, ljus [(angle+120) % 360], ljus [vinkel], lights[(angle+240)%360]);
}
void setup() {
}
void loop() {

för (int k = 0; k < 360; k ++)
{
avkommentera läge (eller lägen) du behöver nedan.
med alla sex PWM utgångar ansluten kan du använda 2 lägen, ändra en 0 till 1.
trueHSV (0, k);
powerHSV (0, k);
sineLED (0, k);
Delay(30);
}
}

Bara ansluta en eller två RGB-ljusdioder till din Arduino och avkommentera de nödvändiga rutinerna i loop(). Observera att här koden skrevs för gemensam anod lysdioder, om du har gemensam katod som tar bort alla tre "255-' från funktionen setRGBpoint() .

Funktionen setRGBpoint() sig ingår för lättare övergång mellan PWM utgångar och LED drivers. Ändra det om du använder den senare. Observera att du kan fortfarande använda en byte värden, bara multiplicera dem i funktion med "<< 4' för 12-bitars utdata och ' << 8' för 16-bitars.

Denna kod är tillräckligt för att få dig igång, men om du vill att det förklarade lite, läste på (och ja, de slumpmässiga färgerna kommer att följa inom kort).

Se Steg
Relaterade Ämnen

Hur man byter den vita lysdioden från din nyckelring ficklampa med RGB LED.

Hi,I denna enkla instructable ska jag lära dig att byta ut den vita lysdioden från din nyckelring ficklampa med RGB LED. En RGB-LED är en röd, grön, blå LED kombinerade in i en LED. Du kan ersätta den med någon färg men jag tror RGB är bäst av efters...

Lätt hur man mögel rösterna och duplicera din träsnideri med betong

Lär dig den enklaste metoden för att duplicera din träsniderier!Steg 1: Förbered din carvingShellac eller någon lämplig fogmassa kan tillämpas på carving. När tätningsmedlet har torkat bör carving limmas till botten av en mögel box/container att förh...

Hur man gör Awesome Rainbow Cupcakes

detta Instructable visar dig hur man gör awesome rainbow cupcakes som inte bara ser bra men smaka bra också! Dina vänner kommer bara tror det tog dig för evigt att göra dessa muffins. Bara vet du att det inte tog hela dagen att göra dem.Steg 1: Samla...

Hur man gör stativ Iphone och Samsung Smartphone

Hur man gör stativ iphone och samsung smartphone med rakbladYouTube-videor...

Hur man grädde smör och socker (för Hand eller med en Mixer)

många läckra dessert recept ber oss att grädde ihop smör och socker, utan som faktiskt beskriver stegen. Vissa personer beskriver det som en "konst", vilket jag tycker är över påstå saker bara lite. Avgiftsbelägga betyder helt enkelt blanda dina...

Hur man gör en sprite och objekt i Gamemaker Studios

Det är där du kommer att lära dig hur man gör en sprite och objekt i Gamemaker Studios.Steg 1: Få en spriteFörst gå till "www.spriters-resources.com". När du kommer dit i vänster spalten klicka sedan på NES som tar dig för en massa spel.Steg 2:...

Hur man gör skärp och armband av soda pop flikarna

detta instructable visar dig hur man gör skärp och armband av flikarna finns på soda burkar.Detta projekt är ganska enkelt men tar lite tid.Armband i genomsnitt 10-20 minuter och bälten tar ca 1-2 timmar beroende på hur snabb du är.Steg 1: leveranser...

Visa hur man viker dinosaurie Tyrannosaurus Del1 och 2 ORIGAMI hur man viker dinosaurie Tyrannosaurus Del1 och 2 Origami

Visa hur man viker dinosaurie Tyrannosaurus Del1 och 2 ORIGAMI hur man viker dinosaurie Tyrannosaurus Del1 och 2 OrigamiHoppas du gillar. Pls kommentar....

Hur man löser en skjuvning och ögonblick Problem

Detta instructable kommer att lära dig hur du löser för krafter och moment på en balk och hur man drar en skjuvning och ögonblick diagram för att stråla. En skjuvning och nu problemet är ett vanligt problem i en teknisk kurs som använder olika grunde...

Hur man gör söta och sura fläsk

söt och syrlig fläsk är en av det traditionella köket i Kina, och det är också en välkända rätter i västerländska länder. Skålen består av djupa stekt fläsk i bita stora bitar och därefter wokad i en mer anpassad version av sötsur sås gjord av socker...

Hur man skriver en enkel ackord och ostinato baserad melodi och ackompanjemang

bonjour instructables! i detta "vänners kompatibla kommer jag visa dig hur man skriver en enkel melodi och ackompanjemang! du behöver några musikaliska kunskaper! (om någon vill ha en hur man på musik behandlingen och teori bara lämna en kommentar oc...

Hur man gör en pappers-och dalbana | DIY tidningen Craft handledning

Hur man gör en tidning-och dalbana | DIY tidningen Craft TutorialI denna tutorial får du lära dig att göra vackra glasunderlägg med tidningar i bara några steg. Låt oss komma igång.Jo jag hoppas att du haft detta hantverk och så glöm inte att dela, k...

Hur man gör den snabbaste och Long Distance flyger papper flygplan

vill du göra en Puma pappersflygplan?Dessa steg för steg video instruktioner lärde dig hur man gör de snabbaste och långväga papper flygplan som du kan hitta fullständiga instruktioner på http://extremepaperairplanes.com. Det finns länkar finns kan d...

Hur man gör en billig och enkel högtalare för Mp3, ipod, etc

hur man gör en enkel och billig högtalareDet är enkelt men inte högljudd och inte använder stora högtalareoch om du vill ha högtalare för ipod eller mobiltelefon (någon sak som jack inte 3,5 audio jack, du kan ändra jack.)och om du har några frågor s...

Hur man botar poison ivy, ek, och sumak

Hej toxicpaw100 här jag kommer att visa dig hur man botar gifter ivy, ek och sumak.Steg 1: Använd calamine lotion eller pulver (lotion rekommenderas starkt eftersom fungerar på ett kick) få några calamine lotion eller pulver (lotion rekommenderas). C...

Hur man gör mål och glida

hur man gör mål och glidaScoring och halka är en viktig del av lera byggnaden och om det inte görs rätt, kan generera några stora problem. Titta på videon för att se en steg för steg guide om hur man fäster lera korrekt.Material:-lera-pin verktyg ell...

Hur man gör en skruv och ett gängat hål i 123d Design

Om du gillar mitt arbete så Överväg att gå och donera en liten mängd pengar till mig att hjälpa till att finansiera en öppen källkod tabletter jag arbetar på ett framtida projekt.http://www.Gofundme.com/Rpitablet-Tack---------------------------------...

Hur man gör en MDF stomme för åkeriet plattor med en Laser

detta Instructable visar hur man gör en snabb och billig ram att visa 3 3 "x 6" keramiska plattor med 1/4 "MDF. Designen skapades för att få de mest ramar av ett ark med 18 "x 24" MDF. Den består av en hjälpare ombord dekorativa k...

Hur man gör den bästa PB + J någonsin med en CRUNCH!

i detta Instructable jag kommer att berätta hur man gör en awesome PB + J smörgås med en crunch. Jag menar inte med crunchy jordnötssmör men en ljus kritan. att njuta av.Steg 1: Första steget Okej här är ditt första steg. köpa förnödenheter. För denn...