エレキジャックweb mbed入門 サーボモータ 課題1です。サーボを左右に動かします。

Dependencies:   mbed

Committer:
takeuchi
Date:
Thu Aug 18 06:36:58 2011 +0000
Revision:
0:3aa8ec194a4e

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
takeuchi 0:3aa8ec194a4e 1 //Servo test01
takeuchi 0:3aa8ec194a4e 2 // Servo basic test
takeuchi 0:3aa8ec194a4e 3 #include "mbed.h"
takeuchi 0:3aa8ec194a4e 4 #include "TextLCD0420.h"
takeuchi 0:3aa8ec194a4e 5
takeuchi 0:3aa8ec194a4e 6 #define ON 1
takeuchi 0:3aa8ec194a4e 7 #define OFF 0
takeuchi 0:3aa8ec194a4e 8
takeuchi 0:3aa8ec194a4e 9 DigitalOut mled0(LED1);
takeuchi 0:3aa8ec194a4e 10 DigitalOut mled1(LED2);
takeuchi 0:3aa8ec194a4e 11 AnalogIn vr_adc(p15);
takeuchi 0:3aa8ec194a4e 12 PwmOut servo1(p21);
takeuchi 0:3aa8ec194a4e 13
takeuchi 0:3aa8ec194a4e 14 TextLCD lcd(p24, p25, p26, p27, p28, p29, p30,20,4); // rs, rw, e, d0, d1, d2, d3
takeuchi 0:3aa8ec194a4e 15
takeuchi 0:3aa8ec194a4e 16 int main() {
takeuchi 0:3aa8ec194a4e 17 float pwidth;
takeuchi 0:3aa8ec194a4e 18 lcd.cls();
takeuchi 0:3aa8ec194a4e 19 lcd.locate(0,0);
takeuchi 0:3aa8ec194a4e 20 lcd.printf("*** Servo test ****\n");
takeuchi 0:3aa8ec194a4e 21 servo1.period_ms(20);// pulse cycle = 20ms
takeuchi 0:3aa8ec194a4e 22
takeuchi 0:3aa8ec194a4e 23 while(1){
takeuchi 0:3aa8ec194a4e 24 for(pwidth=0.001; pwidth<=0.002; pwidth+=0.0001) { // 1ms ~ 2ms
takeuchi 0:3aa8ec194a4e 25 servo1.pulsewidth(pwidth); // pulse servo out
takeuchi 0:3aa8ec194a4e 26 lcd.locate(0,1);
takeuchi 0:3aa8ec194a4e 27 lcd.printf("PulseWidth:%2.5f%",pwidth);
takeuchi 0:3aa8ec194a4e 28 wait(0.25);
takeuchi 0:3aa8ec194a4e 29 }
takeuchi 0:3aa8ec194a4e 30 }//while
takeuchi 0:3aa8ec194a4e 31 }//main
takeuchi 0:3aa8ec194a4e 32