Étape 3: Code fois
Auteur : Elliot
Date : 25/07/2014
Version : 2.0
// -----------------------------------------------------------------------------------------------------
Il s’agissait de démarrage pour faire une lampe d’ambiance mais ensuite je me rends compte que je peux faire plus que simplement en changeant couleur
LUMO fut prise
Il a plusieurs funtion dont j’ai fait de la situation en temps réel stimuate dans la lampe
en dehors de tout changement d’arc-en-ciel il y a beaucoup d’autre fonction que j’ai //there de codage sont 10 option dans LUMO version 2.0
// -----------------------------------------------------------------------------------------------------
flotteur RVB [3] ; int ldrPin = 0 ;
LDR en entrée analogique 0 à lire l’int lumière ambiante ambientLight ;
variable pour stocker la valeur de la redLed int lumière ambiante = 11 ;
LED rouge en numérique Pin 11 (PWM) int que = 10 ;
LED verte en numérique Pin 10 (PWM) int blueLed = 9 ;
LED bleue en état d’int numérique broche 9 (PWM) ;
void setup() {pinMode(redLed,OUTPUT) ;
dire qu’arduino c’est un pinMode(greenLed,OUTPUT) de sortie ;
dire qu’arduino c’est un pinMode(blueLed,OUTPUT) de sortie ;
dire qu’arduino c’est une sortie Serial.begin(9600) ;
Jetcar port série à 9600 bits par seconde Serial.println ("=== LUMO accueille U ===") ; Serial.println ("Color 1:Rainbow") ;
Serial.println ("lampe de 2:Police") ;
Serial.println ("Flame 3:Digital") ;
Serial.println ("Code 4:Digital") ;
Serial.println ("6:Abstract couleur décoloration") ;
la valeur de toutes les sorties à faible digitalWrite(redLed,HIGH) ;
digitalWrite(greenLed,HIGH) ;
digitalWrite(blueLed,HIGH) ; }
void loop()
{
Si (Serial.available() > 0)
{Si (Serial.peek() == « c »)
{
Recherchez le caractère qui signifie qu’il s’agit d’une commande
Serial.Read() ;
supprimer le caractère qui signifie qu'il s’agit d’une commande à partir de la mémoire tampon de série
État = Serial.parseInt() ;
stocker notre entier attendu en état
interrupteur (État) {}
(affaire 1:changecolor); break ;
(affaire 2:police); break ;
(affaire 3:flame); break ;
(affaire 4:code); break ;
(affaire 5:abstract); break ;
}
}
tandis que (Serial.available() > 0) {}
Jeter tout ce que nous ne m’attendais pas
Serial.Read() ; } } }
Sub changecolor()
{
pour (float x = 0; x
}}
Sub fondu (r1 int, int g1, int b1, r2 int, int g2, b2 int, int t) {}
float r_float1, g_float1, b_float1 ; float r_float2, g_float2, b_float2 ;
float grad_r, grad_g, grad_b ; float output_r, output_g, output_b ;
déclarer les valeurs RVB entières comme valeurs float
r_float1 = (float) r1 ;
g_float1 = (float) g1 ;
b_float1 = (float) b1 ;
r_float2 = (float) r2 ;
g_float2 = (float) g2 ;
b_float2 = (float) b2 ;
calculer le taux de variation des valeurs R, G et B
grad_r = (r_float2-r_float1) / t ; grad_g = (g_float2-g_float1) / t ;
grad_b = (b_float2-b_float1) / t ;
boucle ronde, en incrémentant la valeur temporelle « i »
pour (float i = 0; i < = t; i ++)
{
output_r = r_float1 + grad_r * i ;
output_g = g_float1 + grad_g * i ;
output_b = b_float1 + grad_b * i ;
valeurs de la carte - arduino s’enfonce actuelle, ne pas d’approvisionnement il
output_r = carte (output_r, 0, 255, 255, 0) ;
output_g = carte (output_g, 0, 255, 255, 0) ;
output_b = carte (output_b, 0, 255, 255, 0) ;
sortie analogWrite (redLed, output_r (int)) ;
analogWrite (que, output_g (int)) ;
analogWrite (blueLed, output_b (int)) ;
tenir à cette couleur pour 1 ms delay(1) ;
} }
code() Sub {}
{while(1)}
setColor(5,252,17) ;
Delay(Random(100,500)) ;
setColor(0,0,0) ;
Delay(Random(100,500)) ;
}}
Sub abstract()
{
{while(1)}
float rf, gf, bf, r1, g1, b1 ;
R1 = random(0,255) ;
G1 = random(0,255) ;
B1 = random(0,255) ;
RF = random(0,255) ;
GF = random(0,255) ;
BF = random(0,255) ;
Fade(RF,GF,BF,R1,G1,B1,3000) ;
fondu du rouge au vert pendant 5 secondes) ;
} }