1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | boolean TASTER; // Würfelaugen 1 bis 6 int Minimum = 1; int Maximum = 7; void setup() { // Pins 7 bis 3 als OUTPUT definieren DDRD = B11111000; // Pins 8 bis 9 als OUTPUT definieren DDRB = B00000011; // Pin 13 auf HIGH schalten PORTB = B00100000; // Zufallsgenerator starten randomSeed(analogRead(A0)); // Test ob alle LEDs leuchten PORTD = B11111000; PORTB = B00000011; } void loop() { boolean TASTER; int Minimum = 1; int Maximum = 7; /* Port B lesen Bit 13 wird ausgeblendet (PINB & B00100000), damit der Wert gelesen werden kann */ TASTER = PINB & B00100000; // Taster gedrückt, Pin 13 hat den Wert 0 (false) if (!TASTER) { delay(200); int Zahl = random(Minimum, Maximum); switch (Zahl) { case 1: AlleAus(); PORTD = B01000000; break; case 2: AlleAus(); PORTD = B10100000; break; case 3: AlleAus(); PORTD = B11100000; break; case 4: AlleAus(); PORTD = B10101000; PORTB = B00000010; break; case 5: AlleAus(); PORTD = B11101000; PORTB = B00000010; break; case 6: AlleAus(); PORTD = B10111000; PORTB = B00000011; break; default: break; } } } void AlleAus() { PORTD = 0; PORTB = 0; } |
Letzte Aktualisierung: