Leider habe ich einen Fehler in der Verbindung des Nunchuck und/oder der Verbindung zwischen den beiden Arduinos.
Hardware und Software habe ich 1:1 übernommen.
Wenn ich den ersten Hardware/Software test mache, dann sagt mir die Ausgabe im serial Monitor, dass kein Nunchuck verbunden ist. Der Gyrosscope wird erkannt und es werden X Y Z werte zurückgegeben.
Im WiFi Modul (beide) flackert die blaue LED gant leicht, daher dachte ich erst das die Spannung evtl nicht richtig ist. Es liegen allerdings 4,97V an.
Dann habe ich den Serial Monitor für den Remote geöffnet. Wenn ich nun am Nunchuck den "Joystick bewege, dann werden mir nur Vierecke angezeigt. □ Je nach bewegen nebeneinander oder in einer neuen Zeile, aber ganz viele davon.
Da ich nur ein Nachbauer bin und kein Entwickler frage ich hier über dieses Forum um Hilfestellung.
Ist der Nunchuk nicht in Ordnung? Die Anschlüße (Verkabelung) habe ich mehrmals geprüft. Die schließe ich aus. Die Arduinos sind beide Originale und keine Chinesischen Copys.
Da ich hier von der maximalen Zeichen nicht beide Skatches einfügen kann, habe ich alles in den Anhang eingefügt.
Hast Du die Baud im Seriellen Monitor richtig eingestellt? Die Verkabelung scheint am Plan in Ordnung zu sein, schwer zu sagen ob SDA auch mit SDA verbunden ist.
Einfach mal ein i2c Adressen scanner laufen lassen, wenn der nichts findet liegt es an der Verkabelung, wenn er dir eine Adresse zum Nunchuck liefert, stimmt die Verkabelung (zum Nunchuck) und mehr würde ich für den Anfang auch nicht anschließen, erst wenn das Ding funktioniert.
I2C Scanner:
#include <Wire.h>
void setup()
{
Wire.begin();
Serial.begin(9600);
while (!Serial); // Leonardo: wait for serial monitor
Serial.println("\nI2C Scanner");
}
void loop()
{
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for(address = 1; address < 127; address++ )
{
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the address.
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0)
{
Serial.print("I2C device found at address 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices++;
}
else if (error==4)
{
Serial.print("Unknow error at address 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");
delay(5000); // wait 5 seconds for next scan
}