int zTrigger = 2int motorPinR = A1; //Motor dreht rechts rum
int motorPinL = A2; //Motor dreht links rum
int zRelay = 4; //Schießen Knof
int cRelay = 5; //Nachladen Knopf
int Sound = 6; //Lautsprecher
int LEDManual = 7; //Lauflicht
int nunchuk_get_data()
int Analogstatus = 0; // Variable, die den gelesenen Wert speichert
#include<Wire.h>
#include<wiinunchuck.h> //biblothek für controller auslesen etc.
void setup() {
pinMode(zRelay, OUTPUT); //Digitalerschalter (relay) z als Ausgang definieren
pinMode(cRelay, OUTPUT); //Digitalerschalter (relay) c als Ausgang definieren
pinMode(Sound, OUTPUT); //Lautsprecher als ausgang definieren
pinMode(LEDManual, OUTPUT); //Lauflicht als ausgung definieren
Serial.begin(9600); // Setup der seriellen Verbindung
nunchuk_init();
delay(100);
nunchuk_get_data(); //Daten vom Nunchuk checken (sonst treten später fehler auf)
delay(100);
}
float slowDown = 0.05; // Faktor zur Steuerung der Geschwindigkeit
void loop() {
nunchuk_get_data(); // Daten vom Nunchuk empfangen (diesmal richtig)
delay(10);
char buffer[50];
sprintf(buffer, "X:%3d Y:%3d Z:%1d C:%1d", nunchuk_cjoy_x(), nunchuk_cjoy_y(), nunchuk_zbutton(), nunchuk_cbutton());
//reihenfolge und stellen im Monitor definieren (stick, z-Taste und c-Taste)
Serial.println(buffer);
delay(50);
if (nunchuk_zbutton() == HIGH) { // Wenn z-Taste gedrückt, dann Feuern und sound
digitalWrite(zRelay, HIGH);
delay(100); //Einmal Schießen
digitalWrite(zRelay, LOW);
tone(6,100, 500); // Spiele 100Hz für 0.500 sekunden
delay(200);
tone(6,60, 500); // Spiele 60Hz für 0.500 sekunden
delay(100);
tone(6,100, 500); // Spiele 100Hz für 0.500 sekunden
delay(100);
tone(6,60, 350); // Spiele 60Hz für 0.350 sekunden
delay(100);
}
if (nunchuk_cbutton() == HIGH) { // Wenn c-Taste gedrückt, dann Nachladen und sound
digitalWrite(cRelay, HIGH);
delay(3000); //Einmal Nachladen
digitalWrite(cRelay, LOW);
digitalWrite(LEDManual, HIGH);
tone(6, 262, 25); // Spiele 262Hz für 0.025 sekunden
delay(200);
tone(6, 480, 280); // Spiele 480Hz für 0.280 sekunden
delay(200);
tone(6, 100, 280); // Spiele 100Hz für 0.280 sekunden
delay(200);
tone(6, 200, 280); // Spiele 200Hz für 0.280 sekunden
delay(200);
tone(6, 300, 280); // Spiele 300Hz für 0.280 sekunden
delay(200);
tone(6, 400, 280); // Spiele 400Hz für 0.280 sekunden
delay(200);
tone(6, 500, 280); // Spiele 500Hz für 0.280 sekunden
digitalWrite(LEDManual, LOW);
tone(6, 600, 280); // Spiele 600Hz für 0.280 sekunden
tone(6, 700, 280); // Spiele 700Hz für 0.280 sekunden
delay(200);
}
Analogstatus = analogRead(motorPinR); // Pin einlesen
Serial.println( Analogstatus); // Wert ausgeben
}