Arduino spektrum reglaget (3 / 3 steg)
Steg 3: kod
Kopiera och klistra in. Om gemensam katod som RGB värden till 0 i stället för att subtrahera.
int annapetrovic = 11;
int gPin = 10; int bPin = 9; float rPinBrightness; float gPinBrightness; float bPinBrightness; flytvärdet; float mval; flöte röd; float grön; float blå; float faktor. void setup() {/ / lägga installationen koden här, om du vill köra en gång:
}
void color() {mval = analogRead(A1), värde = karta (mval, 0, 1023, 380, 650);
om ((värde > = 380) & & (värdet < 440)) {röd =-(värde - 440) / (440-380); Grön = 0,0; Blå = 1,0; } else om ((värde > = 440) & & (värdet < 490)) {röd = 0,0; Grön = (värde - 440) / (490-440); Blå = 1,0; } else om ((värde > = 490) & & (värdet < 510)) {röd = 0,0; Grön = 1,0; Blå =-(värde - 510) / (510-490); } else om ((värde > = 510) & & (värdet < 580)) {röd = (värde - 510) / (580-510); Grön = 1,0; Blå = 0,0; } else om ((värde > = 580) & & (värdet < 645)) {röd = 1,0; Grön =-(värde - 645) / (645-580); Blå = 0,0; } else om ((värde > = 645) & & (värdet < 781)) {röd = 1,0; Grön = 0,0; Blå = 0,0; } annat {röd = 0,0; Grön = 0,0; Blå = 0,0; }; om ((värde > = 380) & & (värdet < 420)) {faktor = 0,3 + 0.7*(value-380) / (420-380);} annars om ((värde > = 420) & & (värdet < 701)) {faktor = 1,0;} annars om ((värde > = 701) & & (värdet < 781)) {faktor = 0,3 + 0.7*(780-value) / (780-700);} annat {faktor = 0,0;};
}
void loop() {/ / sätta din huvudsakliga kod här, för att köra flera gånger: color(); analogWrite (annapetrovic, 255 - röd * 100 * faktor); analogWrite (gPin, 255 - grön * 100 * faktor), analogWrite (bPin, 255 - blå * 100 * faktor); delay(10);}