testfase

Dependencies:   TextLCD mbed DS1307 Servo

Committer:
JonathanCaes
Date:
Thu Nov 27 10:09:27 2014 +0000
Revision:
0:09e0c8d681a8
Child:
1:83cbca2c2d86
testfase

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JonathanCaes 0:09e0c8d681a8 1 //Library's
JonathanCaes 0:09e0c8d681a8 2 #include "mbed.h"
JonathanCaes 0:09e0c8d681a8 3 #include "TextLCD.h"
JonathanCaes 0:09e0c8d681a8 4
JonathanCaes 0:09e0c8d681a8 5 //Pin initialisatie
JonathanCaes 0:09e0c8d681a8 6 Serial pc(USBTX,USBRX);
JonathanCaes 0:09e0c8d681a8 7 AnalogIn temp1(p20);
JonathanCaes 0:09e0c8d681a8 8 AnalogIn temp2(p19);
JonathanCaes 0:09e0c8d681a8 9 DigitalIn knopUP(p5);
JonathanCaes 0:09e0c8d681a8 10 DigitalIn knopDOWN(p6);
JonathanCaes 0:09e0c8d681a8 11 DigitalIn knopINSTEL(p7);
JonathanCaes 0:09e0c8d681a8 12 DigitalIn knopBACK(p8);
JonathanCaes 0:09e0c8d681a8 13 DigitalOut myled1(LED1);
JonathanCaes 0:09e0c8d681a8 14 DigitalOut myled2(LED2);
JonathanCaes 0:09e0c8d681a8 15 DigitalOut myled3(LED3);
JonathanCaes 0:09e0c8d681a8 16 TextLCD lcd(p15, p16, p21, p22, p23, p24); // rs, e, d4-d7
JonathanCaes 0:09e0c8d681a8 17 PwmOut Servo(p25);
JonathanCaes 0:09e0c8d681a8 18
JonathanCaes 0:09e0c8d681a8 19 //variabelen declareren/initialiseren
JonathanCaes 0:09e0c8d681a8 20 float i = 0;
JonathanCaes 0:09e0c8d681a8 21 float j = 0;
JonathanCaes 0:09e0c8d681a8 22 int temperatuur = 20;
JonathanCaes 0:09e0c8d681a8 23 int counter = 0;
JonathanCaes 0:09e0c8d681a8 24 int teller = 0;
JonathanCaes 0:09e0c8d681a8 25
JonathanCaes 0:09e0c8d681a8 26 //Main Programma
JonathanCaes 0:09e0c8d681a8 27 int main()
JonathanCaes 0:09e0c8d681a8 28 {
JonathanCaes 0:09e0c8d681a8 29 pc.printf("\x1B\x48\x1B\x4A");
JonathanCaes 0:09e0c8d681a8 30 pc.printf("Temperatuur");
JonathanCaes 0:09e0c8d681a8 31 while(1)
JonathanCaes 0:09e0c8d681a8 32 {
JonathanCaes 0:09e0c8d681a8 33 /*------------------------------------------------------------------------*/
JonathanCaes 0:09e0c8d681a8 34 //Seriele communicatie met pc
JonathanCaes 0:09e0c8d681a8 35 pc.printf("\x1B\x48");
JonathanCaes 0:09e0c8d681a8 36 i=0;
JonathanCaes 0:09e0c8d681a8 37 j=0;
JonathanCaes 0:09e0c8d681a8 38 /*------------------------------------------------------------------------*/
JonathanCaes 0:09e0c8d681a8 39 //Temperatuur inlezen
JonathanCaes 0:09e0c8d681a8 40 for(int t=0;t<100;t++)
JonathanCaes 0:09e0c8d681a8 41 {
JonathanCaes 0:09e0c8d681a8 42 i=i+temp1.read();
JonathanCaes 0:09e0c8d681a8 43
JonathanCaes 0:09e0c8d681a8 44 }
JonathanCaes 0:09e0c8d681a8 45 for(int k=0;k<100;k++)
JonathanCaes 0:09e0c8d681a8 46 {
JonathanCaes 0:09e0c8d681a8 47 j=j+temp2.read();
JonathanCaes 0:09e0c8d681a8 48 }
JonathanCaes 0:09e0c8d681a8 49 /*------------------------------------------------------------------------*/
JonathanCaes 0:09e0c8d681a8 50 //Motor aansturen
JonathanCaes 0:09e0c8d681a8 51 Servo.period_ms(20);
JonathanCaes 0:09e0c8d681a8 52 if(knopUP)
JonathanCaes 0:09e0c8d681a8 53 {
JonathanCaes 0:09e0c8d681a8 54 Servo = (90 * 0.000511 + 0.026); // rust
JonathanCaes 0:09e0c8d681a8 55 wait(1);
JonathanCaes 0:09e0c8d681a8 56 Servo = (7 * 0.000511 + 0.026); // links 7
JonathanCaes 0:09e0c8d681a8 57 wait(1);
JonathanCaes 0:09e0c8d681a8 58 Servo = (90 * 0.000511 + 0.026); // rust
JonathanCaes 0:09e0c8d681a8 59 wait(1);
JonathanCaes 0:09e0c8d681a8 60 Servo = (170 * 0.000511 + 0.026); // rechts
JonathanCaes 0:09e0c8d681a8 61 wait(1);
JonathanCaes 0:09e0c8d681a8 62 }
JonathanCaes 0:09e0c8d681a8 63 /*------------------------------------------------------------------------*/
JonathanCaes 0:09e0c8d681a8 64 //Menu Instellingen
JonathanCaes 0:09e0c8d681a8 65 if(knopINSTEL)
JonathanCaes 0:09e0c8d681a8 66 {
JonathanCaes 0:09e0c8d681a8 67 teller = 0;
JonathanCaes 0:09e0c8d681a8 68 wait(0.3);
JonathanCaes 0:09e0c8d681a8 69 lcd.cls();
JonathanCaes 0:09e0c8d681a8 70 while(knopBACK == 0)
JonathanCaes 0:09e0c8d681a8 71 {
JonathanCaes 0:09e0c8d681a8 72 lcd.locate(0,0);
JonathanCaes 0:09e0c8d681a8 73 lcd.printf(" Instellen Temp");
JonathanCaes 0:09e0c8d681a8 74 lcd.locate(0,1);
JonathanCaes 0:09e0c8d681a8 75 lcd.printf(" Temp = %iC", temperatuur);
JonathanCaes 0:09e0c8d681a8 76 if(knopUP)
JonathanCaes 0:09e0c8d681a8 77 {
JonathanCaes 0:09e0c8d681a8 78 temperatuur = temperatuur + 1;
JonathanCaes 0:09e0c8d681a8 79 if(temperatuur > 30)
JonathanCaes 0:09e0c8d681a8 80 {
JonathanCaes 0:09e0c8d681a8 81 temperatuur = 20;
JonathanCaes 0:09e0c8d681a8 82 }
JonathanCaes 0:09e0c8d681a8 83 if(temperatuur < 20)
JonathanCaes 0:09e0c8d681a8 84 {
JonathanCaes 0:09e0c8d681a8 85 temperatuur = 30;
JonathanCaes 0:09e0c8d681a8 86 }
JonathanCaes 0:09e0c8d681a8 87 lcd.cls();
JonathanCaes 0:09e0c8d681a8 88 lcd.locate(0,0);
JonathanCaes 0:09e0c8d681a8 89 lcd.printf("Ingestelde Temp");
JonathanCaes 0:09e0c8d681a8 90 lcd.locate(0,1);
JonathanCaes 0:09e0c8d681a8 91 lcd.printf(" %iC ", temperatuur);
JonathanCaes 0:09e0c8d681a8 92 wait(0.6);
JonathanCaes 0:09e0c8d681a8 93 lcd.cls();
JonathanCaes 0:09e0c8d681a8 94 }
JonathanCaes 0:09e0c8d681a8 95 if(knopDOWN)
JonathanCaes 0:09e0c8d681a8 96 {
JonathanCaes 0:09e0c8d681a8 97 temperatuur = temperatuur - 1;
JonathanCaes 0:09e0c8d681a8 98 if(temperatuur == 30)
JonathanCaes 0:09e0c8d681a8 99 {
JonathanCaes 0:09e0c8d681a8 100 temperatuur = 20;
JonathanCaes 0:09e0c8d681a8 101 }
JonathanCaes 0:09e0c8d681a8 102 if(temperatuur < 20)
JonathanCaes 0:09e0c8d681a8 103 {
JonathanCaes 0:09e0c8d681a8 104 temperatuur = 30;
JonathanCaes 0:09e0c8d681a8 105 }
JonathanCaes 0:09e0c8d681a8 106 lcd.cls();
JonathanCaes 0:09e0c8d681a8 107 lcd.locate(0,0);
JonathanCaes 0:09e0c8d681a8 108 lcd.printf("Ingestelde Temp");
JonathanCaes 0:09e0c8d681a8 109 lcd.locate(0,1);
JonathanCaes 0:09e0c8d681a8 110 lcd.printf(" %iC ", temperatuur);
JonathanCaes 0:09e0c8d681a8 111 wait(0.6);
JonathanCaes 0:09e0c8d681a8 112 lcd.cls();
JonathanCaes 0:09e0c8d681a8 113 }
JonathanCaes 0:09e0c8d681a8 114 }
JonathanCaes 0:09e0c8d681a8 115 }
JonathanCaes 0:09e0c8d681a8 116 /*------------------------------------------------------------------------*/
JonathanCaes 0:09e0c8d681a8 117 //Temperatuur instellen
JonathanCaes 0:09e0c8d681a8 118 /*if(knopUP)
JonathanCaes 0:09e0c8d681a8 119 {
JonathanCaes 0:09e0c8d681a8 120 temperatuur = temperatuur + 1;
JonathanCaes 0:09e0c8d681a8 121 if(temperatuur == 30)
JonathanCaes 0:09e0c8d681a8 122 {
JonathanCaes 0:09e0c8d681a8 123 temperatuur = 24;
JonathanCaes 0:09e0c8d681a8 124 }
JonathanCaes 0:09e0c8d681a8 125 lcd.cls();
JonathanCaes 0:09e0c8d681a8 126 lcd.locate(0,0);
JonathanCaes 0:09e0c8d681a8 127 lcd.printf("ingestelde temp");
JonathanCaes 0:09e0c8d681a8 128 lcd.locate(0,1);
JonathanCaes 0:09e0c8d681a8 129 lcd.printf(" %iC ", temperatuur);
JonathanCaes 0:09e0c8d681a8 130 wait(1);
JonathanCaes 0:09e0c8d681a8 131 }*/
JonathanCaes 0:09e0c8d681a8 132 /*------------------------------------------------------------------------*/
JonathanCaes 0:09e0c8d681a8 133 /*Temperatuur: Wanneer temperatuur hoger wordt dan ingesteld
JonathanCaes 0:09e0c8d681a8 134 zal een ledje dit aangeven*/
JonathanCaes 0:09e0c8d681a8 135 if((i*3.3)>= temperatuur)
JonathanCaes 0:09e0c8d681a8 136 {
JonathanCaes 0:09e0c8d681a8 137 myled1 = 1;
JonathanCaes 0:09e0c8d681a8 138 }
JonathanCaes 0:09e0c8d681a8 139 if((i*3.3) < temperatuur)
JonathanCaes 0:09e0c8d681a8 140 {
JonathanCaes 0:09e0c8d681a8 141 myled1 = 0;
JonathanCaes 0:09e0c8d681a8 142 }
JonathanCaes 0:09e0c8d681a8 143 /*------------------------------------------------------------------------*/
JonathanCaes 0:09e0c8d681a8 144 //LCD uitschrijven
JonathanCaes 0:09e0c8d681a8 145 counter++;
JonathanCaes 0:09e0c8d681a8 146 if(counter == 250)
JonathanCaes 0:09e0c8d681a8 147 {
JonathanCaes 0:09e0c8d681a8 148 lcd.cls();
JonathanCaes 0:09e0c8d681a8 149 lcd.locate(0,0);
JonathanCaes 0:09e0c8d681a8 150 lcd.printf("Temp 1:%4.1fC", i*3.3);
JonathanCaes 0:09e0c8d681a8 151 lcd.locate(0,1);
JonathanCaes 0:09e0c8d681a8 152 lcd.printf("Temp 2:%4.1fC", j*3.3);
JonathanCaes 0:09e0c8d681a8 153 pc.printf("\n\n\rTemperature1 %4.1f C ",i*3.3);
JonathanCaes 0:09e0c8d681a8 154 pc.printf("\n\rTemperature2 %4.1f C ",j*3.3);
JonathanCaes 0:09e0c8d681a8 155 counter = 0;
JonathanCaes 0:09e0c8d681a8 156 }
JonathanCaes 0:09e0c8d681a8 157 }
JonathanCaes 0:09e0c8d681a8 158 }