Arduino Wii nunchuck en Wii motion plus met bijgewerkt code voor IDE 1.0.2 en LEDs (4 / 7 stap)

Stap 4: De Code

Eerst moet u het testen van de Wii motion Plus, als het werkt dan moet je gewoon om verbinding te maken met de Wii nunchuck en het zal ook werken.
Opmerking: Ik heb de originele code van deze webpagina:

http://Arduino.CC/Forum/index.php/topic, 8507.0.html
Ik heb niet de code die ik gewoon vast om te kunnen draaien in de nieuwe Arduino IDE 1.0.2 maken. en ik heb toegevoegd nieuwe code voor de
LEDs, alle credits zijn voor knuckles904.

OK eerst moet u Ga naar uw bibliotheek arduino en vinden het draad tapijt ga dan naar Utility en vind de archief-twi.h openen
met wordpad en verwijder de lijnen van //#define ATMEGA8 #endinf en plakken deze lijndiensten in plaats daarvan:
#define ATMEGA8

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

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

Het twi.h archief bewaren en nu open uw arduino IDE en kopieer en plak de code:

#include < Wire.h >
bytegegevens [6]; zes gegevensbytes
int yaw, pitch, roll; drie assen
int yaw0, pitch0, roll0; kalibratie nullen

ongeldig wmpOn() {}
Wire.beginTransmission(0x53); WM + vertrekt gedeactiveerd op adres 0x53
Wire.write(0xFE); 0x04 verzenden adres 0xFE activeren WM +
Wire.write(0x04);
Wire.endTransmission(); WM + springt naar adres 0x52 en is nu actief
}

ongeldig wmpSendZero() {}
Wire.beginTransmission(0x52); nu op het adres 0x52
Wire.write(0x00); nul om aan te geven dat wij willen info sturen
Wire.endTransmission();
}

ongeldig calibrateZeroes() {}
for (int i = 0; ik < 10; i ++) {}
wmpSendZero();
Wire.requestFrom(0x52,6);
for (int i = 0; ik < 6; i ++) {}
data[i]=Wire.Read();
}
yaw0 += (((gegevens [3] >> 2) << 8) + data [0]) / 10; gemiddelde 10 lezingen
pitch0 += ((([4] gegevens >> 2) << 8) + gegevens [1]) / 10;
roll0 += ((([5] gegevens >> 2) << 8) + gegevens [2]) / 10;
}
Serial.Print("Yaw0:");
Serial.Print(yaw0);
Serial.Print ("Pitch0:");
Serial.Print(pitch0);
Serial.Print ("Roll0:");
Serial.println(roll0);
}

ongeldig receiveData() {}
wmpSendZero(); verzenden van nul voor elke aanvraag (hetzelfde als nunchuck)
Wire.requestFrom(0x52,6); de zes bytes voor aanvragen van de WM +
for (int i = 0; ik < 6; i ++) {}
data[i]=Wire.Read();
}
yaw = ((gegevens [3] >> 2) << 8) + data [0]-yaw0;
toonhoogte = ((gegevens [4] >> 2) << 8) + gegevens [1]-pitch0;
Roll = ((gegevens [5] >> 2) << 8) + gegevens [2]-roll0;
}
Zie http://wiibrew.org/wiki/Wiimote/Extension_Controllers#Wii_Motion_Plus
voor meer info over wat elke byte vertegenwoordigt
VOID Setup {}
Serial.begin(115200);
Serial.println ("WM + tester");
Wire.begin();
wmpOn(); inschakelen WM +
calibrateZeroes(); kalibreert nullen
delay(1000);

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

void loop {}
receiveData(); gegevens ontvangen en berekenen yaw pitch en roll
Serial.Print ("yaw:"); //see diagram op randomhacksofboredom.blogspot.com
Serial.Print(yaw); voor info op welke as is die
Serial.Print ("pitch:");
Serial.Print(pitch);
Serial.Print ("roll:");
Serial.println(roll);
delay(100);

Als (worp > = 1000) {}
digitalWrite(12,HIGH);

}

anders als (worp < =-1000) {}
digitalWrite(11,HIGH);

}
anders als (yaw > = 1000) {}
digitalWrite(10,HIGH);

}

anders als (yaw < =-1000) {}
digitalWrite(9,HIGH);

}
anders als (roll > = 1000) {}
digitalWrite(8,HIGH);

}

anders als (roll < =-1000) {}
digitalWrite(7,HIGH);

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

Gerelateerde Artikelen

PIR Alarm Arduino Motion Sensor (met Encasing)

PIR Alarm Arduino Motion Sensor (met Encasing)

dit is een gids op hoe te om een bewegingsmelder met een arduino! Geniet van!Stap 1: Items nodig Arduino Uno microcontrollerBreadboard, MiniPIR sensor, SE-10Jumper dradenPiëzo-zoemerLED, elke grootte en elk typePlywood(optional)Stap 2: De Arduino dra
Draadloze Wii Nunchuk-aan-muis USB-Stick voor PC, Mac, en Tablet videospelletjes

Draadloze Wii Nunchuk-aan-muis USB-Stick voor PC, Mac, en Tablet videospelletjes

Klaar om te voelen van de legendarische "Bruce Lee" met behulp van draadloze Wii Nunchuk op een leuke stickman kung fu PC video vechtspel bekend als One Finger Death Punch (OFDP). Hoe over het spelen van Jetpack Joyride op Facebook of je Android
Arduino: een gemakkelijkere manier om te werken met zeven segment displays

Arduino: een gemakkelijkere manier om te werken met zeven segment displays

ooit hebben moeite programmeercode voor zeven displays segment? Ze maakten ook de 4511 om dingen te maken een stuk makkelijker. Wat de 4511 doet is neemt een 4-cijferige binaire invoerwaarde (enen en nullen), en zet deze om in een decimale waarde op
LeapTek: Sprong Motion Interface met een boord van MediaTek LinkIt!

LeapTek: Sprong Motion Interface met een boord van MediaTek LinkIt!

Hallo iedereen,Ik ben Geeve George een 15-jarige Maker/elektronica Hobbyist.I liefde computervisie, Androïde ontwikkeling en algoritme Design.I ben momenteel in 11de rang Student informatica op Little Rock Indian School. :) Meer informatie vinden ove
AVR/Arduino RFID Reader met UART Code in C

AVR/Arduino RFID Reader met UART Code in C

RFID is de rage, vond overal - van inventarisatiesystemen badge ID systemen. Als je ooit naar een warenhuis geweest en liepen door die metaal detector-uitziende dingen op de oprijlaan-/ uitvoerhavens, dan je RFID gezien heb.Er zijn verschillende plek
Arduino virtuele Data (in dit voorbeeld klok) met verwerking

Arduino virtuele Data (in dit voorbeeld klok) met verwerking

Hallo! In het vorige project toonde ik u hoe u kunt besturen shift register met computer. Nu i´m alleen het delen van wat ik heb geleerd over het: U don´t wilt delen om te testen uw project! Alleen de slechte kant is dat je verwerken van de hele tijd
Arduino bestuurd Model maan fase wijzigingen synchroniseert met werkelijke maankalender

Arduino bestuurd Model maan fase wijzigingen synchroniseert met werkelijke maankalender

Zie het in actie.YouTube-Video van Model maan maanfasen doorlopenDe als-leverde Uncle Milton Moon In My Room is voorzien van een infrarood afstandsbediening waarmee de maan model van hele kamer. De afstandsbediening heeft knoppen te draaien van de LE
Vertind Eiffeltoren Stop Motion Project met vuurwerk en tuinen

Vertind Eiffeltoren Stop Motion Project met vuurwerk en tuinen

Wij houden van het maken van animaties, zodat toen Andy kreeg voor zijn verjaardag een 'Eiffeltoren in een Tin", leek het een geweldig onderwerp voor een stop-motion-video. Hij had het idee dat we gewoon zou een time-lapse van hem het samen brengen,
Programma & controle Arduino + PHIRO robot gelijktijdig met Pocket Code smartphone app

Programma & controle Arduino + PHIRO robot gelijktijdig met Pocket Code smartphone app

PHIRO Pro is een educatieve robot die helpt kinderen leren code. Een van de manieren voor het programmeren en besturen van de PHIRO is via een Android app genaamd Pocket Code beschikbaar op Google Play voor gratis. Zak Code heeft de mogelijkheid voor
Arduino Nano: DS1307 real-time Clock(RTC) met Visuino

Arduino Nano: DS1307 real-time Clock(RTC) met Visuino

DS1307 Real timerklok zijn wijd-beschikbaar low-cost I2C RTC modules. Ze komen met een klok en een kleine batterij, en wanneer aangesloten op de Arduino, annuleerteken vieren voetspoor van real-time zelfs wanneer de Arduino board is niet aangedreven.
Arduino Leonardo/Micro als Game Controller/Joystick met

Arduino Leonardo/Micro als Game Controller/Joystick met

BELANGRIJKE opmerking: Dit artikel is voor de Arduino IDE versie 1.6.6 (of hoger). Om toe te voegen een USB-spelbesturing aan een Arduino Leonardo of Micro met behulp van de Arduino IDE versie 1.6.5 (of onder) de volgende Instructable Zie: Voeg USB-s
Hoe te programmeren Pro Mini Arduino Arduino Uno en ArduShield - zonder de kabels met

Hoe te programmeren Pro Mini Arduino Arduino Uno en ArduShield - zonder de kabels met

Het hoofddoel van deze instructie is om u te tonen hoe te programmeren in de meest eenvoudige manier Arduino Mini of de Pro Mini Arduino met een Arduino UNO en ArduShield – zonder de kabels.Stap voor stap handleiding, met geen stappen overslaan door
Motion Detector met LED voor Beginners

Motion Detector met LED voor Beginners

Dit is een eenvoudig project dat ik maakte voor het testen van sommige bewegingssensoren die ik kocht. Het zal detecteren beweging en een LED licht, als dat zo is. Dit duurt slechts 20-30 minuten start tot finish en is een perfect project voor beginn
Arduino Nano: Analoge 7 Segment MAX7219 Display met Visuino

Arduino Nano: Analoge 7 Segment MAX7219 Display met Visuino

7 segment Displays zijn zeer populaire keuze voor het weergeven van gegevens. Ze bestaan echter uit een groot aantal LEDs en elke LED met een digital pin van de Arduino te beheersen is niet een praktische oplossing. Maxim geïntegreerde biedt zeer han