Advertisement
Guest User

Untitled

a guest
Oct 18th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. #define ROT1 2
  2. #define ROT2 4
  3. #define ROT3 6
  4.  
  5. #define GRUEN1 3
  6. #define GRUEN2 5
  7. #define GRUEN3 7
  8.  
  9. #define ZEILE1 9
  10. #define ZEILE2 10
  11. #define ZEILE3 11
  12.  
  13.  
  14.  
  15. int Taster1 = 12;
  16. int Taster2 = 13;
  17.  
  18. int currentState1 = LOW;
  19. int currentState2 = LOW;
  20. int previousState1 = LOW;
  21. int previousState2 = LOW;
  22.  
  23. int X = 0;
  24. int Y = 0;
  25.  
  26.  
  27. void setup() {
  28. for (int i=2; i <= 7; i++){
  29. pinMode ( i , OUTPUT);
  30. digitalWrite ( i , HIGH ); //definiere alle Pins von 3 bis 7 als Ausgang und setze sie HIGH (Aus, da PNP)
  31. }
  32. for (int i=9; i <= 11; i++){
  33. pinMode ( i , OUTPUT);
  34. digitalWrite ( i , LOW ); //definiere alle Pins von 9 bis 11 als Ausgang und setze sie als LOW (Aus, da NPN)
  35. }
  36. pinMode ( Taster1 , INPUT);
  37. pinMode ( Taster2 , INPUT);
  38.  
  39. }
  40.  
  41. void loop() {
  42.  
  43. previousState1 = currentState1; //Flankensteuerung
  44. previousState2 = currentState2;
  45. currentState1 = digitalRead(Taster1);
  46. currentState2 = digitalRead(Taster2);
  47.  
  48. if (currentState1 == HIGH && previousState1 == LOW ){
  49. X = X + 1;
  50. if (X > 2){
  51. X = 0;
  52. }
  53. }
  54.  
  55. if (currentState2 == HIGH && previousState2 == LOW ){
  56. Y = Y + 1;
  57. if (Y > 2){
  58. Y = 0;
  59. }
  60. }
  61.  
  62.  
  63.  
  64. setLED( X , Y );
  65.  
  66.  
  67. }
  68.  
  69. void setLED(int Xachse, int Yachse) {
  70.  
  71.  
  72. if (Xachse == 0){ //Invertiert, da PNP Transistor
  73. digitalWrite( ROT1, LOW);
  74. digitalWrite( ROT2, HIGH);
  75. digitalWrite( ROT3, HIGH);
  76. }
  77. if (Xachse == 1){
  78. digitalWrite( ROT1, HIGH);
  79. digitalWrite( ROT2, LOW);
  80. digitalWrite( ROT3, HIGH);
  81. }
  82. if (Xachse == 2){
  83. digitalWrite( ROT1, HIGH);
  84. digitalWrite( ROT2, HIGH);
  85. digitalWrite( ROT3, LOW);
  86. }
  87. if (Yachse == 0){ //Nicht invertiert, da NPN Transistor
  88. digitalWrite( ZEILE1, HIGH);
  89. digitalWrite( ZEILE2, LOW);
  90. digitalWrite( ZEILE3, LOW);
  91. }
  92. if (Yachse == 1){
  93. digitalWrite( ZEILE1, LOW);
  94. digitalWrite( ZEILE2, HIGH);
  95. digitalWrite( ZEILE3, LOW);
  96. }
  97. if (Yachse == 2){
  98. digitalWrite( ZEILE1, LOW);
  99. digitalWrite( ZEILE2, LOW);
  100. digitalWrite( ZEILE3, HIGH);
  101. }
  102.  
  103. delay(10);
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement