Robot Security System

Dependencies:   Motordriver SHTx mbed

Committer:
dmehta39
Date:
Fri Oct 12 05:21:40 2012 +0000
Revision:
0:b6d5c2bbe0a8
Robot Security System

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dmehta39 0:b6d5c2bbe0a8 1 #include "mbed.h"
dmehta39 0:b6d5c2bbe0a8 2 #include "motordriver.h"
dmehta39 0:b6d5c2bbe0a8 3 //#include "SCP1000.h"
dmehta39 0:b6d5c2bbe0a8 4 #include "TextLCD.h"
dmehta39 0:b6d5c2bbe0a8 5 //#include "sht15.hpp"
dmehta39 0:b6d5c2bbe0a8 6 #include"stdio.h"
dmehta39 0:b6d5c2bbe0a8 7 #include "stdlib.h"
dmehta39 0:b6d5c2bbe0a8 8 #include "SHTx/sht15.hpp"
dmehta39 0:b6d5c2bbe0a8 9
dmehta39 0:b6d5c2bbe0a8 10 Serial pc(USBTX, USBRX); // tx, rx
dmehta39 0:b6d5c2bbe0a8 11 Serial device(p13, p14); // tx, rx
dmehta39 0:b6d5c2bbe0a8 12
dmehta39 0:b6d5c2bbe0a8 13 DigitalOut myled3(LED3);
dmehta39 0:b6d5c2bbe0a8 14 DigitalOut myled2(LED2);
dmehta39 0:b6d5c2bbe0a8 15 DigitalOut myled4(LED4);
dmehta39 0:b6d5c2bbe0a8 16
dmehta39 0:b6d5c2bbe0a8 17 SHTx::SHT15 sensor(p9, p10);
dmehta39 0:b6d5c2bbe0a8 18 float ss=0;
dmehta39 0:b6d5c2bbe0a8 19 Motor left(p21, p22, p23, 1); // pwm, fwd, rev, has brake feature
dmehta39 0:b6d5c2bbe0a8 20 Motor right(p26, p25, p24, 1);
dmehta39 0:b6d5c2bbe0a8 21 float dhaval=0;
dmehta39 0:b6d5c2bbe0a8 22 float jill=0;
dmehta39 0:b6d5c2bbe0a8 23 float g=0;
dmehta39 0:b6d5c2bbe0a8 24 float g1=0;
dmehta39 0:b6d5c2bbe0a8 25 float g2=0;
dmehta39 0:b6d5c2bbe0a8 26 float g3=0;
dmehta39 0:b6d5c2bbe0a8 27 //char buffer[50];
dmehta39 0:b6d5c2bbe0a8 28 float h=0;
dmehta39 0:b6d5c2bbe0a8 29 float h1=0;
dmehta39 0:b6d5c2bbe0a8 30 float h2=0;
dmehta39 0:b6d5c2bbe0a8 31 float h3=0;
dmehta39 0:b6d5c2bbe0a8 32 TextLCD lcd(p15, p16, p17, p18, p19, p20);
dmehta39 0:b6d5c2bbe0a8 33 char a[300];
dmehta39 0:b6d5c2bbe0a8 34 int count=0;
dmehta39 0:b6d5c2bbe0a8 35 int s = 0;
dmehta39 0:b6d5c2bbe0a8 36
dmehta39 0:b6d5c2bbe0a8 37 DigitalOut busy(LED1);
dmehta39 0:b6d5c2bbe0a8 38
dmehta39 0:b6d5c2bbe0a8 39
dmehta39 0:b6d5c2bbe0a8 40
dmehta39 0:b6d5c2bbe0a8 41
dmehta39 0:b6d5c2bbe0a8 42
dmehta39 0:b6d5c2bbe0a8 43
dmehta39 0:b6d5c2bbe0a8 44
dmehta39 0:b6d5c2bbe0a8 45
dmehta39 0:b6d5c2bbe0a8 46
dmehta39 0:b6d5c2bbe0a8 47
dmehta39 0:b6d5c2bbe0a8 48
dmehta39 0:b6d5c2bbe0a8 49
dmehta39 0:b6d5c2bbe0a8 50
dmehta39 0:b6d5c2bbe0a8 51 int main()
dmehta39 0:b6d5c2bbe0a8 52 {
dmehta39 0:b6d5c2bbe0a8 53
dmehta39 0:b6d5c2bbe0a8 54 sensor.setOTPReload(false);
dmehta39 0:b6d5c2bbe0a8 55 sensor.setResolution(true);
dmehta39 0:b6d5c2bbe0a8 56
dmehta39 0:b6d5c2bbe0a8 57
dmehta39 0:b6d5c2bbe0a8 58 busy = true;
dmehta39 0:b6d5c2bbe0a8 59 sensor.update();
dmehta39 0:b6d5c2bbe0a8 60 busy = false;
dmehta39 0:b6d5c2bbe0a8 61
dmehta39 0:b6d5c2bbe0a8 62 sensor.setScale(false);
dmehta39 0:b6d5c2bbe0a8 63 float pp1 = (sensor.getTemperature()-2.0);
dmehta39 0:b6d5c2bbe0a8 64 char halftemp[60];
dmehta39 0:b6d5c2bbe0a8 65 sprintf(halftemp, "%f", pp1);
dmehta39 0:b6d5c2bbe0a8 66
dmehta39 0:b6d5c2bbe0a8 67 float pp2 = sensor.getHumidity();
dmehta39 0:b6d5c2bbe0a8 68 char halftemp2[60];
dmehta39 0:b6d5c2bbe0a8 69 sprintf(halftemp2, "%f", pp2);
dmehta39 0:b6d5c2bbe0a8 70
dmehta39 0:b6d5c2bbe0a8 71
dmehta39 0:b6d5c2bbe0a8 72
dmehta39 0:b6d5c2bbe0a8 73
dmehta39 0:b6d5c2bbe0a8 74
dmehta39 0:b6d5c2bbe0a8 75 do{
dmehta39 0:b6d5c2bbe0a8 76 while(1) {
dmehta39 0:b6d5c2bbe0a8 77 count = 0;
dmehta39 0:b6d5c2bbe0a8 78 if (device.readable()) {
dmehta39 0:b6d5c2bbe0a8 79 do {
dmehta39 0:b6d5c2bbe0a8 80 s=device.getc();
dmehta39 0:b6d5c2bbe0a8 81 a[count]=s;
dmehta39 0:b6d5c2bbe0a8 82
dmehta39 0:b6d5c2bbe0a8 83 count++;
dmehta39 0:b6d5c2bbe0a8 84 } while(s != '\r');
dmehta39 0:b6d5c2bbe0a8 85
dmehta39 0:b6d5c2bbe0a8 86 if(a[6]=='9' && a[7]=='0' && a[8]=='2' && a[9]=='8' && a[10]=='7' && a[11]=='8' && a[12]=='0' && a[13]=='7' && a[14]=='2' )
dmehta39 0:b6d5c2bbe0a8 87 {
dmehta39 0:b6d5c2bbe0a8 88 lcd.cls();
dmehta39 0:b6d5c2bbe0a8 89 lcd.printf("Temperature in C: %s\n", halftemp);
dmehta39 0:b6d5c2bbe0a8 90
dmehta39 0:b6d5c2bbe0a8 91 myled3=!myled3;
dmehta39 0:b6d5c2bbe0a8 92
dmehta39 0:b6d5c2bbe0a8 93 h1=0;h2=0;h3=0;g1=0;g2=0;g3=0;
dmehta39 0:b6d5c2bbe0a8 94 while (1) {
dmehta39 0:b6d5c2bbe0a8 95
dmehta39 0:b6d5c2bbe0a8 96 if(g1==0) {
dmehta39 0:b6d5c2bbe0a8 97
dmehta39 0:b6d5c2bbe0a8 98
dmehta39 0:b6d5c2bbe0a8 99 // Sweep the motor speed from full-speed reverse (-1.0) to full speed forwards (1.0)
dmehta39 0:b6d5c2bbe0a8 100
dmehta39 0:b6d5c2bbe0a8 101 left.speed(0.4);
dmehta39 0:b6d5c2bbe0a8 102
dmehta39 0:b6d5c2bbe0a8 103 right.speed(0.8);
dmehta39 0:b6d5c2bbe0a8 104
dmehta39 0:b6d5c2bbe0a8 105 wait(0.5);
dmehta39 0:b6d5c2bbe0a8 106 // Turn off motors - coast one and brake one
dmehta39 0:b6d5c2bbe0a8 107
dmehta39 0:b6d5c2bbe0a8 108 right.speed(0); //////for turning right......
dmehta39 0:b6d5c2bbe0a8 109 left.speed(0); ////for turning left
dmehta39 0:b6d5c2bbe0a8 110 ++g1;
dmehta39 0:b6d5c2bbe0a8 111
dmehta39 0:b6d5c2bbe0a8 112 wait(1);
dmehta39 0:b6d5c2bbe0a8 113 }
dmehta39 0:b6d5c2bbe0a8 114
dmehta39 0:b6d5c2bbe0a8 115 if(g2==0 ) {
dmehta39 0:b6d5c2bbe0a8 116
dmehta39 0:b6d5c2bbe0a8 117
dmehta39 0:b6d5c2bbe0a8 118 // Sweep the motor speed from full-speed reverse (-1.0) to full speed forwards (1.0)
dmehta39 0:b6d5c2bbe0a8 119
dmehta39 0:b6d5c2bbe0a8 120 left.speed(0.2);
dmehta39 0:b6d5c2bbe0a8 121
dmehta39 0:b6d5c2bbe0a8 122
dmehta39 0:b6d5c2bbe0a8 123 right.speed(0);
dmehta39 0:b6d5c2bbe0a8 124
dmehta39 0:b6d5c2bbe0a8 125 wait(1);
dmehta39 0:b6d5c2bbe0a8 126 // Turn off motors - coast one and brake one
dmehta39 0:b6d5c2bbe0a8 127
dmehta39 0:b6d5c2bbe0a8 128
dmehta39 0:b6d5c2bbe0a8 129 left.stop(0); ////for turning left
dmehta39 0:b6d5c2bbe0a8 130 ++g2;
dmehta39 0:b6d5c2bbe0a8 131
dmehta39 0:b6d5c2bbe0a8 132 wait(1);
dmehta39 0:b6d5c2bbe0a8 133
dmehta39 0:b6d5c2bbe0a8 134 }
dmehta39 0:b6d5c2bbe0a8 135
dmehta39 0:b6d5c2bbe0a8 136
dmehta39 0:b6d5c2bbe0a8 137 if(g3==0) {
dmehta39 0:b6d5c2bbe0a8 138
dmehta39 0:b6d5c2bbe0a8 139 // Sweep the motor speed from full-speed reverse (-1.0) to full speed forwards (1.0)
dmehta39 0:b6d5c2bbe0a8 140
dmehta39 0:b6d5c2bbe0a8 141 left.speed(0.4);
dmehta39 0:b6d5c2bbe0a8 142
dmehta39 0:b6d5c2bbe0a8 143
dmehta39 0:b6d5c2bbe0a8 144 right.speed(0.8);
dmehta39 0:b6d5c2bbe0a8 145
dmehta39 0:b6d5c2bbe0a8 146 wait(0.5);
dmehta39 0:b6d5c2bbe0a8 147 // Turn off motors - coast one and brake one
dmehta39 0:b6d5c2bbe0a8 148
dmehta39 0:b6d5c2bbe0a8 149 right.speed(0); //////for turning right......
dmehta39 0:b6d5c2bbe0a8 150 left.speed(0); ////for turning left
dmehta39 0:b6d5c2bbe0a8 151 ++g3;
dmehta39 0:b6d5c2bbe0a8 152
dmehta39 0:b6d5c2bbe0a8 153 ++jill;
dmehta39 0:b6d5c2bbe0a8 154 wait(1);
dmehta39 0:b6d5c2bbe0a8 155
dmehta39 0:b6d5c2bbe0a8 156 }
dmehta39 0:b6d5c2bbe0a8 157 if(jill==1)
dmehta39 0:b6d5c2bbe0a8 158 break;
dmehta39 0:b6d5c2bbe0a8 159 }
dmehta39 0:b6d5c2bbe0a8 160
dmehta39 0:b6d5c2bbe0a8 161
dmehta39 0:b6d5c2bbe0a8 162 }
dmehta39 0:b6d5c2bbe0a8 163
dmehta39 0:b6d5c2bbe0a8 164 /////////////// TESTING SECOND CARD...F0RWARD THEN RIGHT TURN TERN BACK
dmehta39 0:b6d5c2bbe0a8 165
dmehta39 0:b6d5c2bbe0a8 166 if(a[6]=='9' && a[7]=='0' && a[8]=='2' && a[9]=='9' && a[10]=='1' && a[11]=='1' && a[12]=='2' && a[13]=='5' && a[14]=='0' )
dmehta39 0:b6d5c2bbe0a8 167 {
dmehta39 0:b6d5c2bbe0a8 168
dmehta39 0:b6d5c2bbe0a8 169 lcd.cls();
dmehta39 0:b6d5c2bbe0a8 170 lcd.printf("Humidity is\n: %s %%\n", halftemp2);
dmehta39 0:b6d5c2bbe0a8 171
dmehta39 0:b6d5c2bbe0a8 172
dmehta39 0:b6d5c2bbe0a8 173
dmehta39 0:b6d5c2bbe0a8 174 myled2=!myled2;
dmehta39 0:b6d5c2bbe0a8 175 myled4=!myled4;
dmehta39 0:b6d5c2bbe0a8 176 g1=0;g2=0;g3=0; h1=0;h2=0;h3=0;
dmehta39 0:b6d5c2bbe0a8 177
dmehta39 0:b6d5c2bbe0a8 178 while (1) {
dmehta39 0:b6d5c2bbe0a8 179
dmehta39 0:b6d5c2bbe0a8 180 if(h1==0 ) {
dmehta39 0:b6d5c2bbe0a8 181
dmehta39 0:b6d5c2bbe0a8 182
dmehta39 0:b6d5c2bbe0a8 183 // Sweep the motor speed from full-speed reverse (-1.0) to full speed forwards (1.0)
dmehta39 0:b6d5c2bbe0a8 184
dmehta39 0:b6d5c2bbe0a8 185 left.speed(0.4);
dmehta39 0:b6d5c2bbe0a8 186
dmehta39 0:b6d5c2bbe0a8 187 right.speed(0.8);
dmehta39 0:b6d5c2bbe0a8 188
dmehta39 0:b6d5c2bbe0a8 189 wait(0.5);
dmehta39 0:b6d5c2bbe0a8 190 // Turn off motors - coast one and brake one
dmehta39 0:b6d5c2bbe0a8 191
dmehta39 0:b6d5c2bbe0a8 192 right.speed(0); //////for turning right......
dmehta39 0:b6d5c2bbe0a8 193 left.speed(0); ////for turning left
dmehta39 0:b6d5c2bbe0a8 194 ++h1;
dmehta39 0:b6d5c2bbe0a8 195 g1=0;
dmehta39 0:b6d5c2bbe0a8 196
dmehta39 0:b6d5c2bbe0a8 197 wait(1);
dmehta39 0:b6d5c2bbe0a8 198 }
dmehta39 0:b6d5c2bbe0a8 199
dmehta39 0:b6d5c2bbe0a8 200 if(h2==0 ) {
dmehta39 0:b6d5c2bbe0a8 201
dmehta39 0:b6d5c2bbe0a8 202
dmehta39 0:b6d5c2bbe0a8 203 // Sweep the motor speed from full-speed reverse (-1.0) to full speed forwards (1.0)
dmehta39 0:b6d5c2bbe0a8 204
dmehta39 0:b6d5c2bbe0a8 205 right.speed(0.2);
dmehta39 0:b6d5c2bbe0a8 206
dmehta39 0:b6d5c2bbe0a8 207 left.speed(0);
dmehta39 0:b6d5c2bbe0a8 208 wait(1);
dmehta39 0:b6d5c2bbe0a8 209 // Turn off motors - coast one and brake one
dmehta39 0:b6d5c2bbe0a8 210
dmehta39 0:b6d5c2bbe0a8 211 right.stop(0); //////for turning right......
dmehta39 0:b6d5c2bbe0a8 212 //left.stop(0); ////for turning left
dmehta39 0:b6d5c2bbe0a8 213 ++h2;
dmehta39 0:b6d5c2bbe0a8 214 g2=0;
dmehta39 0:b6d5c2bbe0a8 215
dmehta39 0:b6d5c2bbe0a8 216 wait(1);
dmehta39 0:b6d5c2bbe0a8 217
dmehta39 0:b6d5c2bbe0a8 218 }
dmehta39 0:b6d5c2bbe0a8 219
dmehta39 0:b6d5c2bbe0a8 220
dmehta39 0:b6d5c2bbe0a8 221 if(h3==0) {
dmehta39 0:b6d5c2bbe0a8 222 //myled=1;
dmehta39 0:b6d5c2bbe0a8 223 // Sweep the motor speed from full-speed reverse (-1.0) to full speed forwards (1.0)
dmehta39 0:b6d5c2bbe0a8 224
dmehta39 0:b6d5c2bbe0a8 225 left.speed(0.4);
dmehta39 0:b6d5c2bbe0a8 226
dmehta39 0:b6d5c2bbe0a8 227
dmehta39 0:b6d5c2bbe0a8 228
dmehta39 0:b6d5c2bbe0a8 229
dmehta39 0:b6d5c2bbe0a8 230 wait(0.5);
dmehta39 0:b6d5c2bbe0a8 231 // Turn off motors - coast one and brake one
dmehta39 0:b6d5c2bbe0a8 232
dmehta39 0:b6d5c2bbe0a8 233 right.speed(0); //////for turning right......
dmehta39 0:b6d5c2bbe0a8 234 left.speed(0); ////for turning left
dmehta39 0:b6d5c2bbe0a8 235 ++h3;
dmehta39 0:b6d5c2bbe0a8 236 g3=0;
dmehta39 0:b6d5c2bbe0a8 237
dmehta39 0:b6d5c2bbe0a8 238 ++dhaval;
dmehta39 0:b6d5c2bbe0a8 239 wait(1);
dmehta39 0:b6d5c2bbe0a8 240
dmehta39 0:b6d5c2bbe0a8 241 }
dmehta39 0:b6d5c2bbe0a8 242
dmehta39 0:b6d5c2bbe0a8 243 if(dhaval==1)
dmehta39 0:b6d5c2bbe0a8 244 break;
dmehta39 0:b6d5c2bbe0a8 245
dmehta39 0:b6d5c2bbe0a8 246 }
dmehta39 0:b6d5c2bbe0a8 247
dmehta39 0:b6d5c2bbe0a8 248
dmehta39 0:b6d5c2bbe0a8 249 }
dmehta39 0:b6d5c2bbe0a8 250 }
dmehta39 0:b6d5c2bbe0a8 251
dmehta39 0:b6d5c2bbe0a8 252 }
dmehta39 0:b6d5c2bbe0a8 253
dmehta39 0:b6d5c2bbe0a8 254 } while(ss==0);
dmehta39 0:b6d5c2bbe0a8 255 }
dmehta39 0:b6d5c2bbe0a8 256
dmehta39 0:b6d5c2bbe0a8 257
dmehta39 0:b6d5c2bbe0a8 258
dmehta39 0:b6d5c2bbe0a8 259