Advertisement
Pixieboss

Magestaff v 0.0028

May 28th, 2015
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.88 KB | None | 0 0
  1. /*
  2.  
  3. Magestaff v0.0028
  4. Simon Smedja
  5. 2015.05.28
  6. */
  7.  
  8. //pin numbers:
  9. const int ledPin1 = 10;
  10. const int ledPin2 = 9;
  11. const int ledPin3 = 8;
  12. const int ledPin4 = 2; //will be a transistor for two parallel big ass diodes
  13. const int joYPin1 = 7;
  14. const int joYPin2 = 6;
  15.  
  16. // variables
  17. int jbutton = 12;
  18. int X = 0;
  19. int Y = 0;
  20. int buttonState = 1;
  21.  
  22. void setup() {
  23.   pinMode(ledPin1, OUTPUT);
  24.   pinMode(ledPin2, OUTPUT);
  25.   pinMode(ledPin3, OUTPUT);
  26.   pinMode(ledPin4, OUTPUT);
  27.   pinMode(jbutton, INPUT_PULLUP);
  28. }
  29. // so the value is 4 for normal, 8 is up and 0 is down
  30. int treatValue(int data) {
  31.   return (data * 9 / 1024);
  32. }
  33.  
  34. void loop() {
  35.   digitalWrite(ledPin1, HIGH);
  36.   digitalWrite(ledPin2, HIGH);
  37.   digitalWrite(ledPin3, HIGH);
  38.   X = analogRead(joYPin1);
  39.   // this small pause is needed between reading
  40.   // analog pins, otherwise we get the same value twice
  41.   delay(100);
  42.   Y = analogRead(joYPin2);
  43.   digitalRead(jbutton);
  44.   //if X is up
  45.   if (treatValue(X) > 5 ) {
  46.     // dimm the lights on
  47.     for (int i = 255; i >= 0; i--) {
  48.       analogWrite(ledPin1, i);
  49.       analogWrite(ledPin2, i);
  50.       analogWrite(ledPin3, i);
  51.       delay(18);
  52.     }
  53.     //wait for button press
  54.     while (digitalRead(jbutton) == 1) {
  55.       delay(10);
  56.     }
  57.     //dimm the lights off
  58.     for (int i = 0; i < 255; i++) {
  59.       analogWrite(ledPin1, i);
  60.       analogWrite(ledPin2, i);
  61.       analogWrite(ledPin3, i);
  62.       delay(2);
  63.     }
  64.     // make sure it is off
  65.     digitalWrite(ledPin1, HIGH);
  66.     digitalWrite(ledPin2, HIGH);
  67.     digitalWrite(ledPin3, HIGH);
  68.   }
  69.   //iff Y is upp
  70.   if (treatValue(Y) > 5 ) {
  71.     //as long as Y is up
  72.     // While loop so we don't, have to run all of the above
  73.     while (Y > 5) {
  74.       Y = analogRead(joYPin2) * 9 / 1024;
  75.       digitalWrite(ledPin4, HIGH);
  76.       delay(40);
  77.       digitalWrite(ledPin4, LOW);
  78.       delay(40);
  79.     }
  80.   }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement