Hallo,
Ich will 2 Servos mit einem Nunchuk ansteuern. Da dies mein erstes Projekt mit einem Nuchuk ist wäre es nett wenn mir jemand ein funktionierendes Beispielprogramm (wenn möglich mit Erklärung der Elementaren Befehle) zeigen könnte, da alle Beispielprogramme die ich bis jetzt gefunden habe nicht funktioniert haben.
da alle Beispielprogramme die ich bis jetzt gefunden habe nicht funktioniert haben
... wird ein weiteres wohl auch nicht funktionieren.
Ich fürchte, da musst du mehr bringen. "nicht funktionieren" ist ein zu weites Feld. Soviel ich weiss, geht die Kommunikation mit deinem Nintendo über I2C Adresse 0x52.
Wie schon gesagt bin ich neu auf diesem Gebiet daher weiß ich nicht woran es liegt aber ich habe schon einige Fehler bei diesem simplen Beispiel:
In file included from nunchukled.ino:9:
C:\Users\TF-Kunde\Documents\Arduino\libraries\WiiChuck/WiiChuck.h:36: error: 'byte' has not been declared
C:\Users\TF-Kunde\Documents\Arduino\libraries\WiiChuck/WiiChuck.h:36: error: 'byte' has not been declared
C:\Users\TF-Kunde\Documents\Arduino\libraries\WiiChuck/WiiChuck.h:41: error: 'boolean' does not name a type
C:\Users\TF-Kunde\Documents\Arduino\libraries\WiiChuck/WiiChuck.h:52: error: 'byte' does not name a type
nunchukled.ino: In function 'void setup()':
nunchukled:17: error: 'class WiiChuck' has no member named 'begin'
nunchukled:18: error: 'class WiiChuck' has no member named 'update'
nunchukled.ino: In function 'void loop()':
nunchukled:25: error: 'class WiiChuck' has no member named 'update'
C:\Users\TF-Kunde\Documents\Arduino\libraries\WiiChuck/WiiChuck.h:62: error: 'int WiiChuck::buttonZ' is private
nunchukled:27: error: within this context
Ich habe die Library WiiChuck.h heruntergeladen und hinzugefügt
Hier ist der Code der Library:
/*
* WiiChuck
* Flamingo EDA http://www.flamingoeda.com
*
*/
#ifndef WII_CHUCK_H
#define WII_CHUCK_H
#include <WProgram.h>
#include <Wire.h>
#define WII_I2C_ADDR 0x52
#define PACKAGE_LENGTH 6
extern TwoWire Wire;
class WiiChuck {
public:
/**
* Initialize and join the I2C bus.
*/
void init();
/**
* Initialize and join I2C bus with default power pins.
* POWER: PC3 (Analog 3 pin in Arduino)
* GND: PC2 (Analog 2 pin in Arduino)
*/
void initWithPower();
/**
* Initialize and join I2C bus with specified power pins.
*/
void initWithPowerPins(byte powerPin, byte gndPin);
/**
* Read data from nunchuck.
*/
boolean read();
int getJoyAxisX();
int getJoyAxisY();
int getAccelAxisX();
int getAccelAxisY();
int getAccelAxisZ();
int getButtonZ();
int getButtonC();
private:
byte decodeByte(byte x);
void sendNullRequest();
private:
uint8_t buffer[PACKAGE_LENGTH];
int joyAxisX;
int joyAxisY;
int accelAxisX;
int accelAxisY;
int accelAxisZ;
int buttonZ;
int buttonC;
};
#endif
//Very simple demonstration of the WiiChuck Class Library
//pushing the Z button will turn the onboard LED on pin 13 OFF
//JohnnyOnTheSPot
//ohmwardbond.blogspot.com
#include <WiiChuck.h>
#include <Wire.h>
WiiChuck chuck = WiiChuck(); //Initiates the object name shoulder as a WiiChuck class
void setup()
{
chuck.begin(); // Initiates both sensors
chuck.update();
}
void loop()
{
delay(1);
chuck.update(); // Updates the Arduino to the current Nunchuck reading
if (chuck.buttonZ == 1)
{
digitalWrite(13, LOW);
}
else
{
digitalWrite(13, HIGH);
}
}
Herb_:
Ich habe die Library WiiChuck.h heruntergeladen und hinzugefügt
Hier ist der Code der Library:
... #include <WProgram.h>
Und ich will immer meine Blue-Ray Discs auf einem Trichtergrammophon abspielen - und es funktioniert einfach nicht! Nichts als Kratzer, aber kein Ton!
Wie wäre es, wenn Du Dir eine Library suchst, die für Arduino-Version 1.0 oder höher gemacht ist?
Wenn Du so eine Uralt-Library aus der Arduino-Steinzeit vor der Erfindung des "UNO" Boards unter einer höheren Version als 1.0 lauffähig bekommen möchtest, mußt Du diese Library erstmal entsprechend anpassen.
In ganz einfachen Fällen reicht es, die eingebundene Datei <WProgram.h> gegen <Arduino.h> auszutauschen, aber ggf. sind weitere Umstellungen notwendig, um die Library kompatibel zu aktuellen Arduino-Versionen zu machen.
Eine neuere Library im Internet zu finden, die zu Arduino-Versionen ab 1.0 aufwärts kompatibel ist, ist wahrscheinlich einfacher.