Jonathan Caes / InetTest-8d87bc453349

Dependencies:   DS1307 TextLCD mbed

Committer:
JonathanCaes
Date:
Thu Dec 18 10:34:38 2014 +0000
Revision:
0:a16f60a71395
Child:
1:5bbaacf8733d
Project C mbed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JonathanCaes 0:a16f60a71395 1 //library's
JonathanCaes 0:a16f60a71395 2 #include "mbed.h"
JonathanCaes 0:a16f60a71395 3 #include "TextLCD.h"
JonathanCaes 0:a16f60a71395 4 #include "ds1307.h"
JonathanCaes 0:a16f60a71395 5 #include "EthernetNetIf.h"
JonathanCaes 0:a16f60a71395 6 //#include "HTTPClient.h"
JonathanCaes 0:a16f60a71395 7 //#include "NTPClient.h"
JonathanCaes 0:a16f60a71395 8 #include "HTTPServer.h"
JonathanCaes 0:a16f60a71395 9 #include "RPCFunction.h"
JonathanCaes 0:a16f60a71395 10 //Pin initialisatie
JonathanCaes 0:a16f60a71395 11 AnalogIn binnen(p19);//pin 19:Analog In
JonathanCaes 0:a16f60a71395 12 AnalogIn buiten(p20);//pin 20:Analog In
JonathanCaes 0:a16f60a71395 13 TextLCD lcd(p15, p16, p21, p22, p23, p24); //rs, e, d4-d7
JonathanCaes 0:a16f60a71395 14 InterruptIn knopUP(p6);//pin6:Interrupt
JonathanCaes 0:a16f60a71395 15 InterruptIn knopDOWN(p5);//pin5:Interrupt
JonathanCaes 0:a16f60a71395 16 InterruptIn knopINSTEL(p7);//pin7:Interrupt
JonathanCaes 0:a16f60a71395 17 InterruptIn knopBACK(p8);//pin8:Interrupt
JonathanCaes 0:a16f60a71395 18 DS1307 my1307(p9, p10);//pin9:sda I2C
JonathanCaes 0:a16f60a71395 19 DigitalOut relais(p30);//pin10:scl I2C
JonathanCaes 0:a16f60a71395 20 DigitalOut RGBblauw(p29);//pin29:digital out
JonathanCaes 0:a16f60a71395 21 DigitalOut RGBgroen(p28);//pin28:digital out
JonathanCaes 0:a16f60a71395 22 DigitalOut RGBrood(p27);//pin27:digital out
JonathanCaes 0:a16f60a71395 23 PwmOut Servo(p25);//p25:pwm out
JonathanCaes 0:a16f60a71395 24 Serial pc(USBTX,USBRX);//serial port:USB
JonathanCaes 0:a16f60a71395 25 /* HTTP Instellingen */
JonathanCaes 0:a16f60a71395 26 EthernetNetIf eth( //We gaan de functie van ethernet opendoen om hierin de gewenste adressen in te kunnen gaan voegen.
JonathanCaes 0:a16f60a71395 27 IpAddr(192,168,1,2), //Ip adres toedienen waarop de MBED verbonden word.
JonathanCaes 0:a16f60a71395 28 IpAddr(255,255,255,0), //Subnetmasker voor de MBED.
JonathanCaes 0:a16f60a71395 29 IpAddr(192,168,1,1), //Het IP adres waarop we gaan schrijven.
JonathanCaes 0:a16f60a71395 30 IpAddr(192,168,1,1)); //Het IP adres waarvan we gaan lezen.
JonathanCaes 0:a16f60a71395 31 HTTPServer svr; // Opstarten van de HTTP server met de bovenliggende eigenschappen.
JonathanCaes 0:a16f60a71395 32 /* END HTTP */
JonathanCaes 0:a16f60a71395 33 //variabelen
JonathanCaes 0:a16f60a71395 34 float i = 0;//waarde om binnentempertauur in te steken
JonathanCaes 0:a16f60a71395 35 float j = 0;//waarde om buitentemperatuur in te steken
JonathanCaes 0:a16f60a71395 36 int reftemp = 20;//referentietemperatuur
JonathanCaes 0:a16f60a71395 37 int load=0;//load program
JonathanCaes 0:a16f60a71395 38 int tellertijd =0;//uit tijdsuitlezing te geraken
JonathanCaes 0:a16f60a71395 39 int c=0;
JonathanCaes 0:a16f60a71395 40 //variabelen RTC
JonathanCaes 0:a16f60a71395 41 int sec;
JonathanCaes 0:a16f60a71395 42 int minu;
JonathanCaes 0:a16f60a71395 43 int hours;
JonathanCaes 0:a16f60a71395 44 int day;
JonathanCaes 0:a16f60a71395 45 int date;
JonathanCaes 0:a16f60a71395 46 int month;
JonathanCaes 0:a16f60a71395 47 int year;
JonathanCaes 0:a16f60a71395 48 //RTC read routine
JonathanCaes 0:a16f60a71395 49 void test_rw(int test) {
JonathanCaes 0:a16f60a71395 50 }
JonathanCaes 0:a16f60a71395 51 //interruptroutine: referentietemp instellen
JonathanCaes 0:a16f60a71395 52 void instellen()
JonathanCaes 0:a16f60a71395 53 {
JonathanCaes 0:a16f60a71395 54 knopDOWN.rise(NULL);
JonathanCaes 0:a16f60a71395 55 knopUP.rise(NULL);//interrupt disable
JonathanCaes 0:a16f60a71395 56 wait(0.5);
JonathanCaes 0:a16f60a71395 57 while(knopINSTEL == 0)
JonathanCaes 0:a16f60a71395 58 {
JonathanCaes 0:a16f60a71395 59 lcd.locate(0,0);
JonathanCaes 0:a16f60a71395 60 lcd.printf(" Instellen Temp");
JonathanCaes 0:a16f60a71395 61 lcd.locate(0,1);
JonathanCaes 0:a16f60a71395 62 lcd.printf(" Temp = %iC", reftemp);//Printen ingestelde referentietemp
JonathanCaes 0:a16f60a71395 63 if(knopUP == 1)//knopUP bediend --> reftemp +1
JonathanCaes 0:a16f60a71395 64 {
JonathanCaes 0:a16f60a71395 65 reftemp++;
JonathanCaes 0:a16f60a71395 66 wait(0.4);
JonathanCaes 0:a16f60a71395 67 }
JonathanCaes 0:a16f60a71395 68 if(knopDOWN == 1)//knopDOWN bediend --> reftemp -1
JonathanCaes 0:a16f60a71395 69 {
JonathanCaes 0:a16f60a71395 70 reftemp--;
JonathanCaes 0:a16f60a71395 71 wait(0.4);
JonathanCaes 0:a16f60a71395 72 }
JonathanCaes 0:a16f60a71395 73 if (reftemp == 33)//hysteresis reftemp
JonathanCaes 0:a16f60a71395 74 {
JonathanCaes 0:a16f60a71395 75 reftemp = 15;
JonathanCaes 0:a16f60a71395 76 }
JonathanCaes 0:a16f60a71395 77 if (reftemp == 14)//hysteresis reftemp
JonathanCaes 0:a16f60a71395 78 {
JonathanCaes 0:a16f60a71395 79 reftemp = 32;
JonathanCaes 0:a16f60a71395 80 }
JonathanCaes 0:a16f60a71395 81 }
JonathanCaes 0:a16f60a71395 82 }
JonathanCaes 0:a16f60a71395 83 //interruptroutine: tijdsweergave
JonathanCaes 0:a16f60a71395 84 void back()
JonathanCaes 0:a16f60a71395 85 {
JonathanCaes 0:a16f60a71395 86 wait(0.3);
JonathanCaes 0:a16f60a71395 87 tellertijd=0;//dit is een hulp, zodat de tijdsweergave na een bepaalde teruggaat naar het basisscherm
JonathanCaes 0:a16f60a71395 88 lcd.cls();//LCD clead
JonathanCaes 0:a16f60a71395 89 knopBACK.rise(NULL);
JonathanCaes 0:a16f60a71395 90 knopUP.rise(NULL);//disable interrupt
JonathanCaes 0:a16f60a71395 91 while(tellertijd < 50)//doorolopen wanneer knopBack NIET is ingedrukt,bij bediening uit routine
JonathanCaes 0:a16f60a71395 92 {
JonathanCaes 0:a16f60a71395 93 test_rw(my1307.gettime( &sec, &minu, &hours, &day, &date, &month, &year));//uitlezen tijd RTC
JonathanCaes 0:a16f60a71395 94 //Dag uitschrijven op lcd
JonathanCaes 0:a16f60a71395 95 if(day == 1)
JonathanCaes 0:a16f60a71395 96 {lcd.locate(3,1);
JonathanCaes 0:a16f60a71395 97 lcd.printf("Ma");}
JonathanCaes 0:a16f60a71395 98 if(day == 2)
JonathanCaes 0:a16f60a71395 99 {lcd.locate(3,1);
JonathanCaes 0:a16f60a71395 100 lcd.printf("Di");}
JonathanCaes 0:a16f60a71395 101 if(day == 3)
JonathanCaes 0:a16f60a71395 102 {lcd.locate(3,1);
JonathanCaes 0:a16f60a71395 103 lcd.printf("Wo");}
JonathanCaes 0:a16f60a71395 104 if(day == 4)
JonathanCaes 0:a16f60a71395 105 {lcd.locate(3,1);
JonathanCaes 0:a16f60a71395 106 lcd.printf("Do");}
JonathanCaes 0:a16f60a71395 107 if(day == 5)
JonathanCaes 0:a16f60a71395 108 {lcd.locate(3,1);
JonathanCaes 0:a16f60a71395 109 lcd.printf("Vr");}
JonathanCaes 0:a16f60a71395 110 if(day == 6)
JonathanCaes 0:a16f60a71395 111 {lcd.locate(3,1);
JonathanCaes 0:a16f60a71395 112 lcd.printf("Za");}
JonathanCaes 0:a16f60a71395 113 if(day == 7)
JonathanCaes 0:a16f60a71395 114 {lcd.locate(3,1);
JonathanCaes 0:a16f60a71395 115 lcd.printf("Zo");}
JonathanCaes 0:a16f60a71395 116 test_rw(my1307.gettime( &sec, &minu, &hours, &day, &date, &month, &year));//uitlezen tijd RTC
JonathanCaes 0:a16f60a71395 117 //Uur min sec //Dag datum maand jaar
JonathanCaes 0:a16f60a71395 118 if(sec >= 9 && minu >= 9 && hours >= 9)
JonathanCaes 0:a16f60a71395 119 {
JonathanCaes 0:a16f60a71395 120 lcd.locate(4,0);
JonathanCaes 0:a16f60a71395 121 lcd.printf("%d:%d:%d",hours,minu,sec);
JonathanCaes 0:a16f60a71395 122 lcd.locate(6,1);
JonathanCaes 0:a16f60a71395 123 lcd.printf("%d/%d/%d",date,month,year);
JonathanCaes 0:a16f60a71395 124 }
JonathanCaes 0:a16f60a71395 125 if(sec <= 9 && minu >= 9 && hours >= 9)
JonathanCaes 0:a16f60a71395 126 {
JonathanCaes 0:a16f60a71395 127 lcd.locate(4,0);
JonathanCaes 0:a16f60a71395 128 lcd.printf("%d:%d:0%d",hours,minu,sec);
JonathanCaes 0:a16f60a71395 129 lcd.locate(6,1);
JonathanCaes 0:a16f60a71395 130 lcd.printf("%d/%d/%d",date,month,year);
JonathanCaes 0:a16f60a71395 131 }
JonathanCaes 0:a16f60a71395 132 if(sec >= 9 && minu <= 9 && hours >= 9)
JonathanCaes 0:a16f60a71395 133 {
JonathanCaes 0:a16f60a71395 134 lcd.locate(4,0);
JonathanCaes 0:a16f60a71395 135 lcd.printf("%d:0%d:%d",hours,minu,sec);
JonathanCaes 0:a16f60a71395 136 lcd.locate(6,1);
JonathanCaes 0:a16f60a71395 137 lcd.printf("%d/%d/%d",date,month,year);
JonathanCaes 0:a16f60a71395 138 }
JonathanCaes 0:a16f60a71395 139 if(sec >= 9 && minu >= 9 && hours <= 9)
JonathanCaes 0:a16f60a71395 140 {
JonathanCaes 0:a16f60a71395 141 lcd.locate(4,0);
JonathanCaes 0:a16f60a71395 142 lcd.printf("0%d:%d:%d",hours,minu,sec);
JonathanCaes 0:a16f60a71395 143 lcd.locate(6,1);
JonathanCaes 0:a16f60a71395 144 lcd.printf("%d/%d/%d",date,month,year);
JonathanCaes 0:a16f60a71395 145 }
JonathanCaes 0:a16f60a71395 146 if(sec <= 9 && minu <= 9 && hours >= 9)
JonathanCaes 0:a16f60a71395 147 {
JonathanCaes 0:a16f60a71395 148 lcd.locate(4,0);
JonathanCaes 0:a16f60a71395 149 lcd.printf("%d:0%d:0%d",hours,minu,sec);
JonathanCaes 0:a16f60a71395 150 lcd.locate(6,1);
JonathanCaes 0:a16f60a71395 151 lcd.printf("%d/%d/%d",date,month,year);
JonathanCaes 0:a16f60a71395 152 }
JonathanCaes 0:a16f60a71395 153 if(sec <= 9 && minu >= 9 && hours <= 9)
JonathanCaes 0:a16f60a71395 154 {
JonathanCaes 0:a16f60a71395 155 lcd.locate(4,0);
JonathanCaes 0:a16f60a71395 156 lcd.printf("0%d:%d:0%d",hours,minu,sec);
JonathanCaes 0:a16f60a71395 157 lcd.locate(6,1);
JonathanCaes 0:a16f60a71395 158 lcd.printf("%d/%d/%d",date,month,year);
JonathanCaes 0:a16f60a71395 159 }
JonathanCaes 0:a16f60a71395 160 if(sec >= 9 && minu <= 9 && hours <= 9)
JonathanCaes 0:a16f60a71395 161 {
JonathanCaes 0:a16f60a71395 162 lcd.locate(4,0);
JonathanCaes 0:a16f60a71395 163 lcd.printf("0%d:0%d:%d",hours,minu,sec);
JonathanCaes 0:a16f60a71395 164 lcd.locate(6,1);
JonathanCaes 0:a16f60a71395 165 lcd.printf("%d/%d/%d",date,month,year);
JonathanCaes 0:a16f60a71395 166 }
JonathanCaes 0:a16f60a71395 167 if(sec <= 9 && minu <= 9 && hours <= 9)
JonathanCaes 0:a16f60a71395 168 {
JonathanCaes 0:a16f60a71395 169 lcd.locate(4,0);
JonathanCaes 0:a16f60a71395 170 lcd.printf("0%d:0%d:0%d",hours,minu,sec);
JonathanCaes 0:a16f60a71395 171 lcd.locate(6,1);
JonathanCaes 0:a16f60a71395 172 lcd.printf("%d/%d/%d",date,month,year);
JonathanCaes 0:a16f60a71395 173 }
JonathanCaes 0:a16f60a71395 174 wait(0.2);
JonathanCaes 0:a16f60a71395 175 tellertijd++;
JonathanCaes 0:a16f60a71395 176 }
JonathanCaes 0:a16f60a71395 177 }
JonathanCaes 0:a16f60a71395 178 //interruptroutine: start programma
JonathanCaes 0:a16f60a71395 179 void start()
JonathanCaes 0:a16f60a71395 180 {
JonathanCaes 0:a16f60a71395 181 knopINSTEL.rise(NULL);
JonathanCaes 0:a16f60a71395 182 knopBACK.rise(NULL);
JonathanCaes 0:a16f60a71395 183 knopDOWN.rise(NULL);
JonathanCaes 0:a16f60a71395 184 knopUP.rise(NULL);//disable interrupt
JonathanCaes 0:a16f60a71395 185 lcd.cls();//LCD clear
JonathanCaes 0:a16f60a71395 186 /*OPSTART ROUTINE START*/
JonathanCaes 0:a16f60a71395 187 lcd.locate(0,0);
JonathanCaes 0:a16f60a71395 188 lcd.printf("SYSTEM START");
JonathanCaes 0:a16f60a71395 189 lcd.locate(0,1);
JonathanCaes 0:a16f60a71395 190 lcd.printf("LOAD PROGRAM");
JonathanCaes 0:a16f60a71395 191 wait(2);
JonathanCaes 0:a16f60a71395 192 lcd.cls();
JonathanCaes 0:a16f60a71395 193 lcd.locate(0,0);
JonathanCaes 0:a16f60a71395 194 lcd.printf("SYSTEM START");
JonathanCaes 0:a16f60a71395 195 lcd.locate(0,1);
JonathanCaes 0:a16f60a71395 196 lcd.printf("LOAD: %d",load);
JonathanCaes 0:a16f60a71395 197 for(int l=0;l<=40;l++)
JonathanCaes 0:a16f60a71395 198 {
JonathanCaes 0:a16f60a71395 199 load = l;
JonathanCaes 0:a16f60a71395 200 lcd.locate(0,1);
JonathanCaes 0:a16f60a71395 201 lcd.printf("LOAD: %d",load);
JonathanCaes 0:a16f60a71395 202 wait(0.1);
JonathanCaes 0:a16f60a71395 203 }
JonathanCaes 0:a16f60a71395 204 wait(1);
JonathanCaes 0:a16f60a71395 205 for(int l=40;l<=70;l++)
JonathanCaes 0:a16f60a71395 206 {
JonathanCaes 0:a16f60a71395 207 load = l;
JonathanCaes 0:a16f60a71395 208 lcd.locate(0,1);
JonathanCaes 0:a16f60a71395 209 lcd.printf("LOAD: %d",load);
JonathanCaes 0:a16f60a71395 210 wait(0.2);
JonathanCaes 0:a16f60a71395 211 }
JonathanCaes 0:a16f60a71395 212 wait(1);
JonathanCaes 0:a16f60a71395 213 for(int l=70;l<=100;l++)
JonathanCaes 0:a16f60a71395 214 {
JonathanCaes 0:a16f60a71395 215 load = l;
JonathanCaes 0:a16f60a71395 216 lcd.locate(0,1);
JonathanCaes 0:a16f60a71395 217 lcd.printf("LOAD: %d",load);
JonathanCaes 0:a16f60a71395 218 wait(0.2);
JonathanCaes 0:a16f60a71395 219 }
JonathanCaes 0:a16f60a71395 220 wait(1);
JonathanCaes 0:a16f60a71395 221 lcd.cls();
JonathanCaes 0:a16f60a71395 222 lcd.locate(0,0);
JonathanCaes 0:a16f60a71395 223 lcd.printf("SYSTEM START");
JonathanCaes 0:a16f60a71395 224 lcd.locate(0,1);
JonathanCaes 0:a16f60a71395 225 lcd.printf("PROGRAM START");
JonathanCaes 0:a16f60a71395 226 wait(3);
JonathanCaes 0:a16f60a71395 227 /*OPSTARTROUTINE END*/
JonathanCaes 0:a16f60a71395 228 }
JonathanCaes 0:a16f60a71395 229 //interruptroutine: programma stoppen
JonathanCaes 0:a16f60a71395 230 void afsluiten()
JonathanCaes 0:a16f60a71395 231 {
JonathanCaes 0:a16f60a71395 232 knopUP.rise(&start);//interrupt koppelen met routine
JonathanCaes 0:a16f60a71395 233 knopINSTEL.rise(NULL);
JonathanCaes 0:a16f60a71395 234 knopBACK.rise(NULL);
JonathanCaes 0:a16f60a71395 235 knopDOWN.rise(NULL);//disabel interrupt
JonathanCaes 0:a16f60a71395 236 lcd.cls();//lcd clear
JonathanCaes 0:a16f60a71395 237 /*AFSLUITROUTINE START*/
JonathanCaes 0:a16f60a71395 238 lcd.locate(0,0);
JonathanCaes 0:a16f60a71395 239 lcd.printf("SYSTEM SHUTDOWN");
JonathanCaes 0:a16f60a71395 240 wait(2);
JonathanCaes 0:a16f60a71395 241 relais = 0;//relais uit
JonathanCaes 0:a16f60a71395 242 RGBrood = 0;
JonathanCaes 0:a16f60a71395 243 RGBgroen = 0;
JonathanCaes 0:a16f60a71395 244 RGBblauw = 0; //RGB uit
JonathanCaes 0:a16f60a71395 245 while(knopUP == 0)
JonathanCaes 0:a16f60a71395 246 {
JonathanCaes 0:a16f60a71395 247 lcd.cls();
JonathanCaes 0:a16f60a71395 248 lcd.locate(0,0);
JonathanCaes 0:a16f60a71395 249 lcd.printf("SYSTEM OFF");
JonathanCaes 0:a16f60a71395 250 wait(0.2);
JonathanCaes 0:a16f60a71395 251 }
JonathanCaes 0:a16f60a71395 252 /*AFSLUITROUTINE END*/
JonathanCaes 0:a16f60a71395 253 }
JonathanCaes 0:a16f60a71395 254 /*MAIN PROGRAM*/
JonathanCaes 0:a16f60a71395 255 int main()
JonathanCaes 0:a16f60a71395 256 {
JonathanCaes 0:a16f60a71395 257
JonathanCaes 0:a16f60a71395 258 wait(1);
JonathanCaes 0:a16f60a71395 259 while(1)
JonathanCaes 0:a16f60a71395 260 { EthernetErr ethErr;
JonathanCaes 0:a16f60a71395 261 int count = 0;
JonathanCaes 0:a16f60a71395 262 do {
JonathanCaes 0:a16f60a71395 263 printf("Setting up %d...\n\r", ++count);
JonathanCaes 0:a16f60a71395 264 ethErr = eth.setup();
JonathanCaes 0:a16f60a71395 265 if (ethErr) printf("Timeout\n\r", ethErr);
JonathanCaes 0:a16f60a71395 266 } while (ethErr != ETH_OK);
JonathanCaes 0:a16f60a71395 267
JonathanCaes 0:a16f60a71395 268 printf("Connected OK\n\r");
JonathanCaes 0:a16f60a71395 269 const char* hwAddr = eth.getHwAddr();
JonathanCaes 0:a16f60a71395 270
JonathanCaes 0:a16f60a71395 271 IpAddr ethIp = eth.getIp();
JonathanCaes 0:a16f60a71395 272 printf("IP address : %d.%d.%d.%d\n\r", ethIp[0], ethIp[1], ethIp[2], ethIp[3]);
JonathanCaes 0:a16f60a71395 273
JonathanCaes 0:a16f60a71395 274 LocalFileSystem fs("webfs");
JonathanCaes 0:a16f60a71395 275
JonathanCaes 0:a16f60a71395 276 svr.addHandler<SimpleHandler>("/hello");
JonathanCaes 0:a16f60a71395 277 svr.addHandler<FSHandler>("");
JonathanCaes 0:a16f60a71395 278
JonathanCaes 0:a16f60a71395 279 svr.bind(80);
JonathanCaes 0:a16f60a71395 280 printf("Server listening\n\r");
JonathanCaes 0:a16f60a71395 281 knopINSTEL.rise(&instellen);
JonathanCaes 0:a16f60a71395 282 knopBACK.rise(&back);
JonathanCaes 0:a16f60a71395 283 knopDOWN.rise(&afsluiten);//interrupts koppelen met routines(bovenaan gedeclareerd)
JonathanCaes 0:a16f60a71395 284 i=0;
JonathanCaes 0:a16f60a71395 285 j=0;//variabele temperatuurwaardes 0 zetten
JonathanCaes 0:a16f60a71395 286 for(int a=0;a<5;a++)
JonathanCaes 0:a16f60a71395 287 {
JonathanCaes 0:a16f60a71395 288 for(int t=0;t<100;t++)
JonathanCaes 0:a16f60a71395 289 {
JonathanCaes 0:a16f60a71395 290 i=i+binnen.read(); //uitlezen temp
JonathanCaes 0:a16f60a71395 291 }
JonathanCaes 0:a16f60a71395 292 for(int k=0;k<100;k++)
JonathanCaes 0:a16f60a71395 293 {
JonathanCaes 0:a16f60a71395 294 j=j+buiten.read(); //uitlezen temp
JonathanCaes 0:a16f60a71395 295 }
JonathanCaes 0:a16f60a71395 296 wait(0.1);
JonathanCaes 0:a16f60a71395 297 }
JonathanCaes 0:a16f60a71395 298 i = (i*3.3)/5;
JonathanCaes 0:a16f60a71395 299 j = (j*3.3)/5;//berekening juiste temperatuur: Waarde*3.3V/5(for lus van 5)
JonathanCaes 0:a16f60a71395 300 lcd.cls();//lcd clear
JonathanCaes 0:a16f60a71395 301 lcd.locate(0,0);
JonathanCaes 0:a16f60a71395 302 lcd.printf("Binnen:%4.1fC", i);
JonathanCaes 0:a16f60a71395 303 lcd.locate(0,1);
JonathanCaes 0:a16f60a71395 304 lcd.printf("Buiten:%4.1fC", j);//LCD print temperaturen
JonathanCaes 0:a16f60a71395 305 wait(1);
JonathanCaes 0:a16f60a71395 306 pc.printf("\n\n\rTemperatuur binnen: %4.1f C",i);
JonathanCaes 0:a16f60a71395 307 pc.printf("\n\n\rTemperatuur buiten: %4.1f C",j);
JonathanCaes 0:a16f60a71395 308 pc.printf("\n\n\r------------------------------------------");//PC print temperaturen
JonathanCaes 0:a16f60a71395 309 wait(0.5);
JonathanCaes 0:a16f60a71395 310 if(i > (reftemp + 2) && i <= (reftemp +4))//Temperatuur te HOOG: reftemp >2 en reftemp <=4
JonathanCaes 0:a16f60a71395 311 {
JonathanCaes 0:a16f60a71395 312 wait(2);
JonathanCaes 0:a16f60a71395 313 relais = 1;//relais aan
JonathanCaes 0:a16f60a71395 314 RGBrood = 1;
JonathanCaes 0:a16f60a71395 315 RGBgroen = 1;
JonathanCaes 0:a16f60a71395 316 RGBblauw = 0;//rgb rood + groen = oranje
JonathanCaes 0:a16f60a71395 317 wait(1);
JonathanCaes 0:a16f60a71395 318 Servo.period_ms(20);//servo pwm periode
JonathanCaes 0:a16f60a71395 319 Servo = (130 * 0.000511 + 0.026); // rechts-half servo
JonathanCaes 0:a16f60a71395 320 }
JonathanCaes 0:a16f60a71395 321 else if(i > (reftemp + 3.5))//Temperatuur te HOOG: reftemp > 3.5 (hysteresis ingebouwd)
JonathanCaes 0:a16f60a71395 322 {
JonathanCaes 0:a16f60a71395 323 wait(2);
JonathanCaes 0:a16f60a71395 324 relais = 1;//relais aan
JonathanCaes 0:a16f60a71395 325 RGBrood = 1;
JonathanCaes 0:a16f60a71395 326 RGBgroen = 0;
JonathanCaes 0:a16f60a71395 327 RGBblauw = 0;//rgb rood
JonathanCaes 0:a16f60a71395 328 wait(1);
JonathanCaes 0:a16f60a71395 329 Servo.period_ms(20);//servo pwm periode
JonathanCaes 0:a16f60a71395 330 Servo = (160 * 0.000511 + 0.026); // rechts servo
JonathanCaes 0:a16f60a71395 331 }
JonathanCaes 0:a16f60a71395 332 else if(i < (reftemp - 2) && i >= (reftemp -4))//Temperatuur te LAAG: reftemp>2 & reftemp <4
JonathanCaes 0:a16f60a71395 333 {
JonathanCaes 0:a16f60a71395 334 wait(2);
JonathanCaes 0:a16f60a71395 335 relais = 0;//relais uit
JonathanCaes 0:a16f60a71395 336 RGBrood = 1;
JonathanCaes 0:a16f60a71395 337 RGBgroen = 0;
JonathanCaes 0:a16f60a71395 338 RGBblauw = 1;//rgb rood + blauw= paars
JonathanCaes 0:a16f60a71395 339 wait(1);
JonathanCaes 0:a16f60a71395 340 Servo.period_ms(20);//servo pwm periode
JonathanCaes 0:a16f60a71395 341 Servo = (55 * 0.000511 + 0.026); // links-half servo
JonathanCaes 0:a16f60a71395 342 }
JonathanCaes 0:a16f60a71395 343 else if(i < (reftemp - 3.5))//Temperatuur te LAAG: reftemp>4
JonathanCaes 0:a16f60a71395 344 {
JonathanCaes 0:a16f60a71395 345 wait(2);
JonathanCaes 0:a16f60a71395 346 relais = 0;//relais uit
JonathanCaes 0:a16f60a71395 347 RGBrood = 0;
JonathanCaes 0:a16f60a71395 348 RGBgroen = 0;
JonathanCaes 0:a16f60a71395 349 RGBblauw = 1;//rgb blauw
JonathanCaes 0:a16f60a71395 350 wait(1);
JonathanCaes 0:a16f60a71395 351 Servo.period_ms(20);//servo pwm period
JonathanCaes 0:a16f60a71395 352 Servo = (5 * 0.000511 + 0.026); // links servo
JonathanCaes 0:a16f60a71395 353 }
JonathanCaes 0:a16f60a71395 354 else//Temperatuur OKE: reftemp binnen hysteresis +2 & -2
JonathanCaes 0:a16f60a71395 355 {
JonathanCaes 0:a16f60a71395 356 wait(1);
JonathanCaes 0:a16f60a71395 357 relais = 0;
JonathanCaes 0:a16f60a71395 358 RGBrood = 0;
JonathanCaes 0:a16f60a71395 359 RGBgroen = 1;
JonathanCaes 0:a16f60a71395 360 RGBblauw = 0;//rgb groen
JonathanCaes 0:a16f60a71395 361 wait(1);
JonathanCaes 0:a16f60a71395 362 Servo.period_ms(20);//servo pwm period
JonathanCaes 0:a16f60a71395 363 Servo = (90 * 0.000511 + 0.026); // 0-positie servo
JonathanCaes 0:a16f60a71395 364 }
JonathanCaes 0:a16f60a71395 365 wait(1);
JonathanCaes 0:a16f60a71395 366 printf("Doorlopen\r\n");
JonathanCaes 0:a16f60a71395 367 FILE *fp = fopen("/webfs/mydata.htm","w");
JonathanCaes 0:a16f60a71395 368 fprintf(fp,"<HTML>\r\n"); //HTML opstarten
JonathanCaes 0:a16f60a71395 369 fprintf(fp,"<HEAD>\r\n"); //Head van het bestand open zetten.
JonathanCaes 0:a16f60a71395 370 fprintf(fp,"<script type=\"text/javascript\">window.setTimeout(function(){ document.location.reload(true); }, 3000);</script>");//Script laden
JonathanCaes 0:a16f60a71395 371 fprintf(fp,"<link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css\">");//Stijl van het document laden
JonathanCaes 0:a16f60a71395 372 fprintf(fp,"<style>\r\n");//De style toepassen die is opgevraagd
JonathanCaes 0:a16f60a71395 373 fprintf(fp,"tbody {background:#FF8866;}");//Achtergrond veranderen van kleur
JonathanCaes 0:a16f60a71395 374 fprintf(fp,"</style>\r\n");//De aangemaakt stijl terug sluiten
JonathanCaes 0:a16f60a71395 375 fprintf(fp,"</HEAD>\r\n");//Sluiten van de HEAD
JonathanCaes 0:a16f60a71395 376 fprintf(fp,"<BODY>\r\n");//Sluiten van de BODY
JonathanCaes 0:a16f60a71395 377 fprintf(fp,"<div class=\"container\">\r\n");
JonathanCaes 0:a16f60a71395 378 fprintf(fp,"<div class=\"panel panel-success\">");
JonathanCaes 0:a16f60a71395 379 fprintf(fp,"<table class=\"table\">");//Aanmaken van tabel
JonathanCaes 0:a16f60a71395 380 fprintf(fp,"<thead><tr><th>binnen</th><th>buiten</th></tr></thead>");
JonathanCaes 0:a16f60a71395 381 fprintf(fp,"<tbody><tr><td>%.1f &deg;C</td>",i);
JonathanCaes 0:a16f60a71395 382 fprintf(fp,"<td>%.1f &deg;C</td></tr></tbody></table></div>",j);
JonathanCaes 0:a16f60a71395 383 fprintf(fp,"</div>");
JonathanCaes 0:a16f60a71395 384 printf("Variabelen printen\r\n");
JonathanCaes 0:a16f60a71395 385 fprintf(fp,"</BODY>\r\n");
JonathanCaes 0:a16f60a71395 386 fprintf(fp,"</HTML>\r\n");
JonathanCaes 0:a16f60a71395 387 printf(" %f + %f",i,j);
JonathanCaes 0:a16f60a71395 388 printf("Sessie stoppen \r\n");
JonathanCaes 0:a16f60a71395 389 fclose(fp);
JonathanCaes 0:a16f60a71395 390 wait(1);
JonathanCaes 0:a16f60a71395 391 }
JonathanCaes 0:a16f60a71395 392 }