
鉄道模型用PWM制御簡易コントローラです。
main.cpp@1:a8aceb43c7bf, 2010-09-02 (annotated)
- Committer:
- takeuchi
- Date:
- Thu Sep 02 00:42:30 2010 +0000
- Revision:
- 1:a8aceb43c7bf
- Parent:
- 0:40e67238a337
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
takeuchi | 0:40e67238a337 | 1 | // PWM1 |
takeuchi | 0:40e67238a337 | 2 | #include "mbed.h" |
takeuchi | 0:40e67238a337 | 3 | #include "TextLCD.h" |
takeuchi | 0:40e67238a337 | 4 | |
takeuchi | 0:40e67238a337 | 5 | #define ON 1 |
takeuchi | 0:40e67238a337 | 6 | #define OFF 0 |
takeuchi | 0:40e67238a337 | 7 | |
takeuchi | 0:40e67238a337 | 8 | DigitalOut mled1(LED1); |
takeuchi | 0:40e67238a337 | 9 | DigitalOut mled2(LED2); |
takeuchi | 0:40e67238a337 | 10 | DigitalOut mled3(LED3); |
takeuchi | 0:40e67238a337 | 11 | DigitalOut mled4(LED4); |
takeuchi | 0:40e67238a337 | 12 | AnalogIn vin_adc(p20); |
takeuchi | 0:40e67238a337 | 13 | AnalogIn vr_adc(p19); |
takeuchi | 1:a8aceb43c7bf | 14 | PwmOut rout_pwm(p21); |
takeuchi | 0:40e67238a337 | 15 | |
takeuchi | 0:40e67238a337 | 16 | TextLCD lcd(p24, p25, p26, p27, p28, p29, p30,16,2); // rs, rw, e, d0, d1, d2, d3 |
takeuchi | 0:40e67238a337 | 17 | float adc_volt; |
takeuchi | 0:40e67238a337 | 18 | |
takeuchi | 0:40e67238a337 | 19 | int main() { |
takeuchi | 0:40e67238a337 | 20 | float vr_data; |
takeuchi | 1:a8aceb43c7bf | 21 | rout_pwm.pulsewidth_us(10); |
takeuchi | 1:a8aceb43c7bf | 22 | rout_pwm.period_ms(1); |
takeuchi | 1:a8aceb43c7bf | 23 | rout_pwm.write(0.0); |
takeuchi | 0:40e67238a337 | 24 | while(1){ |
takeuchi | 0:40e67238a337 | 25 | vr_data=vr_adc.read(); |
takeuchi | 0:40e67238a337 | 26 | lcd.cls(); |
takeuchi | 0:40e67238a337 | 27 | lcd.locate(0,0); |
takeuchi | 0:40e67238a337 | 28 | lcd.printf("Vin:%2.1fV",vin_adc.read()*15); |
takeuchi | 0:40e67238a337 | 29 | lcd.locate(0,1); |
takeuchi | 0:40e67238a337 | 30 | lcd.printf("Dt:%2.0f%%",vr_data*100); |
takeuchi | 1:a8aceb43c7bf | 31 | rout_pwm.write(vr_data); |
takeuchi | 0:40e67238a337 | 32 | mled1=ON; |
takeuchi | 0:40e67238a337 | 33 | wait(vr_data); |
takeuchi | 0:40e67238a337 | 34 | mled1=OFF; |
takeuchi | 0:40e67238a337 | 35 | wait(vr_data); |
takeuchi | 0:40e67238a337 | 36 | }//while |
takeuchi | 0:40e67238a337 | 37 | }//main |