LED ljuskrona (5 / 6 steg)
Steg 5: Ledningar och programmering
Vi har nu tolv trådar sticker ut toppen och för ledningarna kommer från var och en av de.
Från och med den yttersta LED antal LED leder från 1 till tolv spiral inåt.
LED 1,3,5,7,9,11 måste ha en gemensam röd grön och blå buss (dvs. röda tråd är alla Förenade blå trådarna är alla Förenade och gröna trådar är alla Förenade vi kommer att kalla dem A, bussar) och LED'S 2,4,6,8,10,12 har en gemensam grön röd och blå buss (B, bussar).
Koppla lysdioder gemensam anod sladdar och bussar till följande arduino stiften.
LED1 anoden = 0;
LED2 anoden = 1;
LED3 anoden = 2;
LED4 anoden = 4;
LED5 anoden = 7.
LED6 anoden = 8.
LED7 anoden = 12.
LED8 anoden = 13.
LED9 anoden = 14.
LED10 anoden = 15.
LED11 anoden = 16.
LED12 anoden = 17;
RÖD buss A = 3;
GRÖNA bussen A = 5;
BLÅ buss A = 6;
RÖD buss B = 9.
GRÖNA bussen B = 10;
BLÅ buss B = 11;
Dessa anslutningar måste vara rätt som jag inte har använt motstånd i stället har jag använt Arduino pwm funktion för att styra aktuellt. (information om lastning skisser i arduino finns)
Arduino skiss programmering
int värde = 0;
int LED1 = 0;
int LED2 = 1;
int LED3 = 2;
int LED4 = 4;
int LED5 = 7.
int LED6 = 8;
int LED7 = 12;
int LED8 = 13.
int LED9 = 14.
int LED10 = 15.
int LED11 = 16.
int LED12 = 17;
int RED1 = 3;
int GREEN1 = 5;
int BLUE1 = 6;
int RED2 = 9;
int GREEN2 = 10;
int BLUE2 = 11;
void setup()
{
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
pinMode(LED4,OUTPUT);
pinMode(LED5,OUTPUT);
pinMode(LED6,OUTPUT);
pinMode(LED7,OUTPUT);
pinMode(LED8,OUTPUT);
pinMode(LED9,OUTPUT);
pinMode(LED10,OUTPUT);
pinMode(LED11,OUTPUT);
pinMode(LED12,OUTPUT);
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
digitalWrite(LED6,LOW);
digitalWrite(LED7,LOW);
digitalWrite(LED8,LOW);
digitalWrite(LED9,LOW);
digitalWrite(LED10,LOW);
digitalWrite(LED11,LOW);
digitalWrite(LED12,LOW);
Red1Off();
Blue1Off();
Green1Off();
Red2Off();
Blue2Off();
Green2Off();
}
void loop()
{
LEDOn(LED1);
LEDOn(LED2);
LEDOn(LED3);
LEDOn(LED4);
LEDOn(LED5);
LEDOn(LED6);
LEDOn(LED7);
LEDOn(LED8);
LEDOn(LED9);
LEDOn(LED10);
LEDOn(LED11);
LEDOn(LED12);
FadeUp(RED1,RED2,2);
Delay(2000);
FadeDown(RED1,RED2,2);
FadeUp(GREEN1,GREEN2,2);
Delay(2000);
FadeDown(GREEN1,GREEN2,2);
FadeUp(BLUE1,BLUE2,2);
Delay(2000);
FadeDown(BLUE1,BLUE2,2);
Magenta1On ();
Magenta2On ();
fördröjning (2000);
Magenta1Off();
Magenta2Off();
Cyan1On ();
Cyan2On();
fördröjning (2000);
Cyan1Off ();
Cyan2Off();
Yellow1On ();
Yellow2On();
fördröjning (2000);
Yellow1Off;
Yellow2Off();
Blue1On();
Cyan2On();
fördröjning (2000);
Blue1Off();
Cyan2Off();
Green2On();
Yellow1On();
fördröjning (2000);
Green2Off();
Yellow1Off();
Red1On();
Magenta2On();
fördröjning (2000);
Red1Off();
Magenta2Off();
White1On();
White2On();
Delay(2000);
White1Off();
White2Off();
Blue1On();
Cyan2On();
fördröjning (2000);
Blue1Off();
Cyan2Off();
Green2On();
Yellow1On();
fördröjning (2000);
Green2Off();
Yellow1Off();
Red1On();
Magenta2On();
fördröjning (2000);
Red1Off();
Magenta2Off();
Red1On();
White2On();
Delay(2000);
Red1Off();
White2Off();
LEDOff(LED1);
LEDOff(LED2);
LEDOff(LED3);
LEDOff(LED4);
LEDOff(LED5);
LEDOff(LED6);
LEDOff(LED7);
LEDOff(LED8);
LEDOff(LED9);
LEDOff(LED10);
LEDOff(LED11);
LEDOff(LED12);
Red1Off();
Blue1Off();
Green1Off();
Red2Off();
Blue2Off();
Green2Off();
White1Off();
White2Off();
Red1Off();
Green1Off();
Blue1Off();
Red2Off();
Green2Off();
Blue2Off();
Red1On();
Red2On();
LEDSp(125);
Red1Off();
Red2Off();
Blue1On();
Blue2On();
LEDSp(125);
Blue1Off();
Blue2Off();
Green1On();
Green2On();
LEDSp(125);
Green1Off();
Green2Off();
Magenta1On ();
Magenta2On ();
LEDSp(125);
Magenta1Off();
Magenta2Off();
Cyan1On ();
Cyan2On();
LEDSp(125);
Cyan1Off ();
Cyan2Off();
Yellow1On ();
Yellow2On();
LEDSp(125);
Yellow1Off;
Yellow2Off();
White1On();
White2On();
LEDSp(125);
White1Off();
White2Off();
Blue1On();
Cyan2On();
LEDSp(125);
Blue1Off();
Cyan2Off();
Green2On();
Yellow1On();
LEDSp(125);
Green2Off();
Yellow1Off();
Red1On();
Magenta2On();
LEDSp(125);
Red1Off();
Magenta2Off();
Red1On();
White2On();
LEDSp(125);
Red1Off();
White2Off();
Red1Off();
Green1Off();
Blue1Off();
Red2Off();
Green2Off();
Blue2Off();
Green1On();
Blue2On();
LEDSp2 (200);
Green1Off();
Blue2Off();
Green1On();
Blue2On();
LEDSp2 (200);
Green1Off();
Blue2Off();
}
void LEDSp (int x) {/ / spiraler på från 1-n
LEDOn(LED1);
Delay(x);
LEDOn(LED2);
Delay(x);
LEDOn(LED3);
Delay(x);
LEDOn(LED4);
Delay(x);
LEDOn(LED5);
Delay(x);
LEDOn (LED6); \
Delay(x);
LEDOn(LED7);
Delay(x);
LEDOn(LED8);
Delay(x);
LEDOn(LED9);
Delay(x);
LEDOn(LED10);
Delay(x);
LEDOn(LED11);
Delay(x);
LEDOn(LED12);
Delay(x);
LEDOff(LED1);
Delay(x);
LEDOff(LED2);
Delay(x);
LEDOff(LED3);
Delay(x);
LEDOff(LED4);
Delay(x);
LEDOff(LED5);
Delay(x);
LEDOff(LED6);
Delay(x);
LEDOff(LED7);
Delay(x);
LEDOff(LED8);
Delay(x);
LEDOff(LED9);
Delay(x);
LEDOff(LED10);
Delay(x);
LEDOff(LED11);
Delay(x);
LEDOff(LED12);
}
void LEDSp2 (int x) {/ / spiraler på från 1-n
LEDOn(LED1);
Delay(x);
LEDOff(LED1);
LEDOn(LED2);
Delay(x);
LEDOff(LED2);
LEDOn(LED3);
Delay(x);
LEDOff(LED3);
LEDOn(LED4);
Delay(x);
LEDOff(LED4);
LEDOn(LED5);
Delay(x);
LEDOff(LED5);
LEDOn(LED6);
Delay(x);
LEDOff(LED6);
LEDOn(LED7);
Delay(x);
LEDOff(LED7);
LEDOn(LED8);
Delay(x);
LEDOff(LED8);
LEDOn(LED9);
Delay(x);
LEDOff(LED9);
LEDOn(LED10);
Delay(x);
LEDOff(LED10);
LEDOn(LED11);
Delay(x);
LEDOff(LED11);
LEDOn(LED12);
Delay(x);
LEDOff(LED12);
}
void LEDOn(int x) {
digitalWrite(x,HIGH);
}
void LEDOff(int x) {
digitalWrite(x,LOW);
}
void Red1On() {
analogWrite(RED1,100);
}
void Red1Off() {
analogWrite(RED1,255);
}
void Green1On() {
analogWrite(GREEN1,100);
}
void Green1Off() {
analogWrite(GREEN1,255);
}
void Blue1On() {
analogWrite(BLUE1,100);
}
void Blue1Off() {
analogWrite(BLUE1,255);
}
void Red2On() {
analogWrite(RED2,100);
}
void Red2Off() {
analogWrite(RED2,255);
}
void Green2On() {
analogWrite(GREEN2,100);
}
void Green2Off() {
analogWrite(GREEN2,255);
}
void Blue2On() {
analogWrite(BLUE2,100);
}
void Blue2Off() {
analogWrite(BLUE2,255);
}
void Yellow1On() {
analogWrite (RED1, 100);
analogWrite (GREEN1, 100);
}
void Yellow1Off() {
analogWrite (RED1, 255);
analogWrite (GREEN1, 255);
}
void Cyan1On() {
analogWrite (GREEN1, 100);
analogWrite (BLUE1, 100);
}
void Cyan1Off () {
analogWrite (GREEN1, 255);
analogWrite (BLUE1, 255);
}
void Magenta1On () {
analogWrite (RED1, 100);
analogWrite (BLUE1, 100);
}
void Magenta1Off () {
analogWrite (RED1, 255);
analogWrite (BLUE1, 255);
}
void White1On () {
analogWrite (RED1, 100);
analogWrite (BLUE1, 100);
analogWrite (GREEN1, 100);
}
void White1Off () {
analogWrite (RED1, 225);
analogWrite (BLUE1, 225);
analogWrite (GREEN1, 225);
}
void Yellow2On() {
analogWrite (RED2, 100);
analogWrite (GREEN2, 100);
}
void Yellow2Off() {
analogWrite (RED2, 255);
analogWrite (GREEN2, 255);
}
void Cyan2On() {
analogWrite (GREEN2, 100);
analogWrite (BLUE2, 100);
}
void Cyan2Off () {
analogWrite (GREEN2, 255);
analogWrite (BLUE2, 255);
}
void Magenta2On () {
analogWrite (RED2, 100);
analogWrite (BLUE2, 100);
}
void Magenta2Off () {
analogWrite (RED2, 255);
analogWrite (BLUE2, 255);
}
void White2On () {
analogWrite (RED2, 100);
analogWrite (BLUE2, 100);
analogWrite (GREEN2, 100);
}
void White2Off () {
analogWrite (RED2, 225);
analogWrite (BLUE2, 225);
analogWrite (GREEN2, 225);
}
void FadeUp (int färg, int colour2, int hastighet) {
för (värde = 255, värde > = 80.) / / fade (från min till max)
{
analogWrite (färg, värde); anger värdet (varierar från 0 till 255)
analogWrite (colour2, värde);
Delay(20); väntar på 30 milli sekunder att se ljusreglering effekten
värde = värde - hastighet;
}
}
void FadeDown (int färg, int colour2, int hastighet) {
för (värde = 80; värdet < = 255;) / / tona ut (från max till min)
{
analogWrite (färg, värde);
analogWrite (colour2, värde);
Delay(20);
värde = värde + hastighet;
}
}