ATtiny85 Mini RGB Mood Light! (3 / 5 steg)
Steg 3: Programmera chip
ATtiny85 RGB-färgen bleknar Mood Light nu med ljus AVKÄNNINGS kapacitet!
CONST int redPin = 2;
CONST int grnPin = 1;
CONST int bluPin = 0;
CONST int sensor = 3;
void setup()
{
pinMode (redPin, produktionen);
pinMode (grnPin, produktionen);
pinMode (bluPin, produktionen);
pinMode (sensor, ingång);
}
void loop() {
om (analogRead(sensor) < = 200)
{
redtoyellow();
yellowtogreen();
greentocyan();
cyantoblue();
bluetomagenta();
magentatored();
}
annars om (analogRead(sensor) > = 201)
{
digitalWrite (redPin, låg);
digitalWrite (grnPin, låg);
digitalWrite (bluPin, låg);
}
}
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 bluetomagenta()
{
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 magentatored()
{
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);
}
}
}