Takeuchi Kouichi
/
2ck0111_RMCS03
エレキジャックweb mbed入門 mbed RMCS鉄道模型自動制御システム 課題3です。ボリューム1により列車の速度制御を行います。
Embed:
(wiki syntax)
Show/hide line numbers
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
Generated on Sat Aug 13 2022 06:38:48 by 1.7.2