testfase
Dependencies: TextLCD mbed DS1307 Servo
main.cpp@0:09e0c8d681a8, 2014-11-27 (annotated)
- Committer:
- JonathanCaes
- Date:
- Thu Nov 27 10:09:27 2014 +0000
- Revision:
- 0:09e0c8d681a8
- Child:
- 1:83cbca2c2d86
testfase
Who changed what in which revision?
User | Revision | Line number | New 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 | } |