Project_Embedded_C

Dependencies:   mbed DS1307 Servo TextLCD

Committer:
rikvandyck
Date:
Thu Dec 18 10:43:07 2014 +0000
Revision:
2:55b6fd49b738
Parent:
1:7db3698243d8
Project_Embedded_C

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rikvandyck 2:55b6fd49b738 1 //Rik Van Dyck
rikvandyck 2:55b6fd49b738 2 //Dieter Van Olmen
rikvandyck 2:55b6fd49b738 3 //Project Embedded C
rikvandyck 2:55b6fd49b738 4 //18 december 2014 (eerste evaluatie)
rikvandyck 2:55b6fd49b738 5
rikvandyck 2:55b6fd49b738 6 #include "mbed.h" // libary mbed
rikvandyck 2:55b6fd49b738 7 #include "TextLCD.h" // libary LCD
rikvandyck 2:55b6fd49b738 8 #include "ds1307.h" // libary real time clock met IC DS1307
rikvandyck 2:55b6fd49b738 9 #include "Servo.h" // libary servo
rikvandyck 0:e1edd52b1ee2 10 #include "mbed.h"
rikvandyck 0:e1edd52b1ee2 11 #include "EthernetNetIf.h"
rikvandyck 0:e1edd52b1ee2 12 #include "HTTPServer.h"
rikvandyck 0:e1edd52b1ee2 13 #include "RPCFunction.h"
rikvandyck 0:e1edd52b1ee2 14
rikvandyck 0:e1edd52b1ee2 15 EthernetNetIf eth(
rikvandyck 2:55b6fd49b738 16 IpAddr(192,168,1,2), //ipadress
rikvandyck 2:55b6fd49b738 17 IpAddr(255,255,255,0), //network mask
rikvandyck 2:55b6fd49b738 18 IpAddr(192,168,1,1), //gateway
rikvandyck 2:55b6fd49b738 19 IpAddr(192,168,1,1) //dns
rikvandyck 0:e1edd52b1ee2 20 );
rikvandyck 0:e1edd52b1ee2 21 HTTPServer svr;
rikvandyck 0:e1edd52b1ee2 22
rikvandyck 2:55b6fd49b738 23 AnalogIn LM35_1(p20); // analoge-ngang, temperatuursensor 1
rikvandyck 2:55b6fd49b738 24 AnalogIn LM35_2(p19); // analoge-ngang, temperatuursensor 2
rikvandyck 2:55b6fd49b738 25
rikvandyck 2:55b6fd49b738 26 InterruptIn button_up(p11); // interrupt-ingang,
rikvandyck 2:55b6fd49b738 27 InterruptIn button_menu_back(p13); // interrupt-ingang,
rikvandyck 2:55b6fd49b738 28
rikvandyck 2:55b6fd49b738 29 DigitalIn button_down(p12); // digitale-ingang,
rikvandyck 2:55b6fd49b738 30 DigitalIn button_enter(p14); // digitale-ingang,
rikvandyck 2:55b6fd49b738 31
rikvandyck 2:55b6fd49b738 32 DigitalOut relais(p15); // dgitale-uitgang,
rikvandyck 2:55b6fd49b738 33
rikvandyck 2:55b6fd49b738 34 PwmOut LEDrood(p23); // PWM-uitgang,
rikvandyck 2:55b6fd49b738 35 PwmOut LEDgroen(p22); // PWM-uitgang,
rikvandyck 2:55b6fd49b738 36 PwmOut LEDblauw(p21); // PWM-uitgang,
rikvandyck 2:55b6fd49b738 37 PwmOut achtergrondverlichting(p24); // PWM-uitgang,
rikvandyck 2:55b6fd49b738 38
rikvandyck 2:55b6fd49b738 39 Servo myservo(p26); // servo-uitgang
rikvandyck 2:55b6fd49b738 40
rikvandyck 2:55b6fd49b738 41 DS1307 my1307(p9,p10); // start DS1307 class and give it pins for connections of the DS1307 device
rikvandyck 2:55b6fd49b738 42
rikvandyck 2:55b6fd49b738 43 Serial pc(USBTX, USBRX); // tx, rx
rikvandyck 2:55b6fd49b738 44
rikvandyck 2:55b6fd49b738 45 TextLCD lcd(p7,p8,p30,p29,p28,p27); // interrupt-uitgang
rikvandyck 2:55b6fd49b738 46
rikvandyck 2:55b6fd49b738 47 // float variabelen
rikvandyck 2:55b6fd49b738 48 float temp1;
rikvandyck 2:55b6fd49b738 49 float temp2;
rikvandyck 2:55b6fd49b738 50 float temp1a;
rikvandyck 2:55b6fd49b738 51 float temp2a;
rikvandyck 2:55b6fd49b738 52 float avg1;
rikvandyck 2:55b6fd49b738 53 float avg2;
rikvandyck 2:55b6fd49b738 54 float instel_temp = 20.00;
rikvandyck 2:55b6fd49b738 55 float backup1 = 20.00;
rikvandyck 2:55b6fd49b738 56 float instel_temp_serieel;
rikvandyck 2:55b6fd49b738 57 float min_temp;
rikvandyck 2:55b6fd49b738 58 float max_temp;
rikvandyck 2:55b6fd49b738 59 float helderheid = 0.5;
rikvandyck 2:55b6fd49b738 60 float backup_h = 0;
rikvandyck 2:55b6fd49b738 61 float verschil;
rikvandyck 2:55b6fd49b738 62 float uitwijking;
rikvandyck 0:e1edd52b1ee2 63
rikvandyck 2:55b6fd49b738 64 // integer variabelen
rikvandyck 2:55b6fd49b738 65 int i;
rikvandyck 2:55b6fd49b738 66 int k = 0;
rikvandyck 2:55b6fd49b738 67 int m = 0;
rikvandyck 2:55b6fd49b738 68 int n = 40;
rikvandyck 2:55b6fd49b738 69 int y;
rikvandyck 2:55b6fd49b738 70 int z;
rikvandyck 2:55b6fd49b738 71 int status = 0;
rikvandyck 2:55b6fd49b738 72 int selectie = 1;
rikvandyck 2:55b6fd49b738 73 int wachttijd_menu = 0;
rikvandyck 2:55b6fd49b738 74 int wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 75 int wachttijd_up = 0;
rikvandyck 2:55b6fd49b738 76 int hysteresis = 0;
rikvandyck 2:55b6fd49b738 77
rikvandyck 2:55b6fd49b738 78 // variable voor de tijd (integers)
rikvandyck 2:55b6fd49b738 79 int sec;
rikvandyck 2:55b6fd49b738 80 int minu;
rikvandyck 2:55b6fd49b738 81 int hours;
rikvandyck 2:55b6fd49b738 82 int day;
rikvandyck 2:55b6fd49b738 83 int date;
rikvandyck 2:55b6fd49b738 84 int month;
rikvandyck 2:55b6fd49b738 85 int year;
rikvandyck 2:55b6fd49b738 86 int junk = 0;
rikvandyck 2:55b6fd49b738 87 int klok1_u = 6;
rikvandyck 2:55b6fd49b738 88 int klok2_u = 8;
rikvandyck 2:55b6fd49b738 89 int klok3_u = 15;
rikvandyck 2:55b6fd49b738 90 int klok4_u = 22;
rikvandyck 2:55b6fd49b738 91 int klok1_m = 30;
rikvandyck 2:55b6fd49b738 92 int klok2_m = 30;
rikvandyck 2:55b6fd49b738 93 int klok3_m = 30;
rikvandyck 2:55b6fd49b738 94 int klok4_m = 00;
rikvandyck 2:55b6fd49b738 95 int backup_klok1_u;
rikvandyck 2:55b6fd49b738 96 int backup_klok2_u;
rikvandyck 2:55b6fd49b738 97 int backup_klok3_u;
rikvandyck 2:55b6fd49b738 98 int backup_klok4_u;
rikvandyck 2:55b6fd49b738 99 int backup_klok1_m;
rikvandyck 2:55b6fd49b738 100 int backup_klok2_m;
rikvandyck 2:55b6fd49b738 101 int backup_klok3_m;
rikvandyck 2:55b6fd49b738 102 int backup_klok4_m;
rikvandyck 2:55b6fd49b738 103
rikvandyck 2:55b6fd49b738 104 void up();
rikvandyck 2:55b6fd49b738 105 void down();
rikvandyck 2:55b6fd49b738 106 void menu();
rikvandyck 2:55b6fd49b738 107 void controle();
rikvandyck 2:55b6fd49b738 108 void temp_inlezen();
rikvandyck 2:55b6fd49b738 109 void serieel_printen();
rikvandyck 2:55b6fd49b738 110 void lcd_printen_temp();
rikvandyck 2:55b6fd49b738 111 void RTC_junk();
rikvandyck 2:55b6fd49b738 112 void internet();
rikvandyck 2:55b6fd49b738 113
rikvandyck 2:55b6fd49b738 114 void test_rw(int test) {}
rikvandyck 2:55b6fd49b738 115
rikvandyck 2:55b6fd49b738 116 int main()
rikvandyck 2:55b6fd49b738 117 {
rikvandyck 0:e1edd52b1ee2 118
rikvandyck 0:e1edd52b1ee2 119 EthernetErr ethErr;
rikvandyck 0:e1edd52b1ee2 120 int count = 0;
rikvandyck 0:e1edd52b1ee2 121 do {
rikvandyck 0:e1edd52b1ee2 122 printf("Setting up %d...\n\r", ++count);
rikvandyck 0:e1edd52b1ee2 123 ethErr = eth.setup();
rikvandyck 0:e1edd52b1ee2 124 if (ethErr) printf("Timeout\n\r", ethErr);
rikvandyck 0:e1edd52b1ee2 125 } while (ethErr != ETH_OK);
rikvandyck 0:e1edd52b1ee2 126
rikvandyck 0:e1edd52b1ee2 127 printf("Connected OK\n\r");
rikvandyck 0:e1edd52b1ee2 128 const char* hwAddr = eth.getHwAddr();
rikvandyck 0:e1edd52b1ee2 129
rikvandyck 0:e1edd52b1ee2 130 IpAddr ethIp = eth.getIp();
rikvandyck 0:e1edd52b1ee2 131 printf("IP address : %d.%d.%d.%d\n\r", ethIp[0], ethIp[1], ethIp[2], ethIp[3]);
rikvandyck 0:e1edd52b1ee2 132
rikvandyck 0:e1edd52b1ee2 133 LocalFileSystem local("local");
rikvandyck 0:e1edd52b1ee2 134
rikvandyck 0:e1edd52b1ee2 135 //svr.addHandler<SimpleHandler>("/hello");
rikvandyck 0:e1edd52b1ee2 136 svr.addHandler<FSHandler>("");
rikvandyck 0:e1edd52b1ee2 137
rikvandyck 0:e1edd52b1ee2 138 svr.bind(80);
rikvandyck 0:e1edd52b1ee2 139 printf("Server listening\n\r");
rikvandyck 0:e1edd52b1ee2 140
rikvandyck 2:55b6fd49b738 141 //int junk = 0;
rikvandyck 2:55b6fd49b738 142 LEDrood = 0;
rikvandyck 2:55b6fd49b738 143 LEDblauw = 0;
rikvandyck 2:55b6fd49b738 144 LEDgroen = 0;
rikvandyck 2:55b6fd49b738 145 myservo = 0.5;
rikvandyck 2:55b6fd49b738 146 button_up.mode(PullDown);
rikvandyck 2:55b6fd49b738 147 button_down.mode(PullDown);
rikvandyck 2:55b6fd49b738 148 button_menu_back.mode(PullDown);
rikvandyck 2:55b6fd49b738 149 button_enter.mode(PullDown);
rikvandyck 2:55b6fd49b738 150 button_up.rise(&up);
rikvandyck 2:55b6fd49b738 151 button_menu_back.rise(&menu);
rikvandyck 2:55b6fd49b738 152 achtergrondverlichting = helderheid;
rikvandyck 2:55b6fd49b738 153 pc.printf("Temperatuursmeting Embed !!");
rikvandyck 2:55b6fd49b738 154 pc.printf("\n\n\r");
rikvandyck 2:55b6fd49b738 155 instel_temp_serieel = instel_temp;
rikvandyck 2:55b6fd49b738 156 while (1) {
rikvandyck 2:55b6fd49b738 157 serieel_printen();
rikvandyck 2:55b6fd49b738 158 controle();
rikvandyck 2:55b6fd49b738 159 lcd_printen_temp();
rikvandyck 2:55b6fd49b738 160 }
rikvandyck 2:55b6fd49b738 161 }
rikvandyck 0:e1edd52b1ee2 162
rikvandyck 2:55b6fd49b738 163 void RTC_junk()
rikvandyck 2:55b6fd49b738 164 {
rikvandyck 2:55b6fd49b738 165 junk = 0x39; // just a junk value do read and write test to DS1307 ram
rikvandyck 2:55b6fd49b738 166 test_rw(my1307.write( 0x20, junk)); // this should write the value of junk to register 0x20 (a ram location) in the ds1307.
rikvandyck 2:55b6fd49b738 167 junk = 0; // clear junk to show that when the register is read from the correct value is obtained
rikvandyck 2:55b6fd49b738 168 test_rw(my1307.read( 0x20, &junk)); // this should read register 0x20
rikvandyck 2:55b6fd49b738 169 }
rikvandyck 2:55b6fd49b738 170
rikvandyck 2:55b6fd49b738 171 void temp_inlezen()
rikvandyck 2:55b6fd49b738 172 {
rikvandyck 2:55b6fd49b738 173 avg1 = 0;
rikvandyck 2:55b6fd49b738 174 avg2 = 0;
rikvandyck 2:55b6fd49b738 175 for (i = 0; i < 100; i++ ) {
rikvandyck 2:55b6fd49b738 176 avg1 += LM35_1;
rikvandyck 2:55b6fd49b738 177 avg2 += LM35_2;
rikvandyck 2:55b6fd49b738 178 wait(0.001);
rikvandyck 2:55b6fd49b738 179 }
rikvandyck 2:55b6fd49b738 180 temp1 =(avg1 * 3.3);
rikvandyck 2:55b6fd49b738 181 temp2 =(avg2 * 3.3);
rikvandyck 2:55b6fd49b738 182 }
rikvandyck 2:55b6fd49b738 183
rikvandyck 2:55b6fd49b738 184 void internet()
rikvandyck 2:55b6fd49b738 185 {
rikvandyck 2:55b6fd49b738 186 Net::poll();
rikvandyck 1:7db3698243d8 187 FILE *fp = fopen("/local/mydata.htm","w");
rikvandyck 0:e1edd52b1ee2 188 fprintf(fp,"<HTML>\r\n");
rikvandyck 0:e1edd52b1ee2 189 fprintf(fp,"<HEAD>\r\n");
rikvandyck 0:e1edd52b1ee2 190 fprintf(fp,"</HEAD>\r\n");
rikvandyck 0:e1edd52b1ee2 191 fprintf(fp,"<BODY>\r\n");
rikvandyck 1:7db3698243d8 192 fprintf(fp," <center><p><h1>Welcome to Thomas More </h1></p>\r\n");
rikvandyck 1:7db3698243d8 193 fprintf(fp," <center><p><h1>2EA</h1></p>\r\n");
rikvandyck 1:7db3698243d8 194 fprintf(fp," <body style=background-color:white>\r\n");
rikvandyck 2:55b6fd49b738 195 fprintf(fp," <hr><br> <h1 align=left><font color=\"black\">\r\n");
rikvandyck 2:55b6fd49b738 196 fprintf(fp," <left><FONT size=+1><h1>Project Embedded C</h1>\r\n");
rikvandyck 2:55b6fd49b738 197 fprintf(fp," <TABLE width=500 bgcolor=white border=2 >\r\n");
rikvandyck 1:7db3698243d8 198 fprintf(fp," <TR>\r\n");
rikvandyck 1:7db3698243d8 199 fprintf(fp," <TD align=center colspan=4 bgcolor=red><B><FONT size=+2>Mbed temperatuurregeling</FONT></B></TD></TR>\r\n");
rikvandyck 1:7db3698243d8 200 fprintf(fp," <TR>\r\n");
rikvandyck 2:55b6fd49b738 201 fprintf(fp," <TD align=center width=125 colspan=1><B>Binnen</B></TD>\r\n");
rikvandyck 2:55b6fd49b738 202 fprintf(fp," <TD align=center width=125 colspan=1><B>Buiten</B></TD>\r\n");
rikvandyck 2:55b6fd49b738 203 fprintf(fp," <TD align=center width=125 colspan=1><B>ingesteld</B></TD>\r\n");
rikvandyck 2:55b6fd49b738 204 fprintf(fp," <TD align=center width=125 colspan=1><B>Tijd</B></TD>\r\n");
rikvandyck 1:7db3698243d8 205 fprintf(fp," <TR align=center>\r\n");
rikvandyck 2:55b6fd49b738 206 fprintf(fp," <TD ><U>%.2f</U>\r\n",temp1);
rikvandyck 2:55b6fd49b738 207 fprintf(fp," <TD ><U>%.2f</U>\r\n",temp2);
rikvandyck 2:55b6fd49b738 208 fprintf(fp," <TD ><U>%.2f</U>\r\n",instel_temp);
rikvandyck 2:55b6fd49b738 209 fprintf(fp," <TD ><U>%d:%d:%d</U>\r\n",hours,minu,sec);
rikvandyck 1:7db3698243d8 210 fprintf(fp," <TR align=center>");
rikvandyck 0:e1edd52b1ee2 211 fprintf(fp," \r\n");
rikvandyck 0:e1edd52b1ee2 212 fprintf(fp,"</BODY>\r\n");
rikvandyck 0:e1edd52b1ee2 213 fprintf(fp,"</HTML>\r\n");
rikvandyck 2:55b6fd49b738 214 fclose(fp);
rikvandyck 2:55b6fd49b738 215 }
rikvandyck 0:e1edd52b1ee2 216
rikvandyck 2:55b6fd49b738 217 void controle()
rikvandyck 2:55b6fd49b738 218 {
rikvandyck 2:55b6fd49b738 219 temp_inlezen();
rikvandyck 2:55b6fd49b738 220 if(selectie == 3)
rikvandyck 2:55b6fd49b738 221 {
rikvandyck 2:55b6fd49b738 222 if(hours >= klok1_u && minu >= klok1_m && hours <= klok2_u && minu < klok2_m)
rikvandyck 2:55b6fd49b738 223 {
rikvandyck 2:55b6fd49b738 224 if(m == 0)
rikvandyck 2:55b6fd49b738 225 {
rikvandyck 2:55b6fd49b738 226 min_temp = instel_temp - 0.5;
rikvandyck 2:55b6fd49b738 227 max_temp = instel_temp + 0.5;
rikvandyck 2:55b6fd49b738 228 if (temp1 < min_temp)
rikvandyck 2:55b6fd49b738 229 {
rikvandyck 2:55b6fd49b738 230 LEDrood = 1;
rikvandyck 2:55b6fd49b738 231 LEDgroen = 0;
rikvandyck 2:55b6fd49b738 232 LEDblauw = 0;
rikvandyck 2:55b6fd49b738 233 relais = 0;
rikvandyck 2:55b6fd49b738 234 status = 1;
rikvandyck 2:55b6fd49b738 235 }
rikvandyck 2:55b6fd49b738 236 else if (temp1 > max_temp)
rikvandyck 2:55b6fd49b738 237 {
rikvandyck 2:55b6fd49b738 238 LEDrood = 0;
rikvandyck 2:55b6fd49b738 239 LEDgroen = 0;
rikvandyck 2:55b6fd49b738 240 LEDblauw = 0.25;
rikvandyck 2:55b6fd49b738 241 relais = 1;
rikvandyck 2:55b6fd49b738 242 status = 0;
rikvandyck 2:55b6fd49b738 243 }
rikvandyck 2:55b6fd49b738 244 else{}
rikvandyck 2:55b6fd49b738 245 }
rikvandyck 2:55b6fd49b738 246 m++;
rikvandyck 2:55b6fd49b738 247 if(m > 15){m = 0;}
rikvandyck 2:55b6fd49b738 248 }
rikvandyck 2:55b6fd49b738 249 else if(hours >= klok3_u && minu >= klok3_m && hours <= klok4_u && minu < klok4_m)
rikvandyck 2:55b6fd49b738 250 {
rikvandyck 2:55b6fd49b738 251 if(m == 0)
rikvandyck 2:55b6fd49b738 252 {
rikvandyck 2:55b6fd49b738 253 min_temp = instel_temp - 0.5;
rikvandyck 2:55b6fd49b738 254 max_temp = instel_temp + 0.5;
rikvandyck 2:55b6fd49b738 255 if (temp1 < min_temp)
rikvandyck 2:55b6fd49b738 256 {
rikvandyck 2:55b6fd49b738 257 LEDrood = 1;
rikvandyck 2:55b6fd49b738 258 LEDgroen = 0;
rikvandyck 2:55b6fd49b738 259 LEDblauw = 0;
rikvandyck 2:55b6fd49b738 260 relais = 0;
rikvandyck 2:55b6fd49b738 261 status = 1;
rikvandyck 2:55b6fd49b738 262 }
rikvandyck 2:55b6fd49b738 263 else if (temp1 > max_temp)
rikvandyck 2:55b6fd49b738 264 {
rikvandyck 2:55b6fd49b738 265 LEDrood = 0;
rikvandyck 2:55b6fd49b738 266 LEDgroen = 0;
rikvandyck 2:55b6fd49b738 267 LEDblauw = 0.25;
rikvandyck 2:55b6fd49b738 268 relais = 1;
rikvandyck 2:55b6fd49b738 269 status = 0;
rikvandyck 2:55b6fd49b738 270 }
rikvandyck 2:55b6fd49b738 271 else{}
rikvandyck 2:55b6fd49b738 272 }
rikvandyck 2:55b6fd49b738 273 m++;
rikvandyck 2:55b6fd49b738 274 if(m > 15){m = 0;}
rikvandyck 2:55b6fd49b738 275 }
rikvandyck 2:55b6fd49b738 276 else
rikvandyck 2:55b6fd49b738 277 {
rikvandyck 2:55b6fd49b738 278 if(m == 0)
rikvandyck 2:55b6fd49b738 279 {
rikvandyck 2:55b6fd49b738 280 min_temp = 18.0 - 0.5;
rikvandyck 2:55b6fd49b738 281 max_temp = 18.0 + 0.5;
rikvandyck 2:55b6fd49b738 282 if (temp1 < min_temp)
rikvandyck 2:55b6fd49b738 283 {
rikvandyck 2:55b6fd49b738 284 LEDrood = 1;
rikvandyck 2:55b6fd49b738 285 LEDgroen = 0;
rikvandyck 2:55b6fd49b738 286 LEDblauw = 0;
rikvandyck 2:55b6fd49b738 287 relais = 0;
rikvandyck 2:55b6fd49b738 288 status = 1;
rikvandyck 2:55b6fd49b738 289 }
rikvandyck 2:55b6fd49b738 290 else if (temp1 > max_temp)
rikvandyck 2:55b6fd49b738 291 {
rikvandyck 2:55b6fd49b738 292 LEDrood = 0;
rikvandyck 2:55b6fd49b738 293 LEDgroen = 0;
rikvandyck 2:55b6fd49b738 294 LEDblauw = 0.25;
rikvandyck 2:55b6fd49b738 295 relais = 1;
rikvandyck 2:55b6fd49b738 296 status = 0;
rikvandyck 2:55b6fd49b738 297 }
rikvandyck 2:55b6fd49b738 298 else{}
rikvandyck 2:55b6fd49b738 299 }
rikvandyck 2:55b6fd49b738 300 m++;
rikvandyck 2:55b6fd49b738 301 if(m > 15){m = 0;}
rikvandyck 2:55b6fd49b738 302 }
rikvandyck 2:55b6fd49b738 303 }
rikvandyck 2:55b6fd49b738 304 else
rikvandyck 2:55b6fd49b738 305 {
rikvandyck 2:55b6fd49b738 306 if(m == 0)
rikvandyck 2:55b6fd49b738 307 {
rikvandyck 2:55b6fd49b738 308 min_temp = instel_temp - 0.5;
rikvandyck 2:55b6fd49b738 309 max_temp = instel_temp + 0.5;
rikvandyck 2:55b6fd49b738 310 if (temp1 < min_temp)
rikvandyck 2:55b6fd49b738 311 {
rikvandyck 2:55b6fd49b738 312 LEDrood = 1;
rikvandyck 2:55b6fd49b738 313 LEDgroen = 0;
rikvandyck 2:55b6fd49b738 314 LEDblauw = 0;
rikvandyck 2:55b6fd49b738 315 relais = 1;
rikvandyck 2:55b6fd49b738 316 status = 1;
rikvandyck 2:55b6fd49b738 317 }
rikvandyck 2:55b6fd49b738 318 else if (temp1 > max_temp)
rikvandyck 2:55b6fd49b738 319 {
rikvandyck 2:55b6fd49b738 320 LEDrood = 0;
rikvandyck 2:55b6fd49b738 321 LEDgroen = 0;
rikvandyck 2:55b6fd49b738 322 LEDblauw = 0.25;
rikvandyck 2:55b6fd49b738 323 relais = 0;
rikvandyck 2:55b6fd49b738 324 status = 0;
rikvandyck 2:55b6fd49b738 325 }
rikvandyck 2:55b6fd49b738 326 else{}
rikvandyck 2:55b6fd49b738 327 }
rikvandyck 2:55b6fd49b738 328 }
rikvandyck 2:55b6fd49b738 329 verschil = temp1 - instel_temp;
rikvandyck 2:55b6fd49b738 330 if(verschil > 0)
rikvandyck 2:55b6fd49b738 331 {
rikvandyck 2:55b6fd49b738 332 uitwijking = verschil / 10;
rikvandyck 2:55b6fd49b738 333 if(uitwijking > 0.5)
rikvandyck 2:55b6fd49b738 334 {
rikvandyck 2:55b6fd49b738 335 uitwijking = 0.5;
rikvandyck 2:55b6fd49b738 336 }
rikvandyck 2:55b6fd49b738 337 uitwijking = uitwijking + 0.5;
rikvandyck 2:55b6fd49b738 338 }
rikvandyck 2:55b6fd49b738 339 if(verschil < 0)
rikvandyck 2:55b6fd49b738 340 {
rikvandyck 2:55b6fd49b738 341 verschil = instel_temp - temp1;
rikvandyck 2:55b6fd49b738 342 uitwijking = verschil / 10;
rikvandyck 2:55b6fd49b738 343 if(uitwijking > 0.5)
rikvandyck 2:55b6fd49b738 344 {
rikvandyck 2:55b6fd49b738 345 uitwijking = 0.5;
rikvandyck 2:55b6fd49b738 346 }
rikvandyck 2:55b6fd49b738 347 uitwijking = 0.5 - uitwijking;
rikvandyck 2:55b6fd49b738 348 }
rikvandyck 2:55b6fd49b738 349 if(verschil == 0)
rikvandyck 2:55b6fd49b738 350 {
rikvandyck 2:55b6fd49b738 351 uitwijking = 0.5;
rikvandyck 2:55b6fd49b738 352 }
rikvandyck 2:55b6fd49b738 353 myservo = uitwijking;
rikvandyck 2:55b6fd49b738 354 m++;
rikvandyck 2:55b6fd49b738 355 if(m > 15){m = 0;}
rikvandyck 2:55b6fd49b738 356 }
rikvandyck 2:55b6fd49b738 357
rikvandyck 2:55b6fd49b738 358 void serieel_printen()
rikvandyck 2:55b6fd49b738 359 {
rikvandyck 2:55b6fd49b738 360 pc.printf("Tijd:");
rikvandyck 2:55b6fd49b738 361 pc.printf("\n\n\r");
rikvandyck 2:55b6fd49b738 362 pc.printf("Binnen temperatuur: %.2fC",temp1);
rikvandyck 2:55b6fd49b738 363 pc.printf("\n\r");
rikvandyck 2:55b6fd49b738 364 pc.printf("Buiten temperatuur: %.2fC",temp2);
rikvandyck 2:55b6fd49b738 365 pc.printf("\n\r");
rikvandyck 2:55b6fd49b738 366 pc.printf("Instel temperatuur: %.2fC",instel_temp_serieel);
rikvandyck 2:55b6fd49b738 367 pc.printf("\n\n\n\r");
rikvandyck 2:55b6fd49b738 368 }
rikvandyck 2:55b6fd49b738 369
rikvandyck 2:55b6fd49b738 370 void lcd_printen_temp()
rikvandyck 2:55b6fd49b738 371 {
rikvandyck 2:55b6fd49b738 372 if (k == 1 || k > 7){
rikvandyck 2:55b6fd49b738 373 temp1a = temp1;
rikvandyck 2:55b6fd49b738 374 temp2a = temp2;
rikvandyck 2:55b6fd49b738 375 wachttijd_menu = 0;
rikvandyck 2:55b6fd49b738 376 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 377 wachttijd_up = 0;
rikvandyck 2:55b6fd49b738 378 }
rikvandyck 2:55b6fd49b738 379 if(k < 7) {
rikvandyck 2:55b6fd49b738 380 lcd.cls();
rikvandyck 2:55b6fd49b738 381 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 382 lcd.printf("Binnen:%5.1f%cC", temp1a,0xDF);
rikvandyck 2:55b6fd49b738 383 lcd.locate(0,1);
rikvandyck 2:55b6fd49b738 384 lcd.printf("Buiten:%5.1f%cC", temp2a,0xDF);
rikvandyck 2:55b6fd49b738 385 k++;
rikvandyck 2:55b6fd49b738 386 } else if(k < 14) {
rikvandyck 2:55b6fd49b738 387 lcd.cls();
rikvandyck 2:55b6fd49b738 388 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 389 lcd.printf("Instel:%5.1f%cC",instel_temp,0xDF);
rikvandyck 2:55b6fd49b738 390 lcd.locate(0,1);
rikvandyck 2:55b6fd49b738 391 test_rw(my1307.gettime( &sec, &minu, &hours, &day, &date, &month, &year));
rikvandyck 2:55b6fd49b738 392 lcd.printf("Tijd: %d:%d:%d",hours,minu,sec);
rikvandyck 2:55b6fd49b738 393 RTC_junk();
rikvandyck 2:55b6fd49b738 394 k++;
rikvandyck 2:55b6fd49b738 395 } else if(k < 21) {
rikvandyck 2:55b6fd49b738 396 lcd.cls();
rikvandyck 2:55b6fd49b738 397 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 398 switch (selectie) {
rikvandyck 2:55b6fd49b738 399 case (1):
rikvandyck 2:55b6fd49b738 400 lcd.printf("Stand: Continu");
rikvandyck 2:55b6fd49b738 401 break;
rikvandyck 2:55b6fd49b738 402 case (2):
rikvandyck 2:55b6fd49b738 403 lcd.printf("Stand: Nacht");
rikvandyck 2:55b6fd49b738 404 break;
rikvandyck 2:55b6fd49b738 405 case (3):
rikvandyck 2:55b6fd49b738 406 lcd.printf("Stand: Klokje");
rikvandyck 2:55b6fd49b738 407 break;
rikvandyck 2:55b6fd49b738 408 }
rikvandyck 2:55b6fd49b738 409 lcd.locate(0,1);
rikvandyck 2:55b6fd49b738 410 switch (status) {
rikvandyck 2:55b6fd49b738 411 case (0):
rikvandyck 2:55b6fd49b738 412 lcd.printf("Status: Af");
rikvandyck 2:55b6fd49b738 413 break;
rikvandyck 2:55b6fd49b738 414 case (1):
rikvandyck 2:55b6fd49b738 415 lcd.printf("Status: Op");
rikvandyck 2:55b6fd49b738 416 break;
rikvandyck 2:55b6fd49b738 417 }
rikvandyck 2:55b6fd49b738 418 k++;
rikvandyck 2:55b6fd49b738 419 } else {
rikvandyck 2:55b6fd49b738 420 k = 0;
rikvandyck 0:e1edd52b1ee2 421 }
rikvandyck 2:55b6fd49b738 422 internet();
rikvandyck 2:55b6fd49b738 423 }
rikvandyck 2:55b6fd49b738 424
rikvandyck 2:55b6fd49b738 425 void menu()
rikvandyck 2:55b6fd49b738 426 {
rikvandyck 2:55b6fd49b738 427 if(wachttijd_up < 10 && wachttijd_menu < 10) {
rikvandyck 2:55b6fd49b738 428 wachttijd_menu = 0;
rikvandyck 2:55b6fd49b738 429 z = 0;
rikvandyck 2:55b6fd49b738 430 wait(0.5);
rikvandyck 2:55b6fd49b738 431 while(button_enter == 0 && button_menu_back == 0 && wachttijd_menu < n) {
rikvandyck 2:55b6fd49b738 432 controle();
rikvandyck 2:55b6fd49b738 433 lcd.cls();
rikvandyck 2:55b6fd49b738 434 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 435 lcd.printf("** Menu **");
rikvandyck 2:55b6fd49b738 436 if (button_up == 1) {
rikvandyck 2:55b6fd49b738 437 z++;
rikvandyck 2:55b6fd49b738 438 wachttijd_menu = 0;
rikvandyck 2:55b6fd49b738 439 } else if(button_down == 1) {
rikvandyck 2:55b6fd49b738 440 z--;
rikvandyck 2:55b6fd49b738 441 wachttijd_menu = 0;
rikvandyck 2:55b6fd49b738 442 } else {
rikvandyck 2:55b6fd49b738 443 wachttijd_menu++;
rikvandyck 2:55b6fd49b738 444 }
rikvandyck 2:55b6fd49b738 445 if (z > 3){
rikvandyck 2:55b6fd49b738 446 z = 0;
rikvandyck 2:55b6fd49b738 447 }
rikvandyck 2:55b6fd49b738 448 if (z < 0) {
rikvandyck 2:55b6fd49b738 449 z = 3;
rikvandyck 2:55b6fd49b738 450 }
rikvandyck 2:55b6fd49b738 451 if (z == 0) {
rikvandyck 2:55b6fd49b738 452 lcd.locate(0,1);
rikvandyck 2:55b6fd49b738 453 lcd.printf("Continu");
rikvandyck 2:55b6fd49b738 454 } else if (z == 1) {
rikvandyck 2:55b6fd49b738 455 lcd.locate(0,1);
rikvandyck 2:55b6fd49b738 456 lcd.printf("Nacht");
rikvandyck 2:55b6fd49b738 457 } else if (z == 2) {
rikvandyck 2:55b6fd49b738 458 lcd.locate(0,1);
rikvandyck 2:55b6fd49b738 459 lcd.printf("Klokje");
rikvandyck 2:55b6fd49b738 460 } else if (z == 3) {
rikvandyck 2:55b6fd49b738 461 lcd.locate(0,1);
rikvandyck 2:55b6fd49b738 462 lcd.printf("Helderheid");
rikvandyck 2:55b6fd49b738 463 }
rikvandyck 2:55b6fd49b738 464 lcd.locate(14,1);
rikvandyck 2:55b6fd49b738 465 lcd.printf("<");
rikvandyck 2:55b6fd49b738 466 lcd.locate(15,1);
rikvandyck 2:55b6fd49b738 467 lcd.printf(">");
rikvandyck 2:55b6fd49b738 468 }
rikvandyck 2:55b6fd49b738 469 if (button_enter == 1) {
rikvandyck 2:55b6fd49b738 470 switch (z) {
rikvandyck 2:55b6fd49b738 471 case (0):
rikvandyck 2:55b6fd49b738 472 if (selectie == 2)
rikvandyck 2:55b6fd49b738 473 {
rikvandyck 2:55b6fd49b738 474 instel_temp = backup1;
rikvandyck 2:55b6fd49b738 475 }
rikvandyck 2:55b6fd49b738 476 selectie = 1;
rikvandyck 2:55b6fd49b738 477 break;
rikvandyck 2:55b6fd49b738 478 case (1):
rikvandyck 2:55b6fd49b738 479 selectie = 2;
rikvandyck 2:55b6fd49b738 480 backup1 = instel_temp;
rikvandyck 2:55b6fd49b738 481 instel_temp = 18.00;
rikvandyck 2:55b6fd49b738 482 break;
rikvandyck 2:55b6fd49b738 483 case (2):
rikvandyck 2:55b6fd49b738 484 if (selectie == 2)
rikvandyck 2:55b6fd49b738 485 {
rikvandyck 2:55b6fd49b738 486 instel_temp = backup1;
rikvandyck 2:55b6fd49b738 487 }
rikvandyck 2:55b6fd49b738 488 //
rikvandyck 2:55b6fd49b738 489 lcd.cls();
rikvandyck 2:55b6fd49b738 490 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 491 lcd.printf("Instelling tijd");
rikvandyck 2:55b6fd49b738 492 wait(1);
rikvandyck 2:55b6fd49b738 493 backup_klok1_u = klok1_u;
rikvandyck 2:55b6fd49b738 494 backup_klok2_u = klok2_u;
rikvandyck 2:55b6fd49b738 495 backup_klok3_u = klok3_u;
rikvandyck 2:55b6fd49b738 496 backup_klok4_u = klok4_u;
rikvandyck 2:55b6fd49b738 497 backup_klok1_m = klok1_m;
rikvandyck 2:55b6fd49b738 498 backup_klok2_m = klok2_m;
rikvandyck 2:55b6fd49b738 499 backup_klok3_m = klok3_m;
rikvandyck 2:55b6fd49b738 500 backup_klok4_m = klok4_m;
rikvandyck 2:55b6fd49b738 501 lcd.cls();
rikvandyck 2:55b6fd49b738 502 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 503 while (button_enter == 0 && button_menu_back == 0 && wachttijd_klok < n) {
rikvandyck 2:55b6fd49b738 504 controle();
rikvandyck 2:55b6fd49b738 505 lcd.cls();
rikvandyck 2:55b6fd49b738 506 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 507 lcd.printf("'S morgens op u");
rikvandyck 2:55b6fd49b738 508 if(button_up == 1)
rikvandyck 2:55b6fd49b738 509 {
rikvandyck 2:55b6fd49b738 510 klok1_u = klok1_u + 1;
rikvandyck 2:55b6fd49b738 511 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 512 }
rikvandyck 2:55b6fd49b738 513 else if(button_down == 1)
rikvandyck 2:55b6fd49b738 514 {
rikvandyck 2:55b6fd49b738 515 klok1_u = klok1_u - 1;
rikvandyck 2:55b6fd49b738 516 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 517 }
rikvandyck 2:55b6fd49b738 518 else
rikvandyck 2:55b6fd49b738 519 {
rikvandyck 2:55b6fd49b738 520 wachttijd_klok ++;
rikvandyck 2:55b6fd49b738 521 }
rikvandyck 2:55b6fd49b738 522 if (klok1_u > 23)
rikvandyck 2:55b6fd49b738 523 {
rikvandyck 2:55b6fd49b738 524 klok1_u = 0;
rikvandyck 2:55b6fd49b738 525 }
rikvandyck 2:55b6fd49b738 526 if (klok1_u < 0)
rikvandyck 2:55b6fd49b738 527 {
rikvandyck 2:55b6fd49b738 528 klok1_u = 23;
rikvandyck 2:55b6fd49b738 529 }
rikvandyck 2:55b6fd49b738 530 lcd.locate(0,1);
rikvandyck 2:55b6fd49b738 531 lcd.printf("Tijd: %d:%d",klok1_u,klok1_m);
rikvandyck 2:55b6fd49b738 532 }
rikvandyck 2:55b6fd49b738 533 if (button_enter == 1)
rikvandyck 2:55b6fd49b738 534 {
rikvandyck 2:55b6fd49b738 535 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 536 lcd.cls();
rikvandyck 2:55b6fd49b738 537 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 538 lcd.printf("'S morgens op m");
rikvandyck 2:55b6fd49b738 539 wait(0.5);
rikvandyck 2:55b6fd49b738 540 while (button_enter == 0 && button_menu_back == 0 && wachttijd_klok < n) {
rikvandyck 2:55b6fd49b738 541 controle();
rikvandyck 2:55b6fd49b738 542 lcd.cls();
rikvandyck 2:55b6fd49b738 543 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 544 lcd.printf("'S morgens op m");
rikvandyck 2:55b6fd49b738 545 if(button_up == 1)
rikvandyck 2:55b6fd49b738 546 {
rikvandyck 2:55b6fd49b738 547 klok1_m = klok1_m + 1;
rikvandyck 2:55b6fd49b738 548 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 549 }
rikvandyck 2:55b6fd49b738 550 else if(button_down == 1)
rikvandyck 2:55b6fd49b738 551 {
rikvandyck 2:55b6fd49b738 552 klok1_m = klok1_m - 1;
rikvandyck 2:55b6fd49b738 553 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 554 }
rikvandyck 2:55b6fd49b738 555 else
rikvandyck 2:55b6fd49b738 556 {
rikvandyck 2:55b6fd49b738 557 wachttijd_klok ++;
rikvandyck 2:55b6fd49b738 558 }
rikvandyck 2:55b6fd49b738 559 if (klok1_m > 60)
rikvandyck 2:55b6fd49b738 560 {
rikvandyck 2:55b6fd49b738 561 klok1_m = 0;
rikvandyck 2:55b6fd49b738 562 }
rikvandyck 2:55b6fd49b738 563 if (klok1_m < 0)
rikvandyck 2:55b6fd49b738 564 {
rikvandyck 2:55b6fd49b738 565 klok1_m = 59;
rikvandyck 2:55b6fd49b738 566 }
rikvandyck 2:55b6fd49b738 567 lcd.locate(0,1);
rikvandyck 2:55b6fd49b738 568 lcd.printf("Tijd: %d:%d",klok1_u,klok1_m);
rikvandyck 2:55b6fd49b738 569 }
rikvandyck 2:55b6fd49b738 570 if (button_enter == 1)
rikvandyck 2:55b6fd49b738 571 {
rikvandyck 2:55b6fd49b738 572 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 573 lcd.cls();
rikvandyck 2:55b6fd49b738 574 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 575 lcd.printf("'S morgens af u");
rikvandyck 2:55b6fd49b738 576 wait(0.5);
rikvandyck 2:55b6fd49b738 577 while (button_enter == 0 && button_menu_back == 0 && wachttijd_klok < n) {
rikvandyck 2:55b6fd49b738 578 controle();
rikvandyck 2:55b6fd49b738 579 lcd.cls();
rikvandyck 2:55b6fd49b738 580 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 581 lcd.printf("'S morgens af u");
rikvandyck 2:55b6fd49b738 582 if(button_up == 1)
rikvandyck 2:55b6fd49b738 583 {
rikvandyck 2:55b6fd49b738 584 klok2_u = klok2_u + 1;
rikvandyck 2:55b6fd49b738 585 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 586 }
rikvandyck 2:55b6fd49b738 587 else if(button_down == 1)
rikvandyck 2:55b6fd49b738 588 {
rikvandyck 2:55b6fd49b738 589 klok2_u = klok2_u - 1;
rikvandyck 2:55b6fd49b738 590 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 591 }
rikvandyck 2:55b6fd49b738 592 else
rikvandyck 2:55b6fd49b738 593 {
rikvandyck 2:55b6fd49b738 594 wachttijd_klok ++;
rikvandyck 2:55b6fd49b738 595 }
rikvandyck 2:55b6fd49b738 596 if (klok2_u > 60)
rikvandyck 2:55b6fd49b738 597 {
rikvandyck 2:55b6fd49b738 598 klok2_u = 0;
rikvandyck 2:55b6fd49b738 599 }
rikvandyck 2:55b6fd49b738 600 if (klok2_u < 0)
rikvandyck 2:55b6fd49b738 601 {
rikvandyck 2:55b6fd49b738 602 klok2_u = 59;
rikvandyck 2:55b6fd49b738 603 }
rikvandyck 2:55b6fd49b738 604 lcd.locate(0,1);
rikvandyck 2:55b6fd49b738 605 lcd.printf("Tijd: %d:%d",klok2_u,klok2_m);
rikvandyck 2:55b6fd49b738 606 }
rikvandyck 2:55b6fd49b738 607 if (button_enter == 1)
rikvandyck 2:55b6fd49b738 608 {
rikvandyck 2:55b6fd49b738 609 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 610 lcd.cls();
rikvandyck 2:55b6fd49b738 611 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 612 lcd.printf("'S morgens af m");
rikvandyck 2:55b6fd49b738 613 wait(0.5);
rikvandyck 2:55b6fd49b738 614 while (button_enter == 0 && button_menu_back == 0 && wachttijd_klok < n) {
rikvandyck 2:55b6fd49b738 615 controle();
rikvandyck 2:55b6fd49b738 616 lcd.cls();
rikvandyck 2:55b6fd49b738 617 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 618 lcd.printf("'S morgens af m");
rikvandyck 2:55b6fd49b738 619 if(button_up == 1)
rikvandyck 2:55b6fd49b738 620 {
rikvandyck 2:55b6fd49b738 621 klok2_m = klok2_m + 1;
rikvandyck 2:55b6fd49b738 622 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 623 }
rikvandyck 2:55b6fd49b738 624 else if(button_down == 1)
rikvandyck 2:55b6fd49b738 625 {
rikvandyck 2:55b6fd49b738 626 klok2_m = klok2_m - 1;
rikvandyck 2:55b6fd49b738 627 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 628 }
rikvandyck 2:55b6fd49b738 629 else
rikvandyck 2:55b6fd49b738 630 {
rikvandyck 2:55b6fd49b738 631 wachttijd_klok ++;
rikvandyck 2:55b6fd49b738 632 }
rikvandyck 2:55b6fd49b738 633 if (klok2_m > 60)
rikvandyck 2:55b6fd49b738 634 {
rikvandyck 2:55b6fd49b738 635 klok2_m = 0;
rikvandyck 2:55b6fd49b738 636 }
rikvandyck 2:55b6fd49b738 637 if (klok2_m < 0)
rikvandyck 2:55b6fd49b738 638 {
rikvandyck 2:55b6fd49b738 639 klok2_m = 59;
rikvandyck 2:55b6fd49b738 640 }
rikvandyck 2:55b6fd49b738 641 lcd.locate(0,1);
rikvandyck 2:55b6fd49b738 642 lcd.printf("Tijd: %d:%d",klok2_u,klok2_m);
rikvandyck 2:55b6fd49b738 643 }
rikvandyck 2:55b6fd49b738 644 if (button_enter == 1)
rikvandyck 2:55b6fd49b738 645 {
rikvandyck 2:55b6fd49b738 646 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 647 lcd.cls();
rikvandyck 2:55b6fd49b738 648 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 649 lcd.printf("'S avonds op u");
rikvandyck 2:55b6fd49b738 650 wait(0.5);
rikvandyck 2:55b6fd49b738 651 while (button_enter == 0 && button_menu_back == 0 && wachttijd_klok < n) {
rikvandyck 2:55b6fd49b738 652 controle();
rikvandyck 2:55b6fd49b738 653 lcd.cls();
rikvandyck 2:55b6fd49b738 654 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 655 lcd.printf("'S avonds op u");
rikvandyck 2:55b6fd49b738 656 if(button_up == 1)
rikvandyck 2:55b6fd49b738 657 {
rikvandyck 2:55b6fd49b738 658 klok3_u = klok3_u + 1;
rikvandyck 2:55b6fd49b738 659 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 660 }
rikvandyck 2:55b6fd49b738 661 else if(button_down == 1)
rikvandyck 2:55b6fd49b738 662 {
rikvandyck 2:55b6fd49b738 663 klok3_u = klok3_u - 1;
rikvandyck 2:55b6fd49b738 664 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 665 }
rikvandyck 2:55b6fd49b738 666 else
rikvandyck 2:55b6fd49b738 667 {
rikvandyck 2:55b6fd49b738 668 wachttijd_klok ++;
rikvandyck 2:55b6fd49b738 669 }
rikvandyck 2:55b6fd49b738 670 if (klok3_u > 60)
rikvandyck 2:55b6fd49b738 671 {
rikvandyck 2:55b6fd49b738 672 klok3_u = 0;
rikvandyck 2:55b6fd49b738 673 }
rikvandyck 2:55b6fd49b738 674 if (klok3_u < 0)
rikvandyck 2:55b6fd49b738 675 {
rikvandyck 2:55b6fd49b738 676 klok3_u = 59;
rikvandyck 2:55b6fd49b738 677 }
rikvandyck 2:55b6fd49b738 678 lcd.locate(0,1);
rikvandyck 2:55b6fd49b738 679 lcd.printf("Tijd: %d:%d",klok3_u,klok3_m);
rikvandyck 2:55b6fd49b738 680 }
rikvandyck 2:55b6fd49b738 681 if (button_enter == 1)
rikvandyck 2:55b6fd49b738 682 {
rikvandyck 2:55b6fd49b738 683 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 684 lcd.cls();
rikvandyck 2:55b6fd49b738 685 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 686 lcd.printf("'S avonds op m");
rikvandyck 2:55b6fd49b738 687 wait(0.5);
rikvandyck 2:55b6fd49b738 688 while (button_enter == 0 && button_menu_back == 0 && wachttijd_klok < n) {
rikvandyck 2:55b6fd49b738 689 controle();
rikvandyck 2:55b6fd49b738 690 lcd.cls();
rikvandyck 2:55b6fd49b738 691 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 692 lcd.printf("'S avonds op m");
rikvandyck 2:55b6fd49b738 693 if(button_up == 1)
rikvandyck 2:55b6fd49b738 694 {
rikvandyck 2:55b6fd49b738 695 klok3_m = klok3_m + 1;
rikvandyck 2:55b6fd49b738 696 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 697 }
rikvandyck 2:55b6fd49b738 698 else if(button_down == 1)
rikvandyck 2:55b6fd49b738 699 {
rikvandyck 2:55b6fd49b738 700 klok3_m = klok3_m - 1;
rikvandyck 2:55b6fd49b738 701 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 702 }
rikvandyck 2:55b6fd49b738 703 else
rikvandyck 2:55b6fd49b738 704 {
rikvandyck 2:55b6fd49b738 705 wachttijd_klok ++;
rikvandyck 2:55b6fd49b738 706 }
rikvandyck 2:55b6fd49b738 707 if (klok3_m > 60)
rikvandyck 2:55b6fd49b738 708 {
rikvandyck 2:55b6fd49b738 709 klok3_m = 0;
rikvandyck 2:55b6fd49b738 710 }
rikvandyck 2:55b6fd49b738 711 if (klok3_m < 0)
rikvandyck 2:55b6fd49b738 712 {
rikvandyck 2:55b6fd49b738 713 klok3_m = 59;
rikvandyck 2:55b6fd49b738 714 }
rikvandyck 2:55b6fd49b738 715 lcd.locate(0,1);
rikvandyck 2:55b6fd49b738 716 lcd.printf("Tijd: %d:%d",klok3_u,klok3_m);
rikvandyck 2:55b6fd49b738 717 }
rikvandyck 2:55b6fd49b738 718 if (button_enter == 1)
rikvandyck 2:55b6fd49b738 719 {
rikvandyck 2:55b6fd49b738 720 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 721 lcd.cls();
rikvandyck 2:55b6fd49b738 722 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 723 lcd.printf("'S avonds af u");
rikvandyck 2:55b6fd49b738 724 wait(0.5);
rikvandyck 2:55b6fd49b738 725 while (button_enter == 0 && button_menu_back == 0 && wachttijd_klok < n) {
rikvandyck 2:55b6fd49b738 726 controle();
rikvandyck 2:55b6fd49b738 727 lcd.cls();
rikvandyck 2:55b6fd49b738 728 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 729 lcd.printf("'S avonds af u");
rikvandyck 2:55b6fd49b738 730 if(button_up == 1)
rikvandyck 2:55b6fd49b738 731 {
rikvandyck 2:55b6fd49b738 732 klok4_u = klok4_u + 1;
rikvandyck 2:55b6fd49b738 733 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 734 }
rikvandyck 2:55b6fd49b738 735 else if(button_down == 1)
rikvandyck 2:55b6fd49b738 736 {
rikvandyck 2:55b6fd49b738 737 klok4_u = klok4_u - 1;
rikvandyck 2:55b6fd49b738 738 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 739 }
rikvandyck 2:55b6fd49b738 740 else
rikvandyck 2:55b6fd49b738 741 {
rikvandyck 2:55b6fd49b738 742 wachttijd_klok ++;
rikvandyck 2:55b6fd49b738 743 }
rikvandyck 2:55b6fd49b738 744 if (klok4_u > 60)
rikvandyck 2:55b6fd49b738 745 {
rikvandyck 2:55b6fd49b738 746 klok4_u = 0;
rikvandyck 2:55b6fd49b738 747 }
rikvandyck 2:55b6fd49b738 748 if (klok4_u < 0)
rikvandyck 2:55b6fd49b738 749 {
rikvandyck 2:55b6fd49b738 750 klok4_u = 59;
rikvandyck 2:55b6fd49b738 751 }
rikvandyck 2:55b6fd49b738 752 lcd.locate(0,1);
rikvandyck 2:55b6fd49b738 753 lcd.printf("Tijd: %d:%d",klok4_u,klok4_m);
rikvandyck 2:55b6fd49b738 754 }
rikvandyck 2:55b6fd49b738 755 if (button_enter == 1)
rikvandyck 2:55b6fd49b738 756 {
rikvandyck 2:55b6fd49b738 757 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 758 lcd.cls();
rikvandyck 2:55b6fd49b738 759 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 760 lcd.printf("'S avonds af m");
rikvandyck 2:55b6fd49b738 761 wait(0.5);
rikvandyck 2:55b6fd49b738 762 while (button_enter == 0 && button_menu_back == 0 && wachttijd_klok < n) {
rikvandyck 2:55b6fd49b738 763 controle();
rikvandyck 2:55b6fd49b738 764 lcd.cls();
rikvandyck 2:55b6fd49b738 765 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 766 lcd.printf("'S avonds af m");
rikvandyck 2:55b6fd49b738 767 if(button_up == 1)
rikvandyck 2:55b6fd49b738 768 {
rikvandyck 2:55b6fd49b738 769 klok4_m = klok4_m + 1;
rikvandyck 2:55b6fd49b738 770 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 771 }
rikvandyck 2:55b6fd49b738 772 else if(button_down == 1)
rikvandyck 2:55b6fd49b738 773 {
rikvandyck 2:55b6fd49b738 774 klok4_m = klok4_m - 1;
rikvandyck 2:55b6fd49b738 775 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 776 }
rikvandyck 2:55b6fd49b738 777 else
rikvandyck 2:55b6fd49b738 778 {
rikvandyck 2:55b6fd49b738 779 wachttijd_klok ++;
rikvandyck 2:55b6fd49b738 780 }
rikvandyck 2:55b6fd49b738 781 if (klok4_m > 60)
rikvandyck 2:55b6fd49b738 782 {
rikvandyck 2:55b6fd49b738 783 klok4_m = 0;
rikvandyck 2:55b6fd49b738 784 }
rikvandyck 2:55b6fd49b738 785 if (klok4_m < 0)
rikvandyck 2:55b6fd49b738 786 {
rikvandyck 2:55b6fd49b738 787 klok4_m = 59;
rikvandyck 2:55b6fd49b738 788 }
rikvandyck 2:55b6fd49b738 789 lcd.locate(0,1);
rikvandyck 2:55b6fd49b738 790 lcd.printf("Tijd: %d:%d",klok4_u,klok4_m);
rikvandyck 2:55b6fd49b738 791 }
rikvandyck 2:55b6fd49b738 792 if (button_enter == 1)
rikvandyck 2:55b6fd49b738 793 {
rikvandyck 2:55b6fd49b738 794 selectie = 3;
rikvandyck 2:55b6fd49b738 795 }
rikvandyck 2:55b6fd49b738 796 }
rikvandyck 2:55b6fd49b738 797 }
rikvandyck 2:55b6fd49b738 798 }
rikvandyck 2:55b6fd49b738 799 }
rikvandyck 2:55b6fd49b738 800 }
rikvandyck 2:55b6fd49b738 801 }
rikvandyck 2:55b6fd49b738 802 }
rikvandyck 2:55b6fd49b738 803 if(button_menu_back == 1 || wachttijd_klok > n)
rikvandyck 2:55b6fd49b738 804 {
rikvandyck 2:55b6fd49b738 805 klok1_u = backup_klok1_u;
rikvandyck 2:55b6fd49b738 806 klok2_u = backup_klok2_u;
rikvandyck 2:55b6fd49b738 807 klok3_u = backup_klok3_u;
rikvandyck 2:55b6fd49b738 808 klok4_u = backup_klok4_u;
rikvandyck 2:55b6fd49b738 809 klok1_m = backup_klok1_m;
rikvandyck 2:55b6fd49b738 810 klok2_m = backup_klok2_m;
rikvandyck 2:55b6fd49b738 811 klok3_m = backup_klok3_m;
rikvandyck 2:55b6fd49b738 812 klok4_m = backup_klok4_m;
rikvandyck 2:55b6fd49b738 813 }
rikvandyck 2:55b6fd49b738 814 break;
rikvandyck 2:55b6fd49b738 815 case (3):
rikvandyck 2:55b6fd49b738 816 lcd.cls();
rikvandyck 2:55b6fd49b738 817 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 818 lcd.printf("Helderheid");
rikvandyck 2:55b6fd49b738 819 wait(0.5);
rikvandyck 2:55b6fd49b738 820 backup_h = helderheid;
rikvandyck 2:55b6fd49b738 821 lcd.cls();
rikvandyck 2:55b6fd49b738 822 wachttijd_menu = 0;
rikvandyck 2:55b6fd49b738 823 while (button_enter == 0 && button_menu_back == 0 && wachttijd_menu < n) {
rikvandyck 2:55b6fd49b738 824 controle();
rikvandyck 2:55b6fd49b738 825 lcd.cls();
rikvandyck 2:55b6fd49b738 826 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 827 lcd.printf("Helderheid");
rikvandyck 2:55b6fd49b738 828 if(button_up == 1) {
rikvandyck 2:55b6fd49b738 829 helderheid = helderheid + 0.1;
rikvandyck 2:55b6fd49b738 830 wachttijd_menu = 0;
rikvandyck 2:55b6fd49b738 831 } else if(button_down == 1) {
rikvandyck 2:55b6fd49b738 832 helderheid = helderheid - 0.1;
rikvandyck 2:55b6fd49b738 833 wachttijd_menu = 0;
rikvandyck 2:55b6fd49b738 834 } else {
rikvandyck 2:55b6fd49b738 835 wachttijd_menu ++;
rikvandyck 2:55b6fd49b738 836 }
rikvandyck 2:55b6fd49b738 837 if (helderheid > 1.1) {
rikvandyck 2:55b6fd49b738 838 helderheid = 0;
rikvandyck 2:55b6fd49b738 839 }
rikvandyck 2:55b6fd49b738 840 if (helderheid < 0) {
rikvandyck 2:55b6fd49b738 841 helderheid = 1;
rikvandyck 2:55b6fd49b738 842 }
rikvandyck 2:55b6fd49b738 843 lcd.locate(0,1);
rikvandyck 2:55b6fd49b738 844 lcd.printf("=> %.1f",helderheid);
rikvandyck 2:55b6fd49b738 845 achtergrondverlichting = helderheid;
rikvandyck 2:55b6fd49b738 846 }
rikvandyck 2:55b6fd49b738 847 if (button_menu_back == 1) {
rikvandyck 2:55b6fd49b738 848 helderheid = backup_h;
rikvandyck 2:55b6fd49b738 849 }
rikvandyck 2:55b6fd49b738 850 achtergrondverlichting = helderheid;
rikvandyck 2:55b6fd49b738 851 break;
rikvandyck 2:55b6fd49b738 852 }
rikvandyck 2:55b6fd49b738 853 }
rikvandyck 2:55b6fd49b738 854 }
rikvandyck 2:55b6fd49b738 855 wachttijd_menu = 20;
rikvandyck 2:55b6fd49b738 856 wachttijd_klok = 20;
rikvandyck 2:55b6fd49b738 857 wachttijd_up = 0;
rikvandyck 2:55b6fd49b738 858 k = 0;
rikvandyck 2:55b6fd49b738 859 }
rikvandyck 2:55b6fd49b738 860
rikvandyck 2:55b6fd49b738 861 void up()
rikvandyck 2:55b6fd49b738 862 {
rikvandyck 2:55b6fd49b738 863 if((selectie == 1 || selectie == 3) && wachttijd_menu < 10 && wachttijd_klok < 10 && wachttijd_up < 10) {
rikvandyck 2:55b6fd49b738 864 backup1 = instel_temp;
rikvandyck 2:55b6fd49b738 865 lcd.cls();
rikvandyck 2:55b6fd49b738 866 wachttijd_up = 0;
rikvandyck 2:55b6fd49b738 867 while (button_enter == 0 && button_menu_back == 0 && wachttijd_up < n) {
rikvandyck 2:55b6fd49b738 868 controle();
rikvandyck 2:55b6fd49b738 869 lcd.cls();
rikvandyck 2:55b6fd49b738 870 lcd.locate(0,0);
rikvandyck 2:55b6fd49b738 871 lcd.printf("Instel: %.2f C",instel_temp);
rikvandyck 2:55b6fd49b738 872 if(button_up == 1) {
rikvandyck 2:55b6fd49b738 873 instel_temp = instel_temp + 0.5;
rikvandyck 2:55b6fd49b738 874 wachttijd_up = 0;
rikvandyck 2:55b6fd49b738 875 } else if(button_down == 1) {
rikvandyck 2:55b6fd49b738 876 instel_temp = instel_temp - 0.5;
rikvandyck 2:55b6fd49b738 877 wachttijd_up = 0;
rikvandyck 2:55b6fd49b738 878 } else {
rikvandyck 2:55b6fd49b738 879 wachttijd_up ++;
rikvandyck 2:55b6fd49b738 880 }
rikvandyck 2:55b6fd49b738 881 }
rikvandyck 2:55b6fd49b738 882 if (button_enter == 1) {
rikvandyck 2:55b6fd49b738 883 instel_temp = instel_temp;
rikvandyck 2:55b6fd49b738 884 instel_temp_serieel = instel_temp;
rikvandyck 2:55b6fd49b738 885 wachttijd_up = 0;
rikvandyck 2:55b6fd49b738 886 } else if (button_menu_back == 1) {
rikvandyck 2:55b6fd49b738 887 instel_temp = backup1;
rikvandyck 2:55b6fd49b738 888 instel_temp_serieel = backup1;
rikvandyck 2:55b6fd49b738 889 wachttijd_up = 20;
rikvandyck 2:55b6fd49b738 890 } else {
rikvandyck 2:55b6fd49b738 891 instel_temp = backup1;
rikvandyck 2:55b6fd49b738 892 instel_temp_serieel = backup1;
rikvandyck 2:55b6fd49b738 893 }
rikvandyck 2:55b6fd49b738 894 serieel_printen();
rikvandyck 2:55b6fd49b738 895 }
rikvandyck 2:55b6fd49b738 896 wachttijd_menu = 0;
rikvandyck 2:55b6fd49b738 897 wachttijd_klok = 0;
rikvandyck 2:55b6fd49b738 898 wachttijd_up = 20;
rikvandyck 2:55b6fd49b738 899 k = 0;
rikvandyck 0:e1edd52b1ee2 900 }