Étape 3: Comprendre l’esquisse
Le fichier au bas de cette page est le Arduino Sketch donc vous n’avez pas à le copier et le coller ici. Je pense que j’ai fait un assez bon travail de noter l’esquisse pour le rendre facile à comprendre. Si je suis manque quelque chose ou me trompe totalement sur quelque chose plaese faites le moi savoir./*
Roue chromatique RVB w / Serial communication !
Indivigually contrôle la luminosité de chaque couleur dans une LED RGB
à l’aide de 6 boutons attaché aux broches 2 7 thru. Les boutons poussoirs
sur le nombre pair pins viendront égayer le corosponding
LED et les impaires ceux eux faiblit. RVB sera attaché
aux broches 9, 10 et 11.
Le Circuit :
* RBGB LED avec anode commune sur + 5V
* Rouge cathode connectée à la broche 9 jeta résistance 220 ohms
* Bleu cathode connectée à la broche 10 a jeté la résistance de 470 ohms
* Vert cathode connectée à la broche 11 jeta résistance de 1000 ohms
* bouton poussoir 1 jointe à la broche 2 du sol
* bouton 2 attaché à la broche 3 du sol
* bouton poussoir 3 attachés à la borne 4 du sol
* bouton poussoir 4 attachés à la broche 5 du sol
* bouton poussoir 5 joint à la broche 6 du sol
* bouton poussoir 6 joint à broche 7 du sol
Si la LED RVB utilisé a une cathode commune alors les rôles de la
boutons sont inversées et la luminosité de la LED sera
complet sur au début du code.
Le Serial Monitor affiche le rouge, vert et bleu LED
niveau à partir de 255. Chaque pression du bouton rases ou abaisse la
luminosité en icrements de 5.
créé le 13 janvier 2010
par mpilchfamily
mis à jour le 16 janvier 2010
par mpilchfamily
mise à jour pour Arduino 1.0 8 février 2010
par Mpilchfamily
*/
ledpin Boolean [] = {9, 10, 11} ; assigner des LEDs à broches
bouton booléen [] = {2, 3, 4, 5, 6, 7} ; assigner des boutons poussoirs à broches
buttonstate booléen = 0 ;
int fadered = 255 ; à partir des valeurs de luminosité pour chaque led
int fadegreen = 255 ; 255 définit les LEDs sur OFF
int fadeblue = 255 ; Quand une RGB avec une anode commune est en cours d’utilisation
installation Sub ()
{
Serial.Begin(9600) ; désigne le taux de communication série
pour (int x = 0; x < 6; x ++) //starts une boucle pour définir le mode de pin pour toutes les broches
{
pinMode (bouton [x], entrée) ; Initialise les épingles à bouton-poussoir en entrée :
}
pour (int x = 0; x < 6; x ++) //starts une boucle pour wrie numérique tous les boutons
{
digitalWrite (bouton [x], HIGH) ; boutons poussoirs sont lus comme till haut enfoncé
}
analogWrite (ledpin [0], fadered) ; s’allume la LED à luminosité actuelle
analogWrite (ledpin [1], fadegreen) ; s’allume la LED à luminosité actuelle
analogWrite (ledpin [2], fadeblue) ; s’allume la LED à luminosité actuelle
}
void loop()
{
pour (int x = 0; x < 6; x ++) //loop pour la vérification de tous les boutons
{
ButtonState = digitalRead(button[x]) ; vérifier l’état du bouton
Si (buttonstate == LOW & & fadered > 0 & & bouton [x] == 2)
{
Si la touche augmentation de luminosité par 5
fadered-=5 ;
analogWrite (ledpin [0], fadered) ; lampes LED à l’actuel niveau de luminosité
Delay(250) ; permet à temps afin que le bouton ne sera pas détecté plusieurs fois
}
Si (buttonstate == LOW & & fadered < 255 & & bouton [x] == 3)
{
Si vous appuyez sur le bouton réduire la luminosité par 5
fadered += 5 ;
analogWrite (ledpin [0], fadered) ; lampes LED à l’actuel niveau de luminosité
Delay(250) ; permet à temps afin que le bouton ne sera pas détecté plusieurs fois
}
Si (buttonstate == LOW & & fadegreen > 0 & & bouton [x] == 4)
{
Si la touche augmentation de luminosité par 5
fadegreen-=5 ;
analogWrite (ledpin [1], fadegreen) ; lampes LED à l’actuel niveau de luminosité
Delay(250) ; permet à temps afin que le bouton ne sera pas détecté plusieurs fois
}
Si (buttonstate == LOW & & fadegreen < 255 & & bouton [x] == 5)
{
Si vous appuyez sur le bouton réduire la luminosité par 5
fadegreen += 5 ;
analogWrite (ledpin [1], fadegreen) ; lampes LED à l’actuel niveau de luminosité
Delay(250) ; permet à temps afin que le bouton ne sera pas détecté plusieurs fois
}
Si (buttonstate == LOW & & fadeblue > 0 & & bouton [x] == 6)
{
Si la touche augmentation de luminosité par 5
fadeblue-= 5 ;
analogWrite (ledpin [2], fadeblue) ; lampes LED à l’actuel niveau de luminosité
Delay(250) ; permet à temps afin que le bouton ne sera pas détecté plusieurs fois
}
Si (buttonstate == LOW & & fadeblue < 255 & & bouton [x] == 7)
{
Si vous appuyez sur le bouton réduire la luminosité par 5
fadeblue += 5 ;
analogWrite (ledpin [2], fadeblue) ; lampes LED à l’actuel niveau de luminosité
Delay(250) ; permet à temps afin que le bouton ne sera pas détecté plusieurs fois
}
if(ButtonState == Low) / / vérifie si n’importe quelle touche a été pressée
{/ / affiche des niveaux de luminosité pour le PC. 0 étant complètement illuminé et 255 étant hors tension
Serial.Print ("niveau de la LED rouge est à:") ;
Serial.println(fadered) ;
Serial.Print ("niveau de la LED verte est à:") ;
Serial.println(fadegreen) ;
Serial.Print ("niveau de LED bleue est à:") ;
Serial.println(fadeblue) ;
}
}
}