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

Dependencies:   mbed

Committer:
takeuchi
Date:
Thu Jan 19 00:50:19 2012 +0000
Revision:
0:e39148d73af0

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
takeuchi 0:e39148d73af0 1 // mRMCS03 Vr1 control
takeuchi 0:e39148d73af0 2 // mbed RailModelContorolSystem
takeuchi 0:e39148d73af0 3
takeuchi 0:e39148d73af0 4 #include "mbed.h"
takeuchi 0:e39148d73af0 5 #include "TextLCD0420.h"
takeuchi 0:e39148d73af0 6
takeuchi 0:e39148d73af0 7 #define ON 1
takeuchi 0:e39148d73af0 8 #define OFF 0
takeuchi 0:e39148d73af0 9 #define XON 0
takeuchi 0:e39148d73af0 10 #define XOFF 1
takeuchi 0:e39148d73af0 11
takeuchi 0:e39148d73af0 12 DigitalOut mled1(LED1);
takeuchi 0:e39148d73af0 13 DigitalOut mled2(LED2);
takeuchi 0:e39148d73af0 14 DigitalOut mled3(LED3);
takeuchi 0:e39148d73af0 15 DigitalOut mled4(LED4);
takeuchi 0:e39148d73af0 16 AnalogIn vr1_adc(p15);
takeuchi 0:e39148d73af0 17 AnalogIn vr2_adc(p16);
takeuchi 0:e39148d73af0 18 DigitalIn sens1(p17);
takeuchi 0:e39148d73af0 19 DigitalIn sens2(p18);
takeuchi 0:e39148d73af0 20 DigitalIn sens3(p19);
takeuchi 0:e39148d73af0 21 PwmOut r1_pwm(p22);
takeuchi 0:e39148d73af0 22 PwmOut r2_pwm(p23);
takeuchi 0:e39148d73af0 23 DigitalOut po10(p5);
takeuchi 0:e39148d73af0 24 DigitalOut po11(p6);
takeuchi 0:e39148d73af0 25 DigitalOut po20(p7);
takeuchi 0:e39148d73af0 26 DigitalOut po21(p8);
takeuchi 0:e39148d73af0 27
takeuchi 0:e39148d73af0 28 TextLCD lcd(p24, p25, p26, p27, p28, p29, p30,20,4); // rs, rw, e, d0, d1, d2, d3
takeuchi 0:e39148d73af0 29
takeuchi 0:e39148d73af0 30 float pduty,pduty_slow;
takeuchi 0:e39148d73af0 31
takeuchi 0:e39148d73af0 32 void notch(float duty){
takeuchi 0:e39148d73af0 33 r1_pwm.write(duty);
takeuchi 0:e39148d73af0 34 r2_pwm.write(0);
takeuchi 0:e39148d73af0 35 }
takeuchi 0:e39148d73af0 36
takeuchi 0:e39148d73af0 37 void r_notch(float duty){
takeuchi 0:e39148d73af0 38 r1_pwm.write(0);
takeuchi 0:e39148d73af0 39 r2_pwm.write(duty);
takeuchi 0:e39148d73af0 40 }
takeuchi 0:e39148d73af0 41
takeuchi 0:e39148d73af0 42 int main() {
takeuchi 0:e39148d73af0 43 int i;
takeuchi 0:e39148d73af0 44 float pduty;
takeuchi 0:e39148d73af0 45 r1_pwm.pulsewidth(0.000001);//1us=0.000001
takeuchi 0:e39148d73af0 46 r1_pwm.period(0.00001);//1ms=0.001s
takeuchi 0:e39148d73af0 47 r2_pwm.pulsewidth(0.000001);//1us=0.000001
takeuchi 0:e39148d73af0 48 r2_pwm.period(0.00001);//1ms=0.001s
takeuchi 0:e39148d73af0 49
takeuchi 0:e39148d73af0 50
takeuchi 0:e39148d73af0 51 lcd.cls();
takeuchi 0:e39148d73af0 52 lcd.locate(0,0);
takeuchi 0:e39148d73af0 53 lcd.printf("** mbed RMCS03 **");
takeuchi 0:e39148d73af0 54
takeuchi 0:e39148d73af0 55
takeuchi 0:e39148d73af0 56 while(1){
takeuchi 0:e39148d73af0 57 pduty=vr1_adc.read();
takeuchi 0:e39148d73af0 58 notch(pduty);
takeuchi 0:e39148d73af0 59 lcd.locate(0,1);
takeuchi 0:e39148d73af0 60 lcd.printf("%3f",pduty);
takeuchi 0:e39148d73af0 61 wait(1.0);
takeuchi 0:e39148d73af0 62 }//while
takeuchi 0:e39148d73af0 63
takeuchi 0:e39148d73af0 64 }//main