wefewf

Dependencies:   mbed

Committer:
JostBaus
Date:
Fri Feb 08 13:47:17 2019 +0000
Revision:
1:5be01136a518
Parent:
0:31bfb8d89abd
Fixed some problems^^

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JostBaus 0:31bfb8d89abd 1 #include "mbed.h"
JostBaus 0:31bfb8d89abd 2
JostBaus 0:31bfb8d89abd 3 Serial pc(USBTX,USBRX);
JostBaus 0:31bfb8d89abd 4
JostBaus 0:31bfb8d89abd 5
JostBaus 0:31bfb8d89abd 6
JostBaus 0:31bfb8d89abd 7 AnalogIn s11(p17);
JostBaus 0:31bfb8d89abd 8 AnalogIn s12(p18);
JostBaus 0:31bfb8d89abd 9 AnalogIn s13(p19);
JostBaus 0:31bfb8d89abd 10 AnalogIn s14(p20);
JostBaus 0:31bfb8d89abd 11
JostBaus 0:31bfb8d89abd 12 DigitalIn resetb(p16);
JostBaus 0:31bfb8d89abd 13
JostBaus 0:31bfb8d89abd 14 BusOut led(p25, p26, p27, p28);
JostBaus 0:31bfb8d89abd 15
JostBaus 0:31bfb8d89abd 16 DigitalOut led1(LED1), led2(LED2), led3(LED3), led4(LED4);
JostBaus 0:31bfb8d89abd 17
JostBaus 0:31bfb8d89abd 18 DigitalOut door1(p21), door2(p22), door3(p23), door4(p24);
JostBaus 0:31bfb8d89abd 19 DigitalOut door5(p25), door6(p26), door7(p27), door8(p28);
JostBaus 0:31bfb8d89abd 20
JostBaus 0:31bfb8d89abd 21
JostBaus 0:31bfb8d89abd 22
JostBaus 0:31bfb8d89abd 23 float ain1;
JostBaus 0:31bfb8d89abd 24 float ain2;
JostBaus 0:31bfb8d89abd 25 float ain3;
JostBaus 0:31bfb8d89abd 26 float ain4;
JostBaus 0:31bfb8d89abd 27 float value;
JostBaus 0:31bfb8d89abd 28 int who;
JostBaus 0:31bfb8d89abd 29
JostBaus 0:31bfb8d89abd 30 void alarm(float value, int who);
JostBaus 0:31bfb8d89abd 31 void sloyfe1();
JostBaus 0:31bfb8d89abd 32 void sloyfe2();
JostBaus 0:31bfb8d89abd 33 void sloyfe3();
JostBaus 0:31bfb8d89abd 34 void sloyfe4();
JostBaus 0:31bfb8d89abd 35 void blink();
JostBaus 0:31bfb8d89abd 36 void printV();
JostBaus 0:31bfb8d89abd 37
JostBaus 0:31bfb8d89abd 38
JostBaus 1:5be01136a518 39 //Ticker ticker1;
JostBaus 0:31bfb8d89abd 40 Ticker slf1;
JostBaus 0:31bfb8d89abd 41 Ticker slf2;
JostBaus 0:31bfb8d89abd 42 Ticker slf3;
JostBaus 0:31bfb8d89abd 43 Ticker slf4;
JostBaus 0:31bfb8d89abd 44 Ticker blinkON;
JostBaus 0:31bfb8d89abd 45
JostBaus 0:31bfb8d89abd 46 int main ()
JostBaus 0:31bfb8d89abd 47 {
JostBaus 0:31bfb8d89abd 48 led1 = 1;
JostBaus 1:5be01136a518 49 //ticker1.attach(&printV, 0.7);
JostBaus 0:31bfb8d89abd 50 slf1.attach(&sloyfe1, 0.7);
JostBaus 0:31bfb8d89abd 51 slf2.attach(&sloyfe2, 0.7);
JostBaus 0:31bfb8d89abd 52 slf3.attach(&sloyfe3, 0.7);
JostBaus 0:31bfb8d89abd 53 slf4.attach(&sloyfe4, 0.7);
JostBaus 0:31bfb8d89abd 54
JostBaus 0:31bfb8d89abd 55 while (1)
JostBaus 0:31bfb8d89abd 56 {
JostBaus 0:31bfb8d89abd 57
JostBaus 0:31bfb8d89abd 58 if (resetb == 1)
JostBaus 0:31bfb8d89abd 59 {
JostBaus 0:31bfb8d89abd 60 led1 = led2 = led3 = led4 = 0;
JostBaus 0:31bfb8d89abd 61 led = 0;
JostBaus 0:31bfb8d89abd 62 blinkON.detach();
JostBaus 0:31bfb8d89abd 63 }
JostBaus 0:31bfb8d89abd 64
JostBaus 0:31bfb8d89abd 65
JostBaus 0:31bfb8d89abd 66
JostBaus 0:31bfb8d89abd 67
JostBaus 0:31bfb8d89abd 68 }
JostBaus 0:31bfb8d89abd 69 }
JostBaus 0:31bfb8d89abd 70
JostBaus 0:31bfb8d89abd 71
JostBaus 1:5be01136a518 72 /*void printV()
JostBaus 0:31bfb8d89abd 73 {
JostBaus 1:5be01136a518 74 pc.printf ("ain1 = %f\n\r", s11 * 3.3);
JostBaus 1:5be01136a518 75 pc.printf ("ain2 = %f\n\r", s12 * 3.3);
JostBaus 1:5be01136a518 76 pc.printf ("%f\n\r", s13 * 3.3);
JostBaus 1:5be01136a518 77 pc.printf ("%f\n\r", s14 * 3.3);
JostBaus 0:31bfb8d89abd 78
JostBaus 1:5be01136a518 79 }*/
JostBaus 0:31bfb8d89abd 80
JostBaus 0:31bfb8d89abd 81 void sloyfe1()
JostBaus 0:31bfb8d89abd 82 {
JostBaus 0:31bfb8d89abd 83 ain1 = (s11 * 3.3);
JostBaus 0:31bfb8d89abd 84
JostBaus 0:31bfb8d89abd 85 if (ain1 > 2.33 && ain1 < 2.28) //Vanlig state
JostBaus 0:31bfb8d89abd 86 {
JostBaus 0:31bfb8d89abd 87 pc.printf("OK");
JostBaus 0:31bfb8d89abd 88 }
JostBaus 0:31bfb8d89abd 89 else
JostBaus 0:31bfb8d89abd 90 {
JostBaus 0:31bfb8d89abd 91 alarm(ain2, 2);
JostBaus 0:31bfb8d89abd 92 }
JostBaus 0:31bfb8d89abd 93 }
JostBaus 0:31bfb8d89abd 94
JostBaus 0:31bfb8d89abd 95 void sloyfe2()
JostBaus 0:31bfb8d89abd 96 {
JostBaus 0:31bfb8d89abd 97 ain2 = (s12 * 3.3);
JostBaus 0:31bfb8d89abd 98
JostBaus 0:31bfb8d89abd 99 if (ain2 > 2.33 && ain2 < 2.28) //Vanlig state
JostBaus 0:31bfb8d89abd 100 {
JostBaus 0:31bfb8d89abd 101 pc.printf("OK");
JostBaus 0:31bfb8d89abd 102 }
JostBaus 0:31bfb8d89abd 103 else
JostBaus 0:31bfb8d89abd 104 {
JostBaus 0:31bfb8d89abd 105 alarm(ain2, 2);
JostBaus 0:31bfb8d89abd 106 }
JostBaus 0:31bfb8d89abd 107 }
JostBaus 0:31bfb8d89abd 108
JostBaus 0:31bfb8d89abd 109 void sloyfe3()
JostBaus 0:31bfb8d89abd 110 {
JostBaus 0:31bfb8d89abd 111 ain3 = (s13 * 3.3);
JostBaus 0:31bfb8d89abd 112
JostBaus 0:31bfb8d89abd 113 if (ain3 > 2.33 && ain3 < 2.28) //Vanlig state
JostBaus 0:31bfb8d89abd 114 {
JostBaus 0:31bfb8d89abd 115 pc.printf("OK");
JostBaus 0:31bfb8d89abd 116 }
JostBaus 0:31bfb8d89abd 117 else
JostBaus 0:31bfb8d89abd 118 {
JostBaus 0:31bfb8d89abd 119 alarm(ain3, 4);
JostBaus 0:31bfb8d89abd 120 }
JostBaus 0:31bfb8d89abd 121 }
JostBaus 0:31bfb8d89abd 122
JostBaus 0:31bfb8d89abd 123 void sloyfe4()
JostBaus 0:31bfb8d89abd 124 {
JostBaus 0:31bfb8d89abd 125 ain4 = (s14 * 3.3);
JostBaus 0:31bfb8d89abd 126
JostBaus 0:31bfb8d89abd 127 if (ain4 > 2.33 && ain4 < 2.28) //Vanlig state
JostBaus 0:31bfb8d89abd 128 {
JostBaus 0:31bfb8d89abd 129 pc.printf("OK");
JostBaus 0:31bfb8d89abd 130 }
JostBaus 0:31bfb8d89abd 131 else
JostBaus 0:31bfb8d89abd 132 {
JostBaus 0:31bfb8d89abd 133 alarm(ain4, 8);
JostBaus 0:31bfb8d89abd 134 }
JostBaus 0:31bfb8d89abd 135 }
JostBaus 0:31bfb8d89abd 136
JostBaus 0:31bfb8d89abd 137 void alarm(float value, int who)
JostBaus 0:31bfb8d89abd 138 {
JostBaus 0:31bfb8d89abd 139 if (value > 0.483 && value < 0.474) //Dør 1 og dør 2 åpen
JostBaus 0:31bfb8d89abd 140 {
JostBaus 0:31bfb8d89abd 141 pc.printf("Both doors are open in s%d\n\r", who);
JostBaus 0:31bfb8d89abd 142 led = who;
JostBaus 0:31bfb8d89abd 143 led3 = 1;
JostBaus 0:31bfb8d89abd 144 led4 = 1;
JostBaus 1:5be01136a518 145 blinkON.attach(&blink, 0.1);
JostBaus 0:31bfb8d89abd 146 }
JostBaus 0:31bfb8d89abd 147
JostBaus 0:31bfb8d89abd 148 else if (value > 0.879 && value < 0.862) //Dør 1 åpen
JostBaus 0:31bfb8d89abd 149 {
JostBaus 0:31bfb8d89abd 150 pc.printf("Door 1 is open in s%d\n\r", who);
JostBaus 0:31bfb8d89abd 151 led = who;
JostBaus 0:31bfb8d89abd 152 led3 = 1;
JostBaus 1:5be01136a518 153 blinkON.attach(&blink, 0.1);
JostBaus 0:31bfb8d89abd 154 }
JostBaus 0:31bfb8d89abd 155
JostBaus 0:31bfb8d89abd 156 else if (value > 0.736 && value < 0.721) //Dør 2 åpen
JostBaus 0:31bfb8d89abd 157 {
JostBaus 0:31bfb8d89abd 158 pc.printf("Door 2 is open in s%d\n\r", who);
JostBaus 0:31bfb8d89abd 159 led = who;
JostBaus 0:31bfb8d89abd 160 led4 = 1;
JostBaus 1:5be01136a518 161 blinkON.attach(&blink, 0.1);
JostBaus 0:31bfb8d89abd 162 }
JostBaus 0:31bfb8d89abd 163
JostBaus 0:31bfb8d89abd 164 else if (value > 2.92 && value < 2.86) //Dør 1 kortsluttet
JostBaus 0:31bfb8d89abd 165 {
JostBaus 0:31bfb8d89abd 166 pc.printf("Short Circuit at Door 1 in s%d\n\r", who);
JostBaus 0:31bfb8d89abd 167 led = who;
JostBaus 0:31bfb8d89abd 168 led3 = 1;
JostBaus 1:5be01136a518 169 blinkON.attach(&blink, 0.1);
JostBaus 0:31bfb8d89abd 170
JostBaus 0:31bfb8d89abd 171 }
JostBaus 0:31bfb8d89abd 172
JostBaus 0:31bfb8d89abd 173 else if (value > 2.58 && value < 2.53) //Dør 2 kortsluttet
JostBaus 0:31bfb8d89abd 174 {
JostBaus 0:31bfb8d89abd 175 pc.printf("Short Circuit at Door 2 in s%d\n\r", who);
JostBaus 0:31bfb8d89abd 176 led = who;
JostBaus 0:31bfb8d89abd 177 led4 = 1;
JostBaus 1:5be01136a518 178 blinkON.attach(&blink, 0.1);
JostBaus 0:31bfb8d89abd 179
JostBaus 0:31bfb8d89abd 180
JostBaus 0:31bfb8d89abd 181 }
JostBaus 0:31bfb8d89abd 182
JostBaus 0:31bfb8d89abd 183 else //Something wrong in wing 1
JostBaus 0:31bfb8d89abd 184 {
JostBaus 0:31bfb8d89abd 185 pc.printf("verdi stemmer ikke %f", ain1);
JostBaus 0:31bfb8d89abd 186 blinkON.attach(&blink, 0.1);
JostBaus 0:31bfb8d89abd 187
JostBaus 0:31bfb8d89abd 188 }
JostBaus 0:31bfb8d89abd 189 }
JostBaus 0:31bfb8d89abd 190
JostBaus 0:31bfb8d89abd 191 void blink()
JostBaus 0:31bfb8d89abd 192 {
JostBaus 0:31bfb8d89abd 193 led1 = !led1;
JostBaus 0:31bfb8d89abd 194 }