123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- /*
- Arduino Spiel
- Autor: Johannes Tümler
- Letzte Änderung: 27.06.2020
- Zweck: Beleg 3 Hilfscode für den Start
- */
- unsigned char gesamtpunktzahl;
- byte x;
- const int red = 13, blue = 11, green = 12;
- void setup()
- {
- Serial.begin(9600);
- gesamtpunktzahl = 0;
- pinMode(red, OUTPUT);
- pinMode(green, OUTPUT);
- pinMode(blue, OUTPUT);
- pinMode(10, INPUT_PULLUP);
- pinMode(9, INPUT_PULLUP);
- pinMode(8, INPUT_PULLUP);
- pinMode(7, INPUT_PULLUP);
- pinMode(6, INPUT_PULLUP);
- pinMode(5, INPUT_PULLUP);
- pinMode(4, INPUT_PULLUP);
- pinMode(3, INPUT_PULLUP);
- pinMode(2, INPUT_PULLUP);
- pinMode(1, INPUT_PULLUP);
- pinMode(0, INPUT_PULLUP);
- resetAllPins();
- }
- void resetAllPins()
- {
- // alle Pins auf definierte Werte setzen (sonst wissen wir nicht, welchen Wert sie gerade haben.)
- digitalWrite(red, LOW);
- digitalWrite(green, LOW);
- digitalWrite(blue, LOW);
- // Alle nachfolgenden Pins werden auf HIGH gesetzt, sodass sie auf ein GND/Masse-Signal reagieren können.
- digitalWrite(0, HIGH);
- digitalWrite(1, HIGH);
- digitalWrite(2, HIGH);
- digitalWrite(3, HIGH);
- digitalWrite(4, HIGH);
- digitalWrite(5, HIGH);
- digitalWrite(6, HIGH);
- digitalWrite(7, HIGH);
- digitalWrite(8, HIGH);
- digitalWrite(9, HIGH);
- digitalWrite(10, HIGH);
- }
- void blink(const int *pin)
- {
- digitalWrite(*pin, HIGH);
- delay(500);
- digitalWrite(*pin, LOW);
- delay(500);
- }
- void loop()
- {
- if(digitalRead(0) == HIGH)
- {
- blink(&green);
- blink(&green);
- blink(&red);
- blink(&red);
- blink(&red);
- digitalWrite(0,LOW);
-
- }
-
- if (digitalRead(2) == LOW)
- {
- digitalWrite(2,HIGH);
- level1();
-
- }
- if (digitalRead(3) == LOW)
- {
- digitalWrite(3,HIGH);
- level2();
- delay(1000);
-
- }
-
- if (digitalRead(5) == LOW) // Hier im Beispiel: Wenn ein Masse-Signal / GND an Pin 5 liegt, dann blinkt es.
- {
- blink(&red);
- digitalWrite(5, HIGH);
- }
- resetAllPins();
- }
- void level1()
- {
- Serial.print("Level 1");
- if(x == 0 && y == 0){
- x = random(1,6);
- y = random(1,6);
- }
|