Alles wat we gepland hadden zit in het programma.

Dependencies:   DS1307 EthernetInterface TextLCD WebSocketClient mbed-rtos mbed

Fork of Hoofdprogramma by Bjorn Vranken

Files at this revision

API Documentation at this revision

Comitter:
R0375604
Date:
Thu Nov 27 10:07:39 2014 +0000
Child:
1:386b4ee674e3
Commit message:
Hoofdprogramma Pieter Essers 27/11/2014

Changed in this revision

Hoofdprogramma.cpp Show annotated file Show diff for this revision Revisions of this file
TextLCD.lib Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Hoofdprogramma.cpp	Thu Nov 27 10:07:39 2014 +0000
@@ -0,0 +1,203 @@
+#include "mbed.h"
+#include "TextLCD.h"
+
+// Declaratie van de Pinnen & variabelen
+AnalogIn Temp1(p20);
+AnalogIn Temp2(p19);
+AnalogIn Temp3(p18);  
+
+DigitalIn Druk1(p11); // temp1
+DigitalIn Druk2(p12); // temp2
+DigitalIn Druk3(p13); // temp3
+DigitalIn Down(p14); // up
+DigitalIn Up(p15); // down
+
+DigtalOut Relais(p29); // pin voor de Relais
+
+PwmOut Servo(p21); // servo motor
+PwmOut R(p22); // RGB => Rood
+PwmOut G(p23); // RGB => Groen
+PwmOut B(p24); // RGB => Blauw
+PwmOut LedB(p25); // Blauwe Led als relais Uit is (Te warm)
+PwmOut LedG(p26); // Groene Led als relais Uit is (Temp GOED)
+
+TextLCD lcd(p5, p6, p7, p8, p9, p10);
+
+float InstelTemp1 = 22; // De Gewenste Temperatuur
+float InstelTemp2 = 22;
+float InstelTemp3 = 22;
+
+float temp1 = 0;
+float temp2 = 0;
+float temp3 = 0;
+
+int main()
+{
+    R.period_ms(20.0f);  // 20 msecond period
+    G.period_ms(20.0f);  // 20 msecond period
+    B.period_ms(20.0f);  // 20 msecond period
+    LedR.period_ms(20.0f);  // 20 msecond period
+    LedG.period_ms(20.0f);  // 20 msecond period
+    
+    lcd.cls(); // LCD Clearen
+    
+     while(1) 
+    {
+        float temp1 = 0;
+        float temp2 = 0;
+        float temp3 = 0;
+        
+        while(Druk1) // Gewenste Temp1 Instellen
+        {
+            lcd.locate(0,0);
+            lcd.printf("Instel Temp1 = ");
+            lcd.locate(0,1);
+            lcd.printf("%4.1f C ",InstelTemp1);  
+            if(Down)
+            {
+                InstelTemp1 += 0.5;
+                lcd.locate(0,0);
+                lcd.printf("Instel Temp1 = ");
+                lcd.locate(0,1);
+                lcd.printf("%4.1f C ",InstelTemp1);
+                wait(0.5);
+            }
+            else if(Up)
+            {
+                InstelTemp1 -= 0.5; 
+                lcd.locate(0,0);
+                lcd.printf("Instel Temp1 = ");
+                lcd.locate(0,1);
+                lcd.printf("%4.1f C ",InstelTemp1);
+                wait(0.5);          
+            }
+        }
+        lcd.cls(); // LCD Clearen
+        while(Druk2) // Gewenste Temp2 Instellen
+        {
+            lcd.locate(0,0);
+            lcd.printf("Instel Temp2 = ");
+            lcd.locate(0,1);
+            lcd.printf("%4.1f C ",InstelTemp2);            
+            if(Down)
+            {
+                InstelTemp2 += 0.5;
+                lcd.locate(0,0);
+                lcd.printf("Instel Temp2 = ");
+                lcd.locate(0,1);
+                lcd.printf("%4.1f C ",InstelTemp2);
+                wait(0.5);
+            }
+            else if(Up)
+            {
+                InstelTemp2 -= 0.5; 
+                lcd.locate(0,0);
+                lcd.printf("Instel Temp2 = ");
+                lcd.locate(0,1);
+                lcd.printf("%4.1f C ",InstelTemp2);
+                wait(0.5);          
+            }
+        }
+        lcd.cls(); // LCD Clearen
+        while(Druk3) // Gewenste Temp3 Instellen
+        {
+            lcd.locate(0,0);
+            lcd.printf("Instel Temp3 = ");
+            lcd.locate(0,1);
+            lcd.printf("%4.1f C ",InstelTemp3);  
+            if(Down)
+            {
+                InstelTemp3 += 0.5;
+                lcd.locate(0,0);
+                lcd.printf("Instel Temp3 = ");
+                lcd.locate(0,1);
+                lcd.printf("%4.1f C ",InstelTemp3);
+                wait(0.5);
+            }
+            else if(Up)
+            {
+                InstelTemp3 -= 0.5; 
+                lcd.locate(0,0);
+                lcd.printf("Instel Temp3 = ");
+                lcd.locate(0,1);
+                lcd.printf("%4.1f C ",InstelTemp3);
+                wait(0.5);           
+            }
+        }
+        lcd.cls(); // LCD Clearen
+        
+        for(int t=0; t<100; t++) // Inlezen van de Temperatuur
+        {
+            temp1 = temp1 +Temp1.read(); // Temp1 inlezen
+            temp2 = temp2 +Temp2.read(); // Temp2 inlezen
+            temp3 = temp3 +Temp3.read(); // Temp3 inlezen
+        }  
+        
+        temp1 = (temp1*3.3) - 3; // Bewerking voor de Temp in graden te bekomen.
+        temp2 *= 3.3;
+        temp3 *= 3.3;
+        
+        lcd.locate(0,0); // De ingelezen Temperatuur op de LCD zetten
+        lcd.printf("Temperatuur 1 = ");
+        lcd.locate(0,1);
+        lcd.printf("%4.1f C ",temp1); 
+        wait(2);
+        lcd.cls();
+        lcd.locate(0,0);
+        lcd.printf("Temperatuur 2 = ");
+        lcd.locate(0,1);
+        lcd.printf("%4.1f C ",temp2); 
+        wait(0.5);
+        lcd.cls();
+        lcd.locate(0,0);
+        lcd.printf("Temperatuur 3 = ");
+        lcd.locate(0,1);
+        lcd.printf("%4.1f C ",temp3); 
+        wait(0.5);
+        
+        // Relais
+        if(temp1 > InstelTemp1 + 2) // Temp is te HOOG => Blauwe led
+        {
+            Relais = 0; // Temp is te HOOG dus moet afkoelen (Niet verwarmen)
+            LedB.write(0.50f);  // 50% duty cycle  
+            LedG.write(0.00f);  // 0% duty cycle
+            
+        }
+        else if (temp1 < InstelTemp1 - 2) // Temp is te LAAG => Blauwe led
+        {
+            Relais = 1; // Temp is te LAAG Dus verwarmen
+        }
+        else // Temp is te GOED => Groene led
+         {
+            Relais = 0; // Tem is GOED dus niets doen
+            LedB.write(0.00f);  // 0% duty cycle  
+            LedG.write(0.50f);  // 50% duty cycle
+        }  
+        
+        // RGB
+        if(temp1 > InstelTemp1 + 2) // Temp is te HOOG => Blauwe led
+        {
+            R.write(0.00f);  // 0% duty cycle  
+            G.write(0.00f);  // 0% duty cycle
+            B.write(0.50f);  // 50% duty cycle
+        }
+        else if (temp1 < InstelTemp1 - 2) // Temp is te LAAG => Rode led
+        {
+            R.write(0.50f);  // 50% duty cycle  
+            G.write(0.00f);  // 0% duty cycle
+            B.write(0.00f);  // 0% duty cycle
+        }
+        else // Temp is te GOED => Groene led
+         {
+            R.write(0.00f);  // 0% duty cycle  
+            G.write(0.50f);  // 50% duty cycle
+            B.write(0.00f);  // 0% duty cycle
+        }               
+    }
+}
+        
+        
+        
+        
+    
+    
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TextLCD.lib	Thu Nov 27 10:07:39 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/simon/code/TextLCD/#308d188a2d3a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Thu Nov 27 10:07:39 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/031413cf7a89
\ No newline at end of file