Étape 4: Arduino Code
Copiez et collez le code Arduino ci-dessous dans une nouvelle esquisse. Je ne vous écris mon propre tutoriel ici, donc si vous ne savez pas comment créer/envoyer un croquis, consultez aussi les pages Arduino - mise en route officielle. Si vous voulez en savoir plus sur une commande spécifique, juste Google il (p. ex. "Arduino analogWrite") et la page d’aide officielle devraient apparaître à droite.Mise en garde : ce n’est probablement pas le code plus efficace ! En particulier, je ne sais pas d’une façon plus agréable de suivre en permanence le potentiomètre de vitesse fondu sans copier et coller la même ligne de code, ou s’il y a un moyen de sortir d’une boucle si vous inversez l’interrupteur à bascule (maintenant, si vous passez au mode d’individu-commande en mode couleur-se fanent, l’interrupteur ne se produire jusqu'à ce qu’il termine le cycle actuel de fondu). Donc, je vais le jeter que là-bas comme un défi à toute personne qui lit ceci et veut le meilleur code postal. Clairement, je suis un ingénieur en mécanique à coeur et pas un programmeur.
Arduino code de contrôle et de la bande de LED RGB
Utilise un commutateur pour basculer entre les modes de fondu couleur
et le mode de contrôle individuel RGB
adapté de http://learn.adafruit.com/rgb-led-strips/example-codeconst int rouge = 9 ; définir les broches de sortie numérique pour chaque rouge,
const int vert = 10 ; canaux vert et bleu
const int bleu = 11 ;const int POT1 = 0 ; définir les broches d’entrée analogiques pour trois potentiomètres
const int POT2 = 1 ;
const int POT3 = 2 ;
const int POT4 = 3 ;const int bouton = 2 ; définir une broche d’entrée numérique pour le commutateur
int val = 0 ; stocke l’état de l’axe d’entrée du commutateur
int FADESPEED = 0 ; initié fade potentiomètre de vitesse
int r = 0 ; initialiser les valeurs rouges, verts et bleus
g int = 0 ;
int b = 0 ;
void setup() {}
pinMode (rouge, sortie) ; définir les broches numériques comme les entrées et sorties au besoin
pinMode (vert, sortie) ;
pinMode (bleu, sortie) ;
pinMode (entrée, bouton) ;
}void loop() {}
Val = digitalRead(BUTTON) ; lire la valeur d’entrée de l’interrupteur à bascule
Si (val == HIGH) {}
code pour le fondu de couleur RVB
FADESPEED = analogRead (POT4) / 10 ; régler la vitesse du fondu par la lecture des entrées analogiques du potentiomètre 4e
analogRead sortira un nombre entre 0 et 1023 et « retard »
est en millisecondes, afin que le plus grand retard que vous obtiendrez ici est de
1/10 de seconde. Diviser par un nombre différent de changer le max
temps de fondu.
fondu du bleu au violet
pour (r = 0; r < 256; r ++) {}
analogWrite (rouge, r) ;
FADESPEED = analogRead (POT4) / 10 ; Vérifiez la vitesse du fondu en permanence, sinon
il ne sera pas mise à jour jusqu'à ce qu’il est allé à travers un cycle complet.
Probablement pas la meilleure façon de le faire...
Delay(FADESPEED) ;
}
fondu du violet au rouge
pour (b = 255, b > 0; b--) {}
analogWrite (bleu, b) ;
FADESPEED = analogRead (POT4) / 10 ;
Delay(FADESPEED) ;
}
fondu du rouge au jaune
pour (g = 0; g < 256; g ++) {}
analogWrite (vert, g) ;
FADESPEED = analogRead (POT4) / 10 ;
Delay(FADESPEED) ;
}
virent du jaune au vert
pour (r = 255, r > 0, r--) {}
analogWrite (rouge, r) ;
FADESPEED = analogRead (POT4) / 10 ;
Delay(FADESPEED) ;
}
virent du vert au bleu sarcelle
pour (b = 0; b < 256; b ++) {}
analogWrite (bleu, b) ;
FADESPEED = analogRead (POT4) / 10 ;
Delay(FADESPEED) ;
}
fondu de teal bleu
pour (g = 255; g > 0; g--) {}
analogWrite (vert, g) ;
FADESPEED = analogRead (POT4) / 10 ;
Delay(FADESPEED) ;
}
}
else {}
Code de contrôle individuel de RVB avec les potentiomètres
r = analogRead (POT3) / 4 ; lire les valeurs des 3 potentiomètres et divisez par 4 pour régler la luminosité
g = analogRead (POT2) / 4 ; Notez qu’analog lire est 10 bits (0-1023), analogique écrire est une PWM 8 bits
b = analogRead (POT1) / 4 ; signal, il faut diviser cette valeur par 4.
analogWrite (rouge, r) ; écrire des valeurs analogiques à broches de sortie rouge, vert et bleu
analogWrite (vert, g) ;
analogWrite (bleu, b) ;
}
}