update
This commit is contained in:
parent
2ce392f6f2
commit
7c24307b16
1 changed files with 20 additions and 17 deletions
|
@ -32,7 +32,7 @@ void setup(){
|
|||
digitalWrite(PIN_PWR, HIGH);
|
||||
digitalWrite(PIN_GND, LOW);
|
||||
delay(100);
|
||||
Serial.begin(19200);
|
||||
// Serial.begin(19200);
|
||||
wiiNun.begin();
|
||||
base.attach(PIN_SERVO_BASE);
|
||||
catcher.attach(PIN_SERVO_CATCHER);
|
||||
|
@ -42,6 +42,7 @@ void setup(){
|
|||
}
|
||||
|
||||
void loop(){
|
||||
// ヌンチャクを読む
|
||||
wiiNun.get();
|
||||
byte joyx = wiiNun.data[0];
|
||||
byte joyy = wiiNun.data[1];
|
||||
|
@ -50,36 +51,38 @@ void loop(){
|
|||
byte accz = wiiNun.data[4];
|
||||
byte zbut = ((~wiiNun.data[5] >> 0) & 1);
|
||||
byte cbut = ((~wiiNun.data[5] >> 1) & 1);
|
||||
if ((wiiNun.data[5] >> 2) & 1) accx += 2;
|
||||
if ((wiiNun.data[5] >> 3) & 1) accx += 1;
|
||||
if ((wiiNun.data[5] >> 4) & 1) accy += 2;
|
||||
if ((wiiNun.data[5] >> 5) & 1) accy += 1;
|
||||
if ((wiiNun.data[5] >> 6) & 1) accz += 2;
|
||||
if ((wiiNun.data[5] >> 7) & 1) accz += 1;
|
||||
if((wiiNun.data[5] >> 2) & 1) accx += 2;
|
||||
if((wiiNun.data[5] >> 3) & 1) accx += 1;
|
||||
if((wiiNun.data[5] >> 4) & 1) accy += 2;
|
||||
if((wiiNun.data[5] >> 5) & 1) accy += 1;
|
||||
if((wiiNun.data[5] >> 6) & 1) accz += 2;
|
||||
if((wiiNun.data[5] >> 7) & 1) accz += 1;
|
||||
// ヌンチャクおわり
|
||||
|
||||
char x = (char)(joyx-0x7F);
|
||||
char y = (char)(joyy-0x7F);
|
||||
char x = (char)(joyx-0x7F); // スティックの中心を0にする
|
||||
char y = (char)(joyy-0x7F); // スティックの中心を0にする
|
||||
// char ax = (char)(accx-0x7F);
|
||||
char ay = (char)(accy-0x7F);
|
||||
char ay = (char)(accy-0x7F); // 水平状態を0にする
|
||||
|
||||
digitalWrite(PIN_LED, LOW);
|
||||
if(zbut){ // zボタン押しながら
|
||||
digitalWrite(PIN_LED, HIGH);
|
||||
if(y>0x1F) baseDeg = 180 - atan2(y, x)*180/PI; // 台座をスティックの角度にする
|
||||
if(baseDeg < 10) baseDeg = 10;
|
||||
else if(baseDeg > 170) baseDeg = 170;
|
||||
}else{
|
||||
}else{ // zボタン離すと
|
||||
digitalWrite(PIN_LED, LOW);
|
||||
horMotor.speed(y);
|
||||
baseDeg += x/32; // 台座をxに応じて相対移動
|
||||
}
|
||||
|
||||
if(ay > +0x10) verMotor.speed(+0xCC);
|
||||
if(ay < -0x10) verMotor.speed(-0xCC);
|
||||
if(ay > +0x20) verMotor.mode(GO);
|
||||
if(ay < -0x20) verMotor.mode(BACK);
|
||||
if(0);
|
||||
else if(ay > +0x20) verMotor.mode(GO);
|
||||
else if(ay > +0x10) verMotor.speed(+0xCC);
|
||||
else if(ay < -0x10) verMotor.speed(-0xCC);
|
||||
else if(ay < -0x20) verMotor.mode(BACK);
|
||||
|
||||
catcherDeg = 90;
|
||||
if(cbut){
|
||||
if(cbut){ // cボタン押すとキャッチャーを離す
|
||||
catcherDeg = 15;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue