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

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 // mRMCS03 Vr1 control
00002 // mbed RailModelContorolSystem
00003 
00004 #include "mbed.h"
00005 #include "TextLCD0420.h"
00006 
00007 #define ON 1
00008 #define OFF 0
00009 #define XON 0
00010 #define XOFF 1
00011 
00012 DigitalOut mled1(LED1);
00013 DigitalOut mled2(LED2);
00014 DigitalOut mled3(LED3);
00015 DigitalOut mled4(LED4);
00016 AnalogIn vr1_adc(p15);
00017 AnalogIn vr2_adc(p16);
00018 DigitalIn sens1(p17);
00019 DigitalIn sens2(p18);
00020 DigitalIn sens3(p19);
00021 PwmOut r1_pwm(p22);
00022 PwmOut r2_pwm(p23);
00023 DigitalOut po10(p5);
00024 DigitalOut po11(p6);
00025 DigitalOut po20(p7);
00026 DigitalOut po21(p8);
00027 
00028 TextLCD lcd(p24, p25, p26, p27, p28, p29, p30,20,4); // rs, rw, e, d0, d1, d2, d3
00029 
00030 float pduty,pduty_slow;
00031 
00032 void notch(float duty){
00033   r1_pwm.write(duty);
00034   r2_pwm.write(0);
00035 }
00036 
00037 void r_notch(float duty){
00038   r1_pwm.write(0);
00039   r2_pwm.write(duty);
00040 }
00041 
00042 int main() {      
00043   int i;
00044   float pduty;
00045   r1_pwm.pulsewidth(0.000001);//1us=0.000001
00046   r1_pwm.period(0.00001);//1ms=0.001s
00047   r2_pwm.pulsewidth(0.000001);//1us=0.000001
00048   r2_pwm.period(0.00001);//1ms=0.001s
00049 
00050   
00051   lcd.cls();
00052   lcd.locate(0,0);
00053   lcd.printf("** mbed RMCS03 **");
00054   
00055   
00056   while(1){
00057     pduty=vr1_adc.read();
00058     notch(pduty);
00059     lcd.locate(0,1);
00060     lcd.printf("%3f",pduty);
00061     wait(1.0);
00062   }//while
00063      
00064 }//main