サーボモーターの動作確認プログラム(nucleo版)
Dependencies: mbed
main.cpp@3:cf99afcea25f, 6 weeks ago (annotated)
- Committer:
- taquto
- Date:
- Sat Aug 31 07:45:12 2024 +0000
- Revision:
- 3:cf99afcea25f
- Parent:
- 2:80b1aa8ca93d
??????
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 | |
saeichi | 2:80b1aa8ca93d | 3 | PwmOut servo(A5); |
saeichi | 2:80b1aa8ca93d | 4 | Serial pc(SERIAL_TX, SERIAL_RX); |
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 | } |