Advertisement
Pixieboss

Magestaff v1.0

Jun 3rd, 2015
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.08 KB | None | 0 0
  1. /*
  2.  
  3. Magestaff v1.0
  4. Simon Smedja
  5. 2015.06.03
  6. */
  7.  
  8. //pin numbers:
  9. const int ledPin1 = 10;
  10. const int ledPin2 = 9;
  11. const int ledPin3 = 11;
  12. const int ledPin4 = 2; // transistor for two parallel big ass diodes
  13. const int ledPin5 = 6;
  14. const int ledPin6 = 3;
  15. const int ledPin7 = 5;
  16. const int joYPin1 = 7;
  17. const int joYPin2 = 6;
  18.  
  19. // variables
  20. int jbutton = 12;
  21. int X = 0;
  22. int Y = 0;
  23. int buttonState = 1;
  24.  
  25. void setup() {
  26.   pinMode(ledPin1, OUTPUT);
  27.   pinMode(ledPin2, OUTPUT);
  28.   pinMode(ledPin3, OUTPUT);
  29.   pinMode(ledPin4, OUTPUT);
  30.   pinMode(ledPin5, OUTPUT);
  31.   pinMode(ledPin6, OUTPUT);
  32.   pinMode(ledPin7, OUTPUT);
  33.   pinMode(jbutton, INPUT_PULLUP);
  34. }
  35. // so the value is 4 for normal, 8 is up and 0 is down
  36. int treatValue(int data) {
  37.   return (data * 9 / 1024);
  38. }
  39.  
  40. void loop() {
  41.   digitalWrite(ledPin1, HIGH);
  42.   digitalWrite(ledPin2, HIGH);
  43.   digitalWrite(ledPin3, HIGH);
  44.   digitalWrite(ledPin5, HIGH);
  45.   digitalWrite(ledPin6, HIGH);
  46.   digitalWrite(ledPin7, HIGH);
  47.   X = analogRead(joYPin1);
  48.   // this small pause is needed between reading
  49.   // analog pins, otherwise we get the same value twice
  50.   delay(100);
  51.   Y = analogRead(joYPin2);
  52.   digitalRead(jbutton);
  53.  
  54.   //if X is up
  55.   if (treatValue(X) > 5 ) {
  56.     // dimm the lights on
  57.     for (int i = 255; i >= 0; i--) {
  58.       analogWrite(ledPin1, i);
  59.       analogWrite(ledPin2, i);
  60.       analogWrite(ledPin3, i);
  61.       delay(18);
  62.     }
  63.     //wait for button press
  64.     while (digitalRead(jbutton) == 1) {
  65.       delay(10);
  66.     }
  67.     //dimm the lights off
  68.     for (int i = 0; i < 255; i++) {
  69.       analogWrite(ledPin1, i);
  70.       analogWrite(ledPin2, i);
  71.       analogWrite(ledPin3, i);
  72.       delay(2);
  73.     }
  74.     // make sure it is off
  75.     digitalWrite(ledPin1, HIGH);
  76.     digitalWrite(ledPin2, HIGH);
  77.     digitalWrite(ledPin3, HIGH);
  78.   }
  79.  
  80.  
  81.   // if x is down
  82.   if (treatValue(X) < 4 ) {  // I think we can spar a little more light
  83.     // dimm the lights on
  84.     for (int i = 255; i >= 0; i--) {
  85.       analogWrite(ledPin1, i);
  86.       analogWrite(ledPin2, i);
  87.       analogWrite(ledPin3, i);
  88.       analogWrite(ledPin5, i);
  89.       analogWrite(ledPin6, i);
  90.       analogWrite(ledPin7, i);
  91.       delay(18);
  92.     }
  93.     //wait for button press
  94.     while (digitalRead(jbutton) == 1) {
  95.       delay(10);
  96.     }
  97.     //dimm the lights off
  98.     for (int i = 0; i < 255; i++) {
  99.       analogWrite(ledPin1, i);
  100.       analogWrite(ledPin2, i);
  101.       analogWrite(ledPin3, i);
  102.       analogWrite(ledPin5, i);
  103.       analogWrite(ledPin6, i);
  104.       analogWrite(ledPin7, i);
  105.       delay(2);
  106.     }
  107.     // make sure it is off
  108.     digitalWrite(ledPin1, HIGH);
  109.     digitalWrite(ledPin2, HIGH);
  110.     digitalWrite(ledPin3, HIGH);
  111.     digitalWrite(ledPin5, HIGH);
  112.     digitalWrite(ledPin6, HIGH);
  113.     digitalWrite(ledPin7, HIGH);
  114.   }
  115.   //iff Y is upp
  116.   if (treatValue(Y) > 5 ) {
  117.     //as long as Y is up
  118.     // While loop so we don't, have to run all of the above
  119.     while (Y > 5) {
  120.       Y = analogRead(joYPin2) * 9 / 1024;
  121.       digitalWrite(ledPin4, HIGH);
  122.       delay(40);
  123.       digitalWrite(ledPin4, LOW);
  124.       delay(40);
  125.     }
  126.   }
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement