Arduino Wii nunchuck och Wii motion plus med uppdaterad kod för IDE 1.0.2 och lysdioder (4 / 7 steg)

Steg 4: Koden

Först måste du testa Wii motion Plus, om det fungerar sedan behöver du bara ansluta Wii nunchuck och det kommer att fungera också.
Obs: Jag fick den ursprungliga koden från denna webbsida:

http://Arduino.cc/forum/index.php/topic, 8507.0.html
Jag gjorde inte koden jag bara fast den för att kunna köra i nya Arduino IDE 1.0.2. och jag har lagt ny kod för den
lysdioder, alla krediter är för knuckles904.

OK först måste du gå till biblioteket arduino och hitta tråd mattan då gå till verktyg och hitta arkiv twi.h öppna den
med wordpad och ta bort rader från //#define ATMEGA8 till #endinf och klistra in dessa rader i stället:
#define ATMEGA8

#ifndef CPU_FREQ ^ M
#define CPU_FREQ 16000000L
#endif

#ifndef TWI_FREQ ^ M
#define TWI_FREQ 100000L
#endif

Spara twi.h Arkiv och nu öppna din arduino IDE och kopiera och klistra in koden:

#include < Wire.h >
byte data [6]. sex data-byte
int yaw, pitch, rulla; tre axlar
int yaw0, pitch0, roll0; kalibrering nollor

void wmpOn() {
Wire.beginTransmission(0x53); WM + startar inaktiverade på adress 0x53
Wire.write(0xFE); Skicka 0x04 till adress 0xFE aktivera WM +
Wire.write(0x04);
Wire.endTransmission(); WM + hoppar till adress 0x52 och är nu aktiv
}

void wmpSendZero() {
Wire.beginTransmission(0x52); nu på adress 0x52
Wire.write(0x00); Skicka noll signal vi vill ha info
Wire.endTransmission();
}

void calibrateZeroes() {
för (int jag = 0; jag < 10; i ++) {
wmpSendZero();
Wire.requestFrom(0x52,6);
för (int jag = 0; jag < 6; i ++) {
data[i]=Wire.Read();
}
yaw0 + = (((data [3] >> 2) << 8) + data [0]) / 10; genomsnitt 10 avläsningar
pitch0 + = (((data [4] >> 2) << 8) + data [1]) / 10;
roll0 + = (((data [5] >> 2) << 8) + data [2]) / 10;
}
Serial.Print("Yaw0:");
Serial.Print(yaw0);
Serial.Print ("Pitch0:");
Serial.Print(pitch0);
Serial.Print ("Roll0:");
Serial.println(roll0);
}

void receiveData() {
wmpSendZero(); Skicka noll innan varje begäran (samma som nunchuck)
Wire.requestFrom(0x52,6); begära de sex byte från WM +
för (int jag = 0; jag < 6; i ++) {
data[i]=Wire.Read();
}
Yaw = ((data [3] >> 2) << 8) + data [0]-yaw0;
pitch = ((data [4] >> 2) << 8) + data [1]-pitch0;
rulle = ((data [5] >> 2) << 8) + data [2]-roll0;
}
se http://wiibrew.org/wiki/Wiimote/Extension_Controllers#Wii_Motion_Plus
för information om vad varje byte representerar
void setup() {
Serial.BEGIN(115200);
Serial.println ("WM + testare");
Wire.BEGIN();
wmpOn(); Aktivera WM +
calibrateZeroes(); kalibrera nollor
Delay(1000);

pinMode (11, OUTPUT);
pinMode (12, OUTPUT);
pinMode (10, OUTPUT);
pinMode (9, OUTPUT);
pinMode (8, OUTPUT);
pinMode (7, OUTPUT);
}

void loop() {
receiveData(); ta emot data och beräkna gir pitch och rulla
Serial.Print ("yaw:"); //see diagrammet på randomhacksofboredom.blogspot.com
Serial.Print(Yaw); för information på vilken axel är som
Serial.Print ("pitch:");
Serial.Print(pitch);
Serial.Print ("rulla:");
Serial.println(roll);
Delay(100);

om (pitch > = 1000) {
digitalWrite(12,HIGH);

}

annars om (pitch < =-1000) {
digitalWrite(11,HIGH);

}
annars om (yaw > = 1000) {
digitalWrite(10,HIGH);

}

annars om (yaw < =-1000) {
digitalWrite(9,HIGH);

}
annars om (rulla > = 1000) {
digitalWrite(8,HIGH);

}

annars om (rulle < =-1000) {
digitalWrite(7,HIGH);

}
annat {
digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
digitalWrite(7,LOW);
}
}

Se Steg
Relaterade Ämnen

Hur ta isär & fixa din Wii Motion Plus modul.

INTRO: en av min Wii fjärrkontroller höll å flytta slumpmässigt i en riktning som hade Wii Motion Plus. Med den nun-chuck installerat, om jag tryckte anslutning leden till en riktning det skulle fungera men så fort jag släpper, skulle den gå av sig s...

Arduino IR-sensorn och lysdioder

detta är ett projekt för min fysik 308 lab. Till en början var jag inte säker på vad jag skulle bygga med en arduino. Jag beslöt att göra något med en IR-sensorn. Jag fick en idé av min instruktör att använda fjärrkontrollen för att styra lamporna. J...

Styra din Robot med en Wii Nunchuck (och en Arduino)

efter bär själv spela Wii boxning jag måste tänka vore det inte bra om jag kunde använda detta för att styra min robot, (ser att min vänstra hand).Titta runt på internet hittade jag en uppsjö av människor som gör liknande saker, (länkar till alla bar...

Motion Tracker med PIRs, Arduino och en Servo

detta är min motion tracking huvudet med fyra PIRs (passiva infraröda sensorer), en Arduino Uno styrelse och en servo.Det är ett enkelt sätt att ge intryck av att huvudet (birdy) faktiskt följer rörelsen.Det är mycket lätt att bygga men lite tidskräv...

Arduino / Wii kontrollerade Lego Star Wars raket torn

An Arduino ombord tar emot data från en Wii Nunchuck och skickar det till re servon: x, y och trigger. En oberoende laser har lagts till för inriktning. För närvarande mycket vinglig på grund av de billiga servon används.Steg 1: konstruktion Raket to...

Fjärrstyrda webkamera med Arduino, SensorMonkey, jQuery och Justin.tv

webb-aktivera din interaktiva sensorer över skrivbordet, smartphone och tablet enheter.Denna handledning beskriver i detalj hur du använder tjänsten gratis SensorMonkey till styra en pan och tilt webbkamera ansluten till en Arduino använder inget ann...

Automatiska bevattningssystem med kapacitiv sond och Arduino på billiga (och jag menar det)

Varning: Jag är inte en elektronikingenjör, så jag inte kan ge någon garanti för design (mycket mindre en implementering). Jag vet bara presenteras lösningen fungerade för mig minst 5-6 månader (så jag inte kan ens garantera dess tillförlitlighet öve...

RatPhone - 3 G FONA Arduino cellulära Rörlig Cell Telefonerna med Retro knapp knappsats och råtta fånga App

Strunt det iPhones och androider. Här är ratPhone! Detta är definitivt inte en smart telefon. Men det är inte en dum telefon heller. Du kommer inte att kunna slösa ändlösa timmar på Facebook eller Twitter, men det kommer att hjälpa dig att fånga rått...

Kommunicera med arduino micro controller och dator via usb med en vb program

Om du är som mig och vill kunna styra dina objekt anslutna till din arduino via datorn måste du ett sätt att upprätta en anslutning och kommunicera med din arduino från datorn. Denna video och handledning visar dig hur man gör just det! Jag har tagit...

Arduino OLED termometer och Hygrometer med DHT11 för nybörjare

Hej! Jag ska visa dig hur man gör en Arduino OLED termometer och hygrometer * med DHT11.OLED vi använder idag är 1.3″ tum i storlek, funktioner 128 × 64 pixlar och använder SPI bussen. På nästa steg hittar du mer nyttig information om OLED tech och d...

Arduino IOT: Temperatur och luftfuktighet (med ESP8266 WiFi)

Hej alla! Jag är Michalis Vasilakis från www.ardumotive.com och i detta Instructables kommer jag visa dig hur du gör din egen Internet av saker (IOT) termometer med hjälp av Arduino uno styrelsen.Du kan använda den hemma, på kontoret, eller var som h...

InPace - en Arduino baserad GPS-data logga fitness armband med bluetooth och en iOS app

InPace är en Arduino baserat fitness armband, med åtföljande iOS ansökan, som kan ge levande feedback på hur användaren pacing sig under en springa, gå eller cykla rutten. Det spår GPS lokaliseringarna och aktuella tider att jämföra användare nuvaran...

Seriella Servo Controller w/Arduino - kontroll upp till 12 servon samtidigt med Arduino och en USB-anslutning

jag kommer att visa dig hur du använder din Arduino för att styra upp till 12 servon på en gång med minimal jitter. Med ett enkelt seriellt gränssnitt kan du kontrollera positionen för upp till 12 servo kanaler. Upp till 10 ögonblicksbild positioner...

DIY Arduino fjärrkontroll och Lego RC bil!

Uppdatera (8/29/13): tacka er läsare för din entusiasm och typ kommentarer angående detta projekt! Det har varit en enorm resa sedan jag började detta projekt redan i mars, men jag är mycket glad med den resulterande produkten och spänningen som det...

Arduino virtuella Data (i detta exempel klockan) med bearbetning

Hej! I det tidigare projektet visade jag dig hur du styr skiftregister med dator. Nu i´m bara dela vad jag har lärt mig om det: du don´t måste genom delar att testa ditt projekt! Bara dåliga sidan är att du måste köra bearbetning hela tiden när du vi...

ARDUINO gränssnitt och konverterare för INPUT/OUTPUT digital/analog

CE schéma réunit toutes les gränssnitt ou convertisseurs que j'utilise avec mes microcontrôleurs Häll piloter mes systèmes (gaine de ventilation chauffante régulation de température, portail automatisé, fyra thermique, monte avgift, station de pompag...

Arduino Powered RGB humör lampa plus Simon

detta är grunden en arduino powered RGB humör lampa plus simon says spel, två i ett.Hur man använder: Enheten börjar med RGB humör lampa standardprogram, när du trycker på någon av de fyra knapparna längst ner, säger Simon spelet startar. När du tryc...

Hur man gör en Stop Motion Video med telefonen

I detta Instructable kommer jag visa dig hur man gör en bra stopp rörelse video utan högteknologisk programvara eller högteknologisk kameraSteg 1: Historien ombordstigningOmbordstigning berättelse är det första steget som det kan storyboarding men de...

HK spårvagn Laser skär ras spel (Arduino, Pure Data och GSR sensorer)

Detta spelet betalar vördnad till Hong Kongs stressande gator, där den ikoniska Hongkong "Ding Ding" spårvagnar sammanföra lokalbefolkningen och utlänningar. Detta projekt var också inspirerad av aktuella studier som görs på stress och känslomäs...