Stap 4: Arduino Code
Kopieer en plak de Arduino code hieronder in een nieuwe schets. Ik zal niet het schrijven van mijn eigen tutorial hier, dus als je niet hoe weet te maken/upload een schets, check out de officiële Arduino - Getting Started -pagina. Als u meer weten over een bepaalde opdracht wilt, enkel Google het (bijvoorbeeld "Arduino analogWrite") en de officiële help-pagina moeten pop recht omhoog.Waarschuwing: dit is waarschijnlijk niet de meest efficiënte code! In het bijzonder ben ik niet zeker van een leukere manier om te controleren voortdurend de potentiometer fade-snelheid zonder te kopiëren en plakken van de dezelfde coderegel over en ouder, of als er een manier om te breken uit een for-lus als u flip de tuimelschakelaar (nu, als u naar individu-control modus in kleur-fade-modus overschakelt, de schakeloptie doen zich niet tot het klaar is met de huidige fade-cyclus). Dus, ik gooi die daar als een uitdaging voor iedereen die dit leest en wil betere postcode. Duidelijk ben ik een werktuigbouwkundig ingenieur in hart en niet een programmeur.
Arduino code controle en RGB LED-strip
Maakt gebruik van een schakelaar om te schakelen tussen de modus kleur-fade
en individuele RGB control-modus
aangepast van http://learn.adafruit.com/rgb-led-strips/example-codeConst int rood = 9; digitale uitgang pinnen voor individuele rood, definiëren
Const int groen = 10; groene en blauwe kanalen
Const int blauw = 11;Const int POT1 = 0; definiëren van analoge input pinnen voor drie potentiometers
Const int POT2 = 1;
Const int POT3 = 2;
Const int POT4 = 3;Const int knop = 2; digitale invoer pin voor de schakeloptie definiëren
int val = 0; wordt de status van de schakelaar invoer pin opgeslagen
int FADESPEED = 0; geïnitieerde fade snelheid instellen door potentiometer
int r = 0; de rode, groene en blauwe waarden initialiseren
int g = 0;
int b = 0;
VOID Setup {}
pinMode (rood, uitvoer); digitale pinnen definieert als uitgangen en ingangen waar nodig
pinMode (groen, uitvoer);
pinMode (blauw, uitvoer);
pinMode (knop, INPUT);
}void loop {}
Val = digitalRead(BUTTON); Lees de invoerwaarde van de tuimelschakelaar
Als (val == HIGH) {}
code voor RGB kleur vervagen
FADESPEED = analogRead (POT4) / 10; de snelheid van de vervagen door het lezen van de analoge ingang van 4e potentiometer instellen
analogRead zal de uitgang van een getal tussen 0 en 1023, en "vertraging"
is in milliseconden, zodat de grootste vertraging krijg je hier is over
1/10 van een seconde. Delen door een ander getal te wijzigen van de max
tijd vervagen.
vervagen van blauw naar violet
voor (r = 0; r < 256; r ++) {}
analogWrite (rood, r);
FADESPEED = analogRead (POT4) / 10; de fade-snelheid controleren voortdurend, anders
het zal niet werken totdat het gegaan door een volledige cyclus.
Waarschijnlijk niet de meest efficiënte manier om dit te doen...
delay(FADESPEED);
}
vervagen van violet tot rood
voor (b = 255, b > 0; b--) {}
analogWrite (blauw, b);
FADESPEED = analogRead (POT4) / 10;
delay(FADESPEED);
}
verkleuren van rood naar geel
voor (g = 0 g < 256; g ++) {}
analogWrite (groen, g);
FADESPEED = analogRead (POT4) / 10;
delay(FADESPEED);
}
vervagen van geel tot groen
voor (r = 255; r > 0; r--) {}
analogWrite (rood, r);
FADESPEED = analogRead (POT4) / 10;
delay(FADESPEED);
}
vervagen van groen naar blauwgroen
voor (b = 0; b < 256; b ++) {}
analogWrite (blauw, b);
FADESPEED = analogRead (POT4) / 10;
delay(FADESPEED);
}
vervagen van blauwgroen naar blauw
voor (g = 255, g > 0; g--) {}
analogWrite (groen, g);
FADESPEED = analogRead (POT4) / 10;
delay(FADESPEED);
}
}
else {}
code voor individuele RGB control met potentiometers
r = analogRead (POT3) / 4; waarden van de 3 potentiometers leest en wordt gedeeld door 4 kunt u helderheid instellen
g = analogRead (POT2) / 4; Merk op dat analoge lees 10-bits (0-1023), analoge schrijven is een 8-bits PWM
b = analogRead (POT1) / 4; signaal dus je moet deze waarde deelt door 4.
analogWrite (rood, r); analoge waarden schrijven naar output van rode, groene en blauwe pinnen
analogWrite (groen, g);
analogWrite (blauw, b);
}
}