Gottfried Enenkel
/
HI_Temp_LM75B
HI_temp_LM75B
main.cpp@0:0e33c5501b99, 2015-06-02 (annotated)
- Committer:
- Enenkel
- Date:
- Tue Jun 02 07:50:10 2015 +0000
- Revision:
- 0:0e33c5501b99
HI_Temp_LM75B
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Enenkel | 0:0e33c5501b99 | 1 | /*********************************** |
Enenkel | 0:0e33c5501b99 | 2 | name: BERTL_2014_TEST |
Enenkel | 0:0e33c5501b99 | 3 | author: Gottfried Enenkel HTL BULME |
Enenkel | 0:0e33c5501b99 | 4 | email: ene@bulme.at |
Enenkel | 0:0e33c5501b99 | 5 | description: |
Enenkel | 0:0e33c5501b99 | 6 | meßt die Temeratur und zegt sie am PC an |
Enenkel | 0:0e33c5501b99 | 7 | |
Enenkel | 0:0e33c5501b99 | 8 | ***********************************/ |
Enenkel | 0:0e33c5501b99 | 9 | #include "mbed.h" |
Enenkel | 0:0e33c5501b99 | 10 | #include "LM75B.h" |
Enenkel | 0:0e33c5501b99 | 11 | // **************** KONSTANTE **************** |
Enenkel | 0:0e33c5501b99 | 12 | //Create an LM75B object at the default address (ADDRESS_0) |
Enenkel | 0:0e33c5501b99 | 13 | LM75B sensor(p28, p27); //i²C Sensor Leitungen |
Enenkel | 0:0e33c5501b99 | 14 | |
Enenkel | 0:0e33c5501b99 | 15 | DigitalOut pumpe(LED1); |
Enenkel | 0:0e33c5501b99 | 16 | DigitalOut Vauf(LED2); //Heizungsventil AUF |
Enenkel | 0:0e33c5501b99 | 17 | DigitalOut Vzu(LED3); //Heizungsventil ZU |
Enenkel | 0:0e33c5501b99 | 18 | float(Tsoll); //Soll Temperatur |
Enenkel | 0:0e33c5501b99 | 19 | float(Tist); |
Enenkel | 0:0e33c5501b99 | 20 | float(Tmp); // Rechenwert |
Enenkel | 0:0e33c5501b99 | 21 | |
Enenkel | 0:0e33c5501b99 | 22 | // ****************** HAUPTPROGRAMM ***************** |
Enenkel | 0:0e33c5501b99 | 23 | int main() |
Enenkel | 0:0e33c5501b99 | 24 | { |
Enenkel | 0:0e33c5501b99 | 25 | Vzu=1; // Vorlaufventil zu machen bis es wirklich zu ist! |
Enenkel | 0:0e33c5501b99 | 26 | wait (90); // 90 sec lang auf ! |
Enenkel | 0:0e33c5501b99 | 27 | Vzu = 0; |
Enenkel | 0:0e33c5501b99 | 28 | |
Enenkel | 0:0e33c5501b99 | 29 | Tsoll=30; |
Enenkel | 0:0e33c5501b99 | 30 | |
Enenkel | 0:0e33c5501b99 | 31 | //Try to open the LM75B |
Enenkel | 0:0e33c5501b99 | 32 | if (sensor.open()) { |
Enenkel | 0:0e33c5501b99 | 33 | printf("Device detected!\n\r"); |
Enenkel | 0:0e33c5501b99 | 34 | while (1) { |
Enenkel | 0:0e33c5501b99 | 35 | //Print the current temperature |
Enenkel | 0:0e33c5501b99 | 36 | printf("Temp = %.3f", (float)sensor); |
Enenkel | 0:0e33c5501b99 | 37 | printf(" Soll Temperatur = %.1f\n\r", (float)Tsoll); |
Enenkel | 0:0e33c5501b99 | 38 | //Sleep for 0.5 seconds |
Enenkel | 0:0e33c5501b99 | 39 | wait(0.5); |
Enenkel | 0:0e33c5501b99 | 40 | |
Enenkel | 0:0e33c5501b99 | 41 | //zu KALT |
Enenkel | 0:0e33c5501b99 | 42 | if ((float)sensor < Tsoll-0.2 ) { |
Enenkel | 0:0e33c5501b99 | 43 | Vauf = 1; |
Enenkel | 0:0e33c5501b99 | 44 | Vzu = 0; |
Enenkel | 0:0e33c5501b99 | 45 | } |
Enenkel | 0:0e33c5501b99 | 46 | //zu WARM |
Enenkel | 0:0e33c5501b99 | 47 | if ((float)sensor > Tsoll+0.1 ){ |
Enenkel | 0:0e33c5501b99 | 48 | Vzu = 1; |
Enenkel | 0:0e33c5501b99 | 49 | Vauf = 0; |
Enenkel | 0:0e33c5501b99 | 50 | } |
Enenkel | 0:0e33c5501b99 | 51 | } |
Enenkel | 0:0e33c5501b99 | 52 | |
Enenkel | 0:0e33c5501b99 | 53 | } |
Enenkel | 0:0e33c5501b99 | 54 | else { |
Enenkel | 0:0e33c5501b99 | 55 | error("Device not detected!\n"); |
Enenkel | 0:0e33c5501b99 | 56 | } |
Enenkel | 0:0e33c5501b99 | 57 | } |
Enenkel | 0:0e33c5501b99 | 58 | // ******************* ENDE ************************ |