Robot Security System
Dependencies: Motordriver SHTx mbed
Diff: main.cpp
- Revision:
- 0:b6d5c2bbe0a8
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Oct 12 05:21:40 2012 +0000 @@ -0,0 +1,259 @@ +#include "mbed.h" +#include "motordriver.h" +//#include "SCP1000.h" +#include "TextLCD.h" +//#include "sht15.hpp" +#include"stdio.h" +#include "stdlib.h" +#include "SHTx/sht15.hpp" + +Serial pc(USBTX, USBRX); // tx, rx +Serial device(p13, p14); // tx, rx + +DigitalOut myled3(LED3); +DigitalOut myled2(LED2); +DigitalOut myled4(LED4); + +SHTx::SHT15 sensor(p9, p10); +float ss=0; +Motor left(p21, p22, p23, 1); // pwm, fwd, rev, has brake feature +Motor right(p26, p25, p24, 1); +float dhaval=0; +float jill=0; +float g=0; +float g1=0; +float g2=0; +float g3=0; +//char buffer[50]; +float h=0; +float h1=0; +float h2=0; +float h3=0; +TextLCD lcd(p15, p16, p17, p18, p19, p20); +char a[300]; +int count=0; +int s = 0; + +DigitalOut busy(LED1); + + + + + + + + + + + + + +int main() +{ + +sensor.setOTPReload(false); + sensor.setResolution(true); + + +busy = true; + sensor.update(); + busy = false; + + sensor.setScale(false); + float pp1 = (sensor.getTemperature()-2.0); + char halftemp[60]; + sprintf(halftemp, "%f", pp1); + + float pp2 = sensor.getHumidity(); + char halftemp2[60]; + sprintf(halftemp2, "%f", pp2); + + + + + +do{ + while(1) { + count = 0; + if (device.readable()) { + do { + s=device.getc(); + a[count]=s; + + count++; + } while(s != '\r'); + + 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' ) + { + lcd.cls(); + lcd.printf("Temperature in C: %s\n", halftemp); + + myled3=!myled3; + + h1=0;h2=0;h3=0;g1=0;g2=0;g3=0; + while (1) { + + if(g1==0) { + + +// Sweep the motor speed from full-speed reverse (-1.0) to full speed forwards (1.0) + + left.speed(0.4); + + right.speed(0.8); + + wait(0.5); +// Turn off motors - coast one and brake one + + right.speed(0); //////for turning right...... + left.speed(0); ////for turning left + ++g1; + + wait(1); + } + + if(g2==0 ) { + + +// Sweep the motor speed from full-speed reverse (-1.0) to full speed forwards (1.0) + + left.speed(0.2); + + + right.speed(0); + + wait(1); +// Turn off motors - coast one and brake one + + + left.stop(0); ////for turning left + ++g2; + + wait(1); + + } + + + if(g3==0) { + +// Sweep the motor speed from full-speed reverse (-1.0) to full speed forwards (1.0) + + left.speed(0.4); + + + right.speed(0.8); + + wait(0.5); +// Turn off motors - coast one and brake one + + right.speed(0); //////for turning right...... + left.speed(0); ////for turning left + ++g3; + + ++jill; + wait(1); + + } + if(jill==1) + break; + } + + + } + + /////////////// TESTING SECOND CARD...F0RWARD THEN RIGHT TURN TERN BACK + + 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' ) + { + + lcd.cls(); + lcd.printf("Humidity is\n: %s %%\n", halftemp2); + + + + myled2=!myled2; + myled4=!myled4; + g1=0;g2=0;g3=0; h1=0;h2=0;h3=0; + + while (1) { + + if(h1==0 ) { + + +// Sweep the motor speed from full-speed reverse (-1.0) to full speed forwards (1.0) + + left.speed(0.4); + + right.speed(0.8); + + wait(0.5); +// Turn off motors - coast one and brake one + + right.speed(0); //////for turning right...... + left.speed(0); ////for turning left + ++h1; + g1=0; + + wait(1); + } + + if(h2==0 ) { + + +// Sweep the motor speed from full-speed reverse (-1.0) to full speed forwards (1.0) + + right.speed(0.2); + + left.speed(0); + wait(1); +// Turn off motors - coast one and brake one + + right.stop(0); //////for turning right...... + //left.stop(0); ////for turning left + ++h2; + g2=0; + + wait(1); + + } + + + if(h3==0) { + //myled=1; +// Sweep the motor speed from full-speed reverse (-1.0) to full speed forwards (1.0) + + left.speed(0.4); + + + + + wait(0.5); +// Turn off motors - coast one and brake one + + right.speed(0); //////for turning right...... + left.speed(0); ////for turning left + ++h3; + g3=0; + + ++dhaval; + wait(1); + + } + + if(dhaval==1) + break; + + } + + + } + } + + } + + } while(ss==0); +} + + + +