Takeuchi Kouichi
/
2bk0817_servo_test03
エレキジャックweb mbed入門 サーボを動かそう 課題3です。'*'をサーボの動きに合わせて棒グラフとして表示します。
main.cpp@0:0a937a97f30f, 2011-08-18 (annotated)
- Committer:
- takeuchi
- Date:
- Thu Aug 18 23:07:55 2011 +0000
- Revision:
- 0:0a937a97f30f
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
takeuchi | 0:0a937a97f30f | 1 | //Servo test04 Vr_control => AD=>Servo |
takeuchi | 0:0a937a97f30f | 2 | // '*' bar graph |
takeuchi | 0:0a937a97f30f | 3 | #include "mbed.h" |
takeuchi | 0:0a937a97f30f | 4 | #include "TextLCD0420.h" |
takeuchi | 0:0a937a97f30f | 5 | |
takeuchi | 0:0a937a97f30f | 6 | #define ON 1 |
takeuchi | 0:0a937a97f30f | 7 | #define OFF 0 |
takeuchi | 0:0a937a97f30f | 8 | |
takeuchi | 0:0a937a97f30f | 9 | DigitalOut mled0(LED1); |
takeuchi | 0:0a937a97f30f | 10 | DigitalOut mled1(LED2); |
takeuchi | 0:0a937a97f30f | 11 | AnalogIn vr_adc(p15); |
takeuchi | 0:0a937a97f30f | 12 | PwmOut servo1(p21); |
takeuchi | 0:0a937a97f30f | 13 | |
takeuchi | 0:0a937a97f30f | 14 | TextLCD lcd(p24, p25, p26, p27, p28, p29, p30,20,4); // rs, rw, e, d0, d1, d2, d3 |
takeuchi | 0:0a937a97f30f | 15 | |
takeuchi | 0:0a937a97f30f | 16 | int main() { |
takeuchi | 0:0a937a97f30f | 17 | int i; |
takeuchi | 0:0a937a97f30f | 18 | float pwidth,vr_data; |
takeuchi | 0:0a937a97f30f | 19 | lcd.cls(); |
takeuchi | 0:0a937a97f30f | 20 | lcd.locate(0,0); |
takeuchi | 0:0a937a97f30f | 21 | lcd.printf("*** Servo test ****\n"); |
takeuchi | 0:0a937a97f30f | 22 | servo1.period_ms(20); |
takeuchi | 0:0a937a97f30f | 23 | |
takeuchi | 0:0a937a97f30f | 24 | while(1){ |
takeuchi | 0:0a937a97f30f | 25 | vr_data=vr_adc.read()/1000; |
takeuchi | 0:0a937a97f30f | 26 | pwidth=vr_data+0.001; |
takeuchi | 0:0a937a97f30f | 27 | servo1.pulsewidth(pwidth); |
takeuchi | 0:0a937a97f30f | 28 | lcd.locate(0,1); |
takeuchi | 0:0a937a97f30f | 29 | lcd.printf("----+----:%2.2f%ms",pwidth*1000); |
takeuchi | 0:0a937a97f30f | 30 | lcd.locate(0,2); |
takeuchi | 0:0a937a97f30f | 31 | lcd.printf(" "); |
takeuchi | 0:0a937a97f30f | 32 | lcd.locate(0,2); |
takeuchi | 0:0a937a97f30f | 33 | for(i=0;i<vr_data*10000-1;i++){ |
takeuchi | 0:0a937a97f30f | 34 | lcd.printf("*"); |
takeuchi | 0:0a937a97f30f | 35 | } |
takeuchi | 0:0a937a97f30f | 36 | |
takeuchi | 0:0a937a97f30f | 37 | }//while |
takeuchi | 0:0a937a97f30f | 38 | }//main |
takeuchi | 0:0a937a97f30f | 39 |