Étape 4: Code
Voici le code que j’ai utilisé pour cette section de l’ouvrage de mise à niveau...(Code piraté d’une LED RGB cross fade exemple par Clay Shirky < clay.shirky
N.-B. Le PCB contrôleur led allume les voyants lorsqu’un faible, pas très élevé.
=============================================
/*
- Intelligent lampe de jardin solaire alimenté version 0.01 zzpza < à > truenames.co < dot > Royaume-Uni
- Exemple de code original de Clay Shirky < clay.shirky < à > edu nyu < point > >
*/
int ledPin = 3 ; LED, connecté à la broche numérique 3
int ledVal = 0 ; valeur à envoyer à la broche
int wait = 20 ; retard de 20ms (.02 seconde) ; raccourcir des fondus plus rapides
int solarPin = 0 ; panneau solaire de pin est relié à
int analogval ; valeur lue de solarpanel
int ledState = 1 ;
void setup()
{
Serial.Begin(9600) ;
pinMode (ledPin, sortie) ;
digitalWrite (ledPin, HIGH) ; désactiver les leds
ledState = 0 ;
Delay(500) ;
}
Sub fadeDownLed()
{
digitalWrite (ledPin, basse) ;
pour (int i = 0; i < = 255; i ++)
{
analogWrite(ledPin, i) ;
Serial.Print ("fadeDownLed") ;
Serial.println(i) ;
Delay(20) ;
}
digitalWrite (ledPin, HIGH) ;
ledState = 0 ;
}
Sub fadeUpLed()
{
digitalWrite (ledPin, HIGH) ;
pour (int i = 255; i > = 0; i--)
{
analogWrite(ledPin, i) ;
Serial.Print ("fadeUpLed") ;
Serial.println(i) ;
Delay(20) ;
}
digitalWrite (ledPin, basse) ;
ledState = 1 ;
}
Sub turnOffLed()
{
digitalWrite (ledPin, basse) ;
ledState = 1 ;
}
Sub turnOnLed()
{
digitalWrite (ledPin, HIGH) ;
ledState = 0 ;
}
Sub readSolarPanel()
{
analogval = analogRead(solarPin) ;
Serial.println(analogval) ;
}
void loop()
{
readSolarPanel() ;
Si (analogval < 100 & & ledState == 0)
{
fadeUpLed() ;
}
Si (analogval > 100 & & ledState == 1)
{
fadeDownLed() ;
}
}