For Nabeel
Dependencies: mbed mbed-http ESP8266
main.cpp
- Committer:
- sekefors
- Date:
- 2022-03-26
- Revision:
- 12:2c3550f16e6d
- Parent:
- 11:756321f0b0cd
File content as of revision 12:2c3550f16e6d:
/**
Electronically Controlled Intelligent Shelves
Developed by: Priyank Kalgaonkar
**/
#include "mbed.h"
#include "hcsr04.h"
#include "math.h"
#include "RGBLED.h"
//Setup RGB led using PWM pins and class
RGBLed myRGBled(D6,D5,D3); //RGB PWM pins
DigitalIn sw2(SW2);
DigitalOut RLed(LED1); //Onboard Red LED = Shelf Out of Stock
DigitalOut GLed(LED2); //Onboard Green LED = All OK
DigitalOut BLed(LED3); //Onboard Blue LED for Wifi Tx Indication
HCSR04 usensor1(D8,D9); //ECHO Pin=D9, TRIG Pin=D8
Serial pc(USBTX,USBRX); //Serial Communication with PC
void wifi_send(void);; //Connect and Push Data Channel to Cloud Server
int num = 0;
int distance1, distance2;
float dist_remaining1, dist_percent1, dist_remaining2, dist_percent2;
char snd[255],rcv[1000]; //snd: send command to ESP8266
//rcv: receive response from ESP8266
int main()
{
pc.baud(115200); //Baud Rate of 115200 for Tera Term
pc.printf("Initial Setup\r\n");
while(num<1000000000000)
{
num=num+1;
//checking for switch value to detect traffic light
if(sw2 == 0) {
myRGBled.write(1.0,0.0,0.0); //red
printf("Red light detected; applying breaks\n\r");
wait(1.0);
}else{
myRGBled.write(0.0,1.0,0.0); //green
//Ultrasound Sensor (HC-SR04) #1 Initialization
usensor1.start();
wait_ms(500);
//Calculating Distance for Sensor # 1
distance1 = usensor1.get_dist_cm();
//LED and Tera Term Output
if (distance1<10) {
RLed = 1;
BLed = 0;
GLed = 0;
printf("Emergency Brakes Engaged %u\n\r", distance1);
wait(1.0);
} else {
GLed = 1;
BLed = 0;
RLed = 0;
printf("Distance: %u\n\r", distance1);
} //end nested-if
} //end if
} //end while
} //end main