質問するログイン新規登録

質問編集履歴

4

説明

2015/12/04 00:35

投稿

Amey
Amey

スコア17

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,5 @@
1
- アンドロイドから
2
- 加速度を受け取り対象物を水に制御するプログラムを作成したのですが、
1
+ アンドロイドから加速度を受け取り対象物を水に制御するプログラムを
3
- 思った以上にプログラムが短くなってしまったので、
2
+ 作成したのですが、思った以上にプログラムが短くなってしまったので、
4
3
  何か改善するところがあれば教えていただきたいです。
5
4
  このプログラムは右に45、左に45度まで補正するプログラムです。
6
5
 

3

説明

2015/12/04 00:34

投稿

Amey
Amey

スコア17

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  アンドロイドから
2
- 加速度を角度を制御するプログラムをさせることができたのですが、
2
+ 加速度を受け取り対象物水へに制御するプログラムをたのですが、
3
3
  思った以上にプログラムが短くなってしまったので、
4
4
  何か改善するところがあれば教えていただきたいです。
5
5
  このプログラムは右に45、左に45度まで補正するプログラムです。

2

説明

2015/12/04 00:34

投稿

Amey
Amey

スコア17

title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,7 @@
2
2
  加速度を角度を制御するプログラムを完成させることができたのですが、
3
3
  思った以上にプログラムが短くなってしまったので、
4
4
  何か改善するところがあれば教えていただきたいです。
5
- このプログラムは右に45、左に45度まで
5
+ このプログラムは右に45、左に45度まで補正するプログラムです。
6
6
 
7
7
  0. #include "mbed.h"
8
8
  0. #include <iostream>

1

コードの体裁

2015/12/04 00:33

投稿

Amey
Amey

スコア17

title CHANGED
File without changes
body CHANGED
@@ -2,52 +2,53 @@
2
2
  加速度を角度を制御するプログラムを完成させることができたのですが、
3
3
  思った以上にプログラムが短くなってしまったので、
4
4
  何か改善するところがあれば教えていただきたいです。
5
- #include "mbed.h"
6
- #include <iostream>
7
- #include "TextLCD.h"
8
- TextLCD lcd(p24, p26, p27, p28, p29, p30);
9
- Serial pc(USBTX, USBRX);
10
- PwmOut pwm(p21);
11
- using namespace std;
5
+ このプログラムは右に45、左に45度まで
12
6
 
7
+ 0. #include "mbed.h"
8
+ 0. #include <iostream>
9
+ 0. #include "TextLCD.h"
10
+ 0.
11
+ 0. TextLCD lcd(p24, p26, p27, p28, p29, p30);
12
+ 0. Serial pc(USBTX, USBRX);
13
+ 0. PwmOut pwm(p21);
14
+ 0. using namespace std;
15
+ 0.
13
- int main() {
16
+ 0. int main() {
14
- double x=0; //加速度受け取り
17
+ 0. double x=0; //変換先
15
- int Angle; //角度
18
+ 0. int Angle; //角度
16
- int p,start=1500,min=1050,max=1950; //パルス600~2400
19
+ 0. int p,start=1500,min=1050,max=1950;
17
-
20
+ 0.
18
- p = start; //モータ初期位置
21
+ 0. p = start; //モータ初期位置
19
- pwm.pulsewidth_us(p); //
22
+ 0. pwm.pulsewidth_us(p);
20
- wait_ms(40);
23
+ 0. wait_ms(40);
21
-
24
+ 0.
22
-
23
-
24
- while(1) {
25
+ 0. while(1) {
25
-
26
+ 0.
26
-
27
+ 0.
27
- cin >> x ; //加速度受け取り
28
+ 0. cin >> x ; //加速度受け取り
28
- lcd.cls();
29
+ 0. lcd.cls();
29
-
30
+ 0.
30
- if(x>=0)
31
+ 0. if(x>=0)
31
- Angle = x/0.109 + 0.5; //相対角度算出
32
+ 0. Angle = x/0.109 + 0.5; //相対角度算出
32
- else if(x<0){
33
+ 0. else if(x<0){
33
- Angle = x/0.109 - 0.5;
34
+ 0. Angle = x/0.109 - 0.5;
34
- }
35
+ 0. }
35
- lcd.printf("X=%6.2f",x); //LCDにうけっとた値
36
+ 0. lcd.printf("X=%6.2f",x); //LCDにうけっとた値
36
- lcd.locate(0,1); //相対角度表示
37
+ 0. lcd.locate(0,1); //相対角度表示
37
- lcd.printf("Angle=%d",Angle);
38
+ 0. lcd.printf("Angle=%d",Angle);
38
-
39
+ 0.
39
- if(Angle == 0){ //角度が0なら初期位置に
40
+ 0. if(Angle == 0){ //角度が0なら初期位置に
40
- p = start;
41
+ 0. p = start;
41
- pwm.pulsewidth_us(p);
42
+ 0. pwm.pulsewidth_us(p);
42
- }else if(Angle >45){ //45度以上はmaxで固定
43
+ 0. }else if(Angle >45){ //45度以上はmaxで固定
43
- p = max;
44
+ 0. p = max;
44
- pwm.pulsewidth_us(p);
45
+ 0. pwm.pulsewidth_us(p);
45
- }else if(Angle <-45){ //-45度以下はminで固定
46
+ 0. }else if(Angle <-45){ //-45度以下はminで固定
46
- p = min;
47
+ 0. p = min;
47
- pwm.pulsewidth_us(p);
48
+ 0. pwm.pulsewidth_us(p);
48
- }else{ //それいがいは指定角度へ
49
+ 0. }else{ //それいがいは指定角度へ
49
- p=start-Angle*10;
50
+ 0. p=start-Angle*10;
50
- pwm.pulsewidth_us(p);
51
+ 0. pwm.pulsewidth_us(p);
52
+ 0. }
53
+ 0. }
51
- }
54
+ 0. }
52
- }
53
- }