
第5步编程
我给LED灯从外向内进行编号,其中1,3,5,7,9,11 有公共的红、绿、蓝总线(即所有的红线接在一起形成A总线),2,4,6,8,10,12有共同的绿、红、蓝总线(B总线)。
然后把LED的共阳极线和总线按照下面的方式连接到 arduino 。
LED1阳极= 0;
LED2阳极= 1;
LED3阳极= 2;
LED4阳极= 4;
LED5阳极= 7;
LED6阳极= 8;
LED7阳极= 12;
LED8阳极= 13;
LED9阳极= 14;
LED10阳极= 15;
LED11阳极= 16;
LED12阳极= 17;
红色总线 A = 3;
绿色总线 A = 5;
蓝色总线 A = 6;
红色总线 B = 9;
绿色总线B = 10;
蓝色总线B = 11;
int value = 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 ();
delay (2000);
Magenta1Off();
Magenta2Off();
Cyan1On ();
Cyan2On();
delay (2000);
Cyan1Off ();
Cyan2Off();
Yellow1On ();
Yellow2On();
delay (2000);
Yellow1Off;
Yellow2Off();
Blue1On();
Cyan2On();
delay (2000);
Blue1Off();
Cyan2Off();
Green2On();
Yellow1On();
delay (2000);
Green2Off();
Yellow1Off();
Red1On();
Magenta2On();
delay (2000);
Red1Off();
Magenta2Off();
White1On();
White2On();
delay(2000);
White1Off();
White2Off();
Blue1On();
Cyan2On();
delay (2000);
Blue1Off();
Cyan2Off();
Green2On();
Yellow1On();
delay (2000);
Green2Off();
Yellow1Off();
Red1On();
Magenta2On();
delay (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) { // spirals on from 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) { // spirals on from 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 colour,int colour2 ,int speed) {
for(value = 255 ; value >= 80;) // fade in (from min to max)
{
analogWrite(colour, value); // sets the value (range from 0 to 255)
analogWrite(colour2, value);
delay(20); // waits for 30 milli seconds to see the dimming effect
value = value - speed;
}
}
void FadeDown(int colour,int colour2, int speed) {
for(value = 80; value <= 255;) // fade out (from max to min)
{
analogWrite(colour, value);
analogWrite(colour2, value);
delay(20);
value = value + speed;
}
}
猜你会喜欢
简单的光线探测器
光线探测器是最普遍的传感器之一,并广泛应...
无线供电的LED旋转时钟
这次的制作结合了无线供电的原理和时钟功能...
发光圣诞树
圣诞节就要来了,你还没有圣诞树么?现在就...
高手打造的智能无线供电台灯
无线供电是一个很吸引人的制作课题,许多电...
iPhone控制的简易物联网
这次我尝试制作一个简单的物联网系统,可以...












评 论
选择昵称后请轻按空格键
请勿进行人身攻击,谩骂以及任何违法国家相关法律法规的言论。