Nunchuck-muis naar WASD keyboard
40 berichten
• Pagina 1 van 4 • 1, 2, 3, 4
Nunchuck-muis naar WASD keyboard
Beste Forumleden,
Ik ben voor mijn afstuderen bezig met een project en daarvoor heb ik een wii-nun chuck nodig die als WASD keyboard kan dienen (het pookje). Het project waar ik aan werk is het Metaverse Museum (http://www.metaversemuseum.eu) en ik ga voor mijn afstuderen onderzoeken hoe ik een interessante VR ervaring kan maken voor 45+ers d.m.v. een museumbezoek, Vandaar de (kleine interface van de) Wii Nunchuk.
Ik heb de Nunchuck Mouse al voor elkaar (gesoldeerd en werkend) alleen moet de code nog aangepast worden. Nu heb ik mij al aardig verbeten op het maken van de nun-chuck muis (het is mijn eerste project) dus ik dacht; voordat ik de code aanpas, laat ik eens wat advies inwinnen. De code zonder libraries ziet er als volgt uit:
cpp code
De onderstaande code zal vervangen moeten worden met het volgende
cpp code
//in pseudocode
cpp code
Nu weet ik alleen niet hoe ik dit uitgevoerd krijg; WriteOut, PrintIn, Void echo LoopbackCallFunctionSetupMultiplier, geen idee. Ook de verdere C++ opmaak ben ik totaal niet bekend mee, dus de kans op fouten is aanzienlijk.
Zouden jullie mij op weg kunnen helpen, of zou iemand dit stukje code voor mij kunnen produceren? Ik kan later wel aanpassingen maken t.o.v. welke axis en waarden W, A, S, of D, zijn, en of het werkt in Unreal Engine (problemen met W+A of W+D, of het probleem dat hij na 1ms opnieuw aanslaat). Ik ben er alleen niet aan toe om een strijd aan te gaan met de syntaxis en de hele programmeerstructuur van C++ te doorgronden (Vleermuis smily voor de gedachte alleen al)
Mocht iemand nog andere tips hebben voor dit project dan zijn ze altijd welkom!
Verdere info
- Board: Leonardo
- De muisknoppen (links en rechts) heb ik gewisseld,
- Muis (en Mouse.h) is verder niet nodig, maar wellicht kan ik later nog iets met de knoppen doen
- keyboard.h al toegevoegd
Ik ben voor mijn afstuderen bezig met een project en daarvoor heb ik een wii-nun chuck nodig die als WASD keyboard kan dienen (het pookje). Het project waar ik aan werk is het Metaverse Museum (http://www.metaversemuseum.eu) en ik ga voor mijn afstuderen onderzoeken hoe ik een interessante VR ervaring kan maken voor 45+ers d.m.v. een museumbezoek, Vandaar de (kleine interface van de) Wii Nunchuk.
Ik heb de Nunchuck Mouse al voor elkaar (gesoldeerd en werkend) alleen moet de code nog aangepast worden. Nu heb ik mij al aardig verbeten op het maken van de nun-chuck muis (het is mijn eerste project) dus ik dacht; voordat ik de code aanpas, laat ik eens wat advies inwinnen. De code zonder libraries ziet er als volgt uit:
cpp code
//Brian Krukoski
//April 2012
//red-+5, white-gnd, green-sda, yllw-clck
#include <Keyboard.h>
#include <Wire.h>
#include "nunchuck_funcs.h"
#include <HID.h>
int loop_cnt=0;
// parameters for reading the joystick:
int range = 40; // output range of X or Y movement
int threshold = range/10; // resting threshold
int center = range/2; // resting position value
boolean mouseIsActive = false; // whether or not to control the mouse
int lastSwitchState = LOW; // previous switch state
void setup() {
// initilization for the Wiichuck
nunchuck_init();
// take control of the mouse:
Mouse.begin();
Serial.begin(9600);
}
void loop() {
if( loop_cnt > 10 ) { // every 10 msecs get new data
loop_cnt = 0;
nunchuck_get_data();
int sensorReading = analogRead(A0);
Serial.println(sensorReading);
delay(1);
//right and left click control
int leftState = nunchuck_cbutton();
if (leftState) Mouse.press(MOUSE_RIGHT); else Mouse.release(MOUSE_RIGHT); //Switched with Left
int rightState = nunchuck_zbutton();
if (rightState) Mouse.press(MOUSE_LEFT); else Mouse.release(MOUSE_LEFT); //Switched with Right
// read the x axis
int xReading = nunchuck_joyx(); //calls on nunchuck_funcs library for x axis reading
xReading = map(xReading, 38, 232, 0, range); // 38 and 232 arbitrarily determined through experimentation, maps to 0 and preset range
int xDistance = xReading - center;
if (abs(xDistance) < threshold) //if absolute value of xDistance is less than predefined threshold....
{
xDistance = 0;
}
// read the y axis
int yReading = nunchuck_joyy(); //calls on nunchuck_funcs library for y axis reading
yReading = map(yReading, 38, 232, 0, range); // 38 and 232 arbitrarily determined through experimentation, maps to 0 and preset range
int yDistance = yReading - center;
if (abs(yDistance) < threshold) //if absolute value of yDistance is less than predefined threshold....
{
yDistance = 0;
}
// move the mouse if the readings were above 0
if ((xDistance != 0) || (yDistance != 0)) {
Mouse.move(xDistance, -yDistance, 0); // -yDistance ensures inverted style joystick
}
}
nunchuck_print_data(); //prints nunchuck data to serial monitor for debugging purposes
loop_cnt++;
delay(1);
}
De onderstaande code zal vervangen moeten worden met het volgende
cpp code
// move the mouse if the readings were above 0
if ((xDistance != 0) || (yDistance != 0)) {
Mouse.move(xDistance, -yDistance, 0); // -yDistance ensures inverted style joystick
}
}
//in pseudocode
cpp code
if(xDistance =>0 then KeyboardPress w
if(xDistance =<0 then KeyboardPress S
If(xDistance = 0 then do nothing
if(yDistance =>0 then KeyboardPress A
if(yDistance =<0 then KeyboardPress D
If(xDistance = 0 then do nothing
Nu weet ik alleen niet hoe ik dit uitgevoerd krijg; WriteOut, PrintIn, Void echo LoopbackCallFunctionSetupMultiplier, geen idee. Ook de verdere C++ opmaak ben ik totaal niet bekend mee, dus de kans op fouten is aanzienlijk.
Zouden jullie mij op weg kunnen helpen, of zou iemand dit stukje code voor mij kunnen produceren? Ik kan later wel aanpassingen maken t.o.v. welke axis en waarden W, A, S, of D, zijn, en of het werkt in Unreal Engine (problemen met W+A of W+D, of het probleem dat hij na 1ms opnieuw aanslaat). Ik ben er alleen niet aan toe om een strijd aan te gaan met de syntaxis en de hele programmeerstructuur van C++ te doorgronden (Vleermuis smily voor de gedachte alleen al)
Mocht iemand nog andere tips hebben voor dit project dan zijn ze altijd welkom!
Verdere info
- Board: Leonardo
- De muisknoppen (links en rechts) heb ik gewisseld,
- Muis (en Mouse.h) is verder niet nodig, maar wellicht kan ik later nog iets met de knoppen doen
- keyboard.h al toegevoegd
My Compiler Errors keep haunting me!!!
Advertisement
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Nunchuck-muis naar WASD keyboard
Ik denk dat het allemaal wel meevalt hoor. Ik ga het niet voor je schrijven, want dat is niet de bedoeling van afstuderen. Welke keyboard library gebruik je? (link)
Re: Nunchuck-muis naar WASD keyboard
Hallo,
Ik gebruik de keyboard library die bij de arduino IDE is meegeleverd (keyboard.h uit de libraries). (link werkte niet)
Ter informatie: ik studeer Kunst en Economie (bedrijfskunde voor de creatieve industrie), ik word beoordeeld op mijn ondernemingsplan en onderzoek, en niet zozeer technische uitwerking daarvan. ter illustratie; de tech demo die ik hiervoor heb gebouwd met de Unreal Engine 4 is welgeteld 0 punten waard
Ik gebruik de keyboard library die bij de arduino IDE is meegeleverd (keyboard.h uit de libraries). (link werkte niet)
Ter informatie: ik studeer Kunst en Economie (bedrijfskunde voor de creatieve industrie), ik word beoordeeld op mijn ondernemingsplan en onderzoek, en niet zozeer technische uitwerking daarvan. ter illustratie; de tech demo die ik hiervoor heb gebouwd met de Unreal Engine 4 is welgeteld 0 punten waard
My Compiler Errors keep haunting me!!!
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Nunchuck-muis naar WASD keyboard
Nou schiet lekker opMetaMus schreef:Hallo,
Ik gebruik de keyboard library die bij de arduino IDE is meegeleverd (keyboard.h uit de libraries). (link werkte niet)
Ter informatie: ik studeer Kunst en Economie (bedrijfskunde voor de creatieve industrie), ik word beoordeeld op mijn ondernemingsplan en onderzoek, en niet zozeer technische uitwerking daarvan. ter illustratie; de tech demo die ik hiervoor heb gebouwd met de Unreal Engine 4 is welgeteld 0 punten waard
Verder probeer ik jouw sketch te compileren maar de fouten vliegen mij om de oren.... Welke nuchuck lib gebruik jij?
Re: Nunchuck-muis naar WASD keyboard
Ik heb deze gebruikt als het goed is
http://www.instructables.com/files/orig ... HJKC70NX.h
Via
http://www.instructables.com/id/USB-Wii ... /Software/
Zoals in het bericht stond; als het problemen geeft mag alles wat met de muis te maken heeft er zo uit!
Bedankt voor het kijken alvast!
Groeten,
Kevin
http://www.instructables.com/files/orig ... HJKC70NX.h
Via
http://www.instructables.com/id/USB-Wii ... /Software/
Zoals in het bericht stond; als het problemen geeft mag alles wat met de muis te maken heeft er zo uit!
Bedankt voor het kijken alvast!
Groeten,
Kevin
My Compiler Errors keep haunting me!!!
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Nunchuck-muis naar WASD keyboard
Dit zou het stukje code moeten zijn :
cpp code
cpp code
if (xDistance != 0) { // Bij geen beweging niets doen
if (xDistance > 0) {
Keyboard.press('W'); // Stuur 'W'
} else {
Keyboard.press('S'); // Stuur 'S'
}
delay(100); // ff wachten
Keyboard.releaseAll(); // alle toetsen los
}
if (yDistance != 0) { // Bij geen beweging niets doen
if (yDistance > 0) {
Keyboard.press('A'); // stuur 'A'
} else {
Keyboard.press('D'); // stuur 'D'
}
delay(100); // ff wachten
Keyboard.releaseAll(); // alle toetsen los
}
Re: Nunchuck-muis naar WASD keyboard
Whoop Whoop.. Ik ga hem testen!!
My Compiler Errors keep haunting me!!!
Re: Nunchuck-muis naar WASD keyboard
die keyboard library werkt maar met een paar soorten arduino, dus wellicht krijg je het zo niet aan de gang.
paul deelen
shooter@home.nl
shooter@home.nl
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Nunchuck-muis naar WASD keyboard
Hij gebruikt een leonardo. Dat is een goede
Re: Nunchuck-muis naar WASD keyboard
DDDDDDSWSWSWSWSWSWSSASASASASASAAAAAAAAAAAAAAAAAWWWWWWWWWWWWWWWWWWWDWDDDDDDDDDDSASASAAAAAAAAASASASASSSSSSSSSSSSSWSWSWSWSWSWSWSWDDDDDDDDDDDDDDDDDDDWDWDWDWDWDWDWDWDWDWWWWWWWWWWWWWWWAAAAAAAAAAAAAAAAAAAAAAAAAA
hij doet het hoor!! Bedankt!
Groeten,
Kevin
hij doet het hoor!! Bedankt!
Groeten,
Kevin
My Compiler Errors keep haunting me!!!
40 berichten
• Pagina 1 van 4 • 1, 2, 3, 4
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 32 gasten