エレキジャックweb mbed入門 mbed RMCS鉄道模型自動制御システム 課題3です。ボリューム1により列車の速度制御を行います。

Dependencies:   mbed

main.cpp

Committer:
takeuchi
Date:
2012-01-19
Revision:
0:e39148d73af0

File content as of revision 0:e39148d73af0:

// mRMCS03 Vr1 control
// mbed RailModelContorolSystem

#include "mbed.h"
#include "TextLCD0420.h"

#define ON 1
#define OFF 0
#define XON 0
#define XOFF 1

DigitalOut mled1(LED1);
DigitalOut mled2(LED2);
DigitalOut mled3(LED3);
DigitalOut mled4(LED4);
AnalogIn vr1_adc(p15);
AnalogIn vr2_adc(p16);
DigitalIn sens1(p17);
DigitalIn sens2(p18);
DigitalIn sens3(p19);
PwmOut r1_pwm(p22);
PwmOut r2_pwm(p23);
DigitalOut po10(p5);
DigitalOut po11(p6);
DigitalOut po20(p7);
DigitalOut po21(p8);

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

float pduty,pduty_slow;

void notch(float duty){
  r1_pwm.write(duty);
  r2_pwm.write(0);
}

void r_notch(float duty){
  r1_pwm.write(0);
  r2_pwm.write(duty);
}

int main() {      
  int i;
  float pduty;
  r1_pwm.pulsewidth(0.000001);//1us=0.000001
  r1_pwm.period(0.00001);//1ms=0.001s
  r2_pwm.pulsewidth(0.000001);//1us=0.000001
  r2_pwm.period(0.00001);//1ms=0.001s

  
  lcd.cls();
  lcd.locate(0,0);
  lcd.printf("** mbed RMCS03 **");
  
  
  while(1){
    pduty=vr1_adc.read();
    notch(pduty);
    lcd.locate(0,1);
    lcd.printf("%3f",pduty);
    wait(1.0);
  }//while
     
}//main