Guest User

Arduino kode

a guest
Oct 31st, 2014
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.95 KB | None | 0 0
  1. // ---------------------------------------------------
  2. int value = 0; // Lad denne være.
  3. int wait = 25; // Tid imellem face effekten, jo lavere jo hurtigere skifter den farve
  4. int mode = 2; // Mode 1 = Fade imellem rød. grøn og blå || Mode 2 = Disko!!! (hurtige skift mellem tilfældige farver
  5. int stroke = 250; // tid i ms mellem hvert farve skift
  6. int brightness = 20; // styrke på lyset, min 0 max 255
  7. // ---------------------------------------------------
  8. int R = 9; //Pin til rødt lys
  9. int G = 5; //Pin til grønt lys
  10. int B = 6; //Pin til blåt lys
  11. void setup() {
  12.   pinMode(R, OUTPUT);
  13.   pinMode(G, OUTPUT);
  14.   pinMode(B, OUTPUT);
  15.  
  16. }
  17.  
  18. int Gental(int fra, int til, int ikke) {
  19.   int RND = random(fra, til);
  20.   if (RND == ikke) {
  21.     Gental(fra, til, ikke);
  22.   } else {
  23.     return RND;
  24.   }
  25.  
  26. }
  27. int rnd = Gental(1, 4, 0);
  28. void loop() {
  29.   analogWrite(R, 0);
  30.   analogWrite(G, 0);
  31.   analogWrite(B, 0);
  32.   if (mode == 1) {
  33.     while (value < brightness) {
  34.       analogWrite(R, value);
  35.       value += 1;
  36.       delay(wait);
  37.     }
  38.     while (value > 0) {
  39.       analogWrite(R, value);
  40.       value -= 1;
  41.       delay(wait);
  42.     }
  43.     while (value < brightness) {
  44.       analogWrite(G, value);
  45.       value += 1;
  46.       delay(wait);
  47.     }
  48.     while (value > 0) {
  49.       analogWrite(G, value);
  50.       value -= 1;
  51.       delay(wait);
  52.     }
  53.     while (value < brightness) {
  54.       analogWrite(B, value);
  55.       value += 1;
  56.       delay(wait);
  57.     }
  58.     while (value > 0) {
  59.       analogWrite(B, value);
  60.       value -= 1;
  61.       delay(wait);
  62.     }
  63.   }
  64.   else if (mode == 2) {
  65.     int notthis;
  66.     switch (rnd) {
  67.       case (1):
  68.         analogWrite(R, brightness);
  69.         notthis = 1;
  70.         break;
  71.       case (2):
  72.         analogWrite(G, brightness);
  73.         notthis = 2;
  74.         break;
  75.       case (3):
  76.         analogWrite(B, brightness);
  77.         notthis = 3;
  78.         break;
  79.     }
  80.     rnd = Gental(1, 4, notthis);
  81.     delay(stroke);
  82.   }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment