エレキジャックweb mbed入門 サーボを動かそう 課題4です。サーボの動きに合わせて'*'を左右に動かします。

Dependencies:   mbed

main.cpp

Committer:
takeuchi
Date:
2011-08-18
Revision:
0:04604e1f2302

File content as of revision 0:04604e1f2302:

//Servo test04 Vr_control
// * level meter
#include "mbed.h"
#include "TextLCD0420.h"

#define ON 1
#define OFF 0

DigitalOut mled0(LED1);
DigitalOut mled1(LED2);
AnalogIn vr_adc(p15);
PwmOut servo1(p21);

TextLCD lcd(p24, p25, p26, p27, p28, p29, p30,20,4); // rs, rw, e, d0, d1, d2, d3

int main() {
  int i;
  float pwidth,vr_data;
  lcd.cls();
  lcd.locate(0,0);
  lcd.printf("*** Servo test ****\n");         
  servo1.period_ms(20);

  while(1){   
    vr_data=vr_adc.read()/1000;
    pwidth=vr_data+0.001;
      servo1.pulsewidth(pwidth);
      i=vr_data*10000-1;
      if(i<0){
        i=0;
      }
      lcd.locate(0,1);
      lcd.printf("----+----:%2.2f%ms",pwidth*1000);
      lcd.locate(0,2);
      lcd.printf("                    ");
      lcd.locate(i,2);
      lcd.printf("*");      
  }//while    
}//main