BaroneRosso.it - Forum Modellismo - Visualizza messaggio singolo - Head track con Arduino e Nunchuk
Visualizza messaggio singolo
Vecchio 30 ottobre 12, 18:10   #5 (permalink)  Top
faustog_2
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
il secondo

il primo era nunchuck.h il secondo nunchuck.cpp il terzo NunchuckDemo.ino


questo è il secondo:


#include <WProgram.h>
#include <Wire.h>

#include "nunchuk.h"

#define NUNCHUK_DEVICE_ID 0x52

void Nunchuk::initialize()
{
Wire.begin();
Wire.beginTransmission(NUNCHUK_DEVICE_ID);

Wire.write(0x40);
Wire.write(0x00);
Wire.endTransmission();
update();
}
bool Nunchuk::update()
{
//delay(1);
Wire.requestFrom(NUNCHUK_DEVICE_ID, NUNCHUK_BUFFER_SIZE);
int byte_counter = 0;

while(Wire.available() && byte_counter < NUNCHUK_BUFFER_SIZE)
{
_buffer[byte_counter++] = decode_byte(Wire.read());
}
request_data();

return byte_counter == NUNCHUK_BUFFER_SIZE;
}

void Nunchuk::request_data()
{
Wire.beginTransmission(NUNCHUK_DEVICE_ID);

Wire.write(0x00);
Wire.endTransmission();
}

char Nunchuk::decode_byte(const char b)
{
return (b ^ 0x17) + 0x17;
}
faustog_2 non è collegato   Rispondi citando