Stap 4: Code
Hier is de code die ik voor dit gedeelte van de upgrade werk gebruikte...(Code gehackt uit een RGB LED cross-fade, bijvoorbeeld door Clay Shirky < clay.shirky
N.B. De PCB led controller gaat de LED's branden wanneer laag, niet hoog.
=============================================
/*
- Intelligente zonne-aangedreven Garden Light versie 0,01 zzpza < bij > truenames.co < dot > uk
- Originele codevoorbeeld door Clay Shirky < clay.shirky nyu < dot > edu < op > >
*/
int ledPin = 3; LED, aangesloten op digital pin 3
int ledVal = 0; waarde te sturen naar pin
int wachten = 20; 20ms (.02 seconde) vertraging; verkorten voor sneller verdwijnt
int solarPin = 0; PIN zonnepaneel is aangesloten op
int analogval; waarde van de solarpanel leest
int ledState = 1;
VOID Setup
{
Serial.begin(9600);
pinMode (ledPin, OUTPUT);
digitalWrite (ledPin, hoge); leds uitschakelen
ledState = 0;
delay(500);
}
VOID fadeDownLed()
{
digitalWrite (ledPin, laag);
for (int i = 0; ik < = 255; i ++)
{
analogWrite(ledPin, i);
Serial.Print ("fadeDownLed");
Serial.println(i);
vertraging(20);
}
digitalWrite (ledPin, hoge);
ledState = 0;
}
VOID fadeUpLed()
{
digitalWrite (ledPin, hoge);
for (int i = 255; ik > = 0; i--)
{
analogWrite(ledPin, i);
Serial.Print ("fadeUpLed");
Serial.println(i);
vertraging(20);
}
digitalWrite (ledPin, laag);
ledState = 1;
}
VOID turnOffLed()
{
digitalWrite (ledPin, laag);
ledState = 1;
}
VOID turnOnLed()
{
digitalWrite (ledPin, hoge);
ledState = 0;
}
VOID readSolarPanel()
{
analogval = analogRead(solarPin);
Serial.println(analogval);
}
void loop
{
readSolarPanel();
Als (analogval < 100 & & ledState == 0)
{
fadeUpLed();
}
Als (analogval > 100 & & ledState == 1)
{
fadeDownLed();
}
}