サーボモータの動作確認プログラム

Dependencies:   mbed

Committer:
igarashi50
Date:
Fri Jun 29 05:34:35 2018 +0000
Revision:
1:0e1cdc344b27
Parent:
0:19d128ee3b65
printf, scanf -> pc.printf, pc.scanf

Who changed what in which revision?

UserRevisionLine numberNew contents of line
usshi 0:19d128ee3b65 1 #include "mbed.h"
usshi 0:19d128ee3b65 2
usshi 0:19d128ee3b65 3 PwmOut servo(p21);
usshi 0:19d128ee3b65 4 Serial pc(USBTX,USBRX);
usshi 0:19d128ee3b65 5
usshi 0:19d128ee3b65 6 float calc(float);
usshi 0:19d128ee3b65 7 int main()
usshi 0:19d128ee3b65 8 {
usshi 0:19d128ee3b65 9 float a,b;
usshi 0:19d128ee3b65 10 servo.period_ms(20);
usshi 0:19d128ee3b65 11 wait_ms(100);
usshi 0:19d128ee3b65 12 pc.printf("\r\n---servo test---\n\r");
usshi 0:19d128ee3b65 13 while(1) {
usshi 0:19d128ee3b65 14 pc.printf("degree(-90~90) : ");
igarashi50 1:0e1cdc344b27 15 pc.scanf("%f",&a);
usshi 0:19d128ee3b65 16 if(-90<=a&&a<=90) {
usshi 0:19d128ee3b65 17 b=calc(a);
igarashi50 1:0e1cdc344b27 18 pc.printf("%f PWM:%f\r\n",a,b);
usshi 0:19d128ee3b65 19 servo.pulsewidth(b);
usshi 0:19d128ee3b65 20 } else {
usshi 0:19d128ee3b65 21 break;
usshi 0:19d128ee3b65 22 }
usshi 0:19d128ee3b65 23 }
usshi 0:19d128ee3b65 24 return 0;
usshi 0:19d128ee3b65 25 }
usshi 0:19d128ee3b65 26
usshi 0:19d128ee3b65 27 float calc(float x)
usshi 0:19d128ee3b65 28 {
usshi 0:19d128ee3b65 29 return (1.45+(2.4-0.5)/180*x)/1000;
usshi 0:19d128ee3b65 30 }