Takeuchi Kouichi
/
2ak1009_I_Solar
太陽光発電システム電流計測テスト用プログラムです。 エレキジャックweb用です。
main.cpp@0:5dfc40b54291, 2010-10-10 (annotated)
- Committer:
- takeuchi
- Date:
- Sun Oct 10 11:08:29 2010 +0000
- Revision:
- 0:5dfc40b54291
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
takeuchi | 0:5dfc40b54291 | 1 | //2ak1009_Solar_VI |
takeuchi | 0:5dfc40b54291 | 2 | // for Solar charger Copyright by K.Takeuchi |
takeuchi | 0:5dfc40b54291 | 3 | |
takeuchi | 0:5dfc40b54291 | 4 | #include "mbed.h" |
takeuchi | 0:5dfc40b54291 | 5 | #include "TextLCD2004.h" |
takeuchi | 0:5dfc40b54291 | 6 | |
takeuchi | 0:5dfc40b54291 | 7 | #define ON 1 |
takeuchi | 0:5dfc40b54291 | 8 | #define OFF 0 |
takeuchi | 0:5dfc40b54291 | 9 | |
takeuchi | 0:5dfc40b54291 | 10 | AnalogIn Vbat_adc(p20); |
takeuchi | 0:5dfc40b54291 | 11 | AnalogIn Vsolar_adc(p19); |
takeuchi | 0:5dfc40b54291 | 12 | AnalogIn Isolar_adc(p18); |
takeuchi | 0:5dfc40b54291 | 13 | |
takeuchi | 0:5dfc40b54291 | 14 | TextLCD lcd(p24, p25, p26, p27, p28, p29, p30,20,4); // rs, rw, e, d0, d1, d2, d3 |
takeuchi | 0:5dfc40b54291 | 15 | LocalFileSystem local("local"); |
takeuchi | 0:5dfc40b54291 | 16 | |
takeuchi | 0:5dfc40b54291 | 17 | int main() { |
takeuchi | 0:5dfc40b54291 | 18 | float Vbat,Vsolar,Isolar; |
takeuchi | 0:5dfc40b54291 | 19 | lcd.cls(); |
takeuchi | 0:5dfc40b54291 | 20 | lcd.locate(0,0); |
takeuchi | 0:5dfc40b54291 | 21 | lcd.printf("=Solar MPPT Sys.="); |
takeuchi | 0:5dfc40b54291 | 22 | lcd.locate(0,1); |
takeuchi | 0:5dfc40b54291 | 23 | lcd.printf("System start!!"); |
takeuchi | 0:5dfc40b54291 | 24 | wait(2.0); |
takeuchi | 0:5dfc40b54291 | 25 | |
takeuchi | 0:5dfc40b54291 | 26 | while(1){ |
takeuchi | 0:5dfc40b54291 | 27 | Vbat=Vbat_adc.read()*30; |
takeuchi | 0:5dfc40b54291 | 28 | Vsolar=Vsolar_adc.read()*30; |
takeuchi | 0:5dfc40b54291 | 29 | Isolar=(Isolar_adc.read()*3.3-2.5)/185*1000; |
takeuchi | 0:5dfc40b54291 | 30 | lcd.cls(); |
takeuchi | 0:5dfc40b54291 | 31 | lcd.locate(0,0); |
takeuchi | 0:5dfc40b54291 | 32 | lcd.printf("=Solar MPPT Sys.="); |
takeuchi | 0:5dfc40b54291 | 33 | lcd.locate(0,1); |
takeuchi | 0:5dfc40b54291 | 34 | lcd.printf("Sp V:%2.1fV,I:%1.2fA",Vsolar,Isolar); |
takeuchi | 0:5dfc40b54291 | 35 | lcd.locate(0,2); |
takeuchi | 0:5dfc40b54291 | 36 | lcd.printf("Vbat:%2.1fV",Vbat); |
takeuchi | 0:5dfc40b54291 | 37 | lcd.locate(0,3); |
takeuchi | 0:5dfc40b54291 | 38 | lcd.printf("W:%2.2fW",Vsolar*Isolar); |
takeuchi | 0:5dfc40b54291 | 39 | wait(0.5); |
takeuchi | 0:5dfc40b54291 | 40 | lcd.locate(0,0); |
takeuchi | 0:5dfc40b54291 | 41 | lcd.printf("=Solar MPPT Sys ="); |
takeuchi | 0:5dfc40b54291 | 42 | wait(0.5); |
takeuchi | 0:5dfc40b54291 | 43 | }//while |
takeuchi | 0:5dfc40b54291 | 44 | }//main |
takeuchi | 0:5dfc40b54291 | 45 | |
takeuchi | 0:5dfc40b54291 | 46 |