ATtiny RGB Mood Light (2 / 8 steg)
Steg 2: Koden
attiny85 RGB LED rainbow fade med LDRCONST int redPin = 2;
CONST int grnPin = 1;
CONST int bluPin = 0;
void setup()
{
pinMode (redPin, produktionen);
pinMode (grnPin, produktionen);
pinMode (bluPin, produktionen);
}
void loop()
{
redtoyellow();
yellowtogreen();
greentocyan();
cyantoblue();
bluetomajenta();
majenatored();
}
fördröjning (30);
}
void redtoyellow()
{
digitalWrite (redPin, hög);
digitalWrite (bluPin, låg);
tona upp grön
för (byte jag = 1; jag < 100; i ++) {
byte på = i.
byte av = 100-på;
för (byte en = 0; en < 100; a ++) {
digitalWrite (grnPin, hög);
delayMicroseconds(on);
digitalWrite (grnPin, låg);
delayMicroseconds(off);
}
}
}
void yellowtogreen()
{
digitalWrite (grnPin, hög);
digitalWrite (bluPin, låg);
tona ner röda
för (byte jag = 1; jag < 100; i ++) {
byte på = 100-i.
byte av = i.
för (byte en = 0; en < 100; a ++) {
digitalWrite (redPin, hög);
delayMicroseconds(on);
digitalWrite (redPin, låg);
delayMicroseconds(off);
}
}
}
void greentocyan()
{
digitalWrite (grnPin, hög);
digitalWrite (redPin, låg);
tona upp blå
för (byte jag = 1; jag < 100; i ++) {
byte på = i.
byte av = 100-på;
för (byte en = 0; en < 100; a ++) {
digitalWrite (bluPin, hög);
delayMicroseconds(on);
digitalWrite (bluPin, låg);
delayMicroseconds(off);
}
}
}
void cyantoblue()
{
digitalWrite (bluPin, hög);
digitalWrite (redPin, låg);
tona ner grön
för (byte jag = 1; jag < 100; i ++) {
byte på = 100-i.
byte av = i.
för (byte en = 0; en < 100; a ++) {
digitalWrite (grnPin, hög);
delayMicroseconds(on);
digitalWrite (grnPin, låg);
delayMicroseconds(off);
}
}
}
void bluetomajenta()
{
digitalWrite (bluPin, hög);
digitalWrite (grnPin, låg);
tona upp röda
för (byte jag = 1; jag < 100; i ++) {
byte på = i.
byte av = 100-på;
för (byte en = 0; en < 100; a ++) {
digitalWrite (redPin, hög);
delayMicroseconds(on);
digitalWrite (redPin, låg);
delayMicroseconds(off);
}
}
}
void majenatored()
{
digitalWrite (redPin, hög);
digitalWrite (grnPin, låg);
tona ner blå
för (byte jag = 1; jag < 100; i ++) {
byte på = 100-i.
byte av = i.
för (byte en = 0; en < 100; a ++) {
digitalWrite (bluPin, hög);
delayMicroseconds(on);
digitalWrite (bluPin, låg);
delayMicroseconds(off);
}
}
}