![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
サーボモータの動作確認プログラム
Dependencies: mbed
main.cpp@0:19d128ee3b65, 2018-05-29 (annotated)
- Committer:
- usshi
- Date:
- Tue May 29 08:00:38 2018 +0000
- Revision:
- 0:19d128ee3b65
- Child:
- 1:0e1cdc344b27
???????????????
Who changed what in which revision?
User | Revision | Line number | New 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) : "); |
usshi | 0:19d128ee3b65 | 15 | scanf("%f",&a); |
usshi | 0:19d128ee3b65 | 16 | if(-90<=a&&a<=90) { |
usshi | 0:19d128ee3b65 | 17 | b=calc(a); |
usshi | 0:19d128ee3b65 | 18 | 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 | } |