Program to read LIDAR values using I2C and send UART messages using UART 2 & UART 3

Dependencies:   mbed LidarLitev2

Committer:
rajas1812
Date:
Thu Mar 28 02:54:00 2019 +0000
Revision:
1:89b49ebbe3db
Parent:
0:ee825cd264b6
Sense distance from LIDAR using I2C ; Used UART 2 & UART 3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
agaikwad 0:ee825cd264b6 1 #include "LidarLitev2.h"
agaikwad 0:ee825cd264b6 2
agaikwad 0:ee825cd264b6 3
agaikwad 0:ee825cd264b6 4 LidarLitev2 Lidar(PTE25, PTE24);
rajas1812 1:89b49ebbe3db 5 Serial pc(USBTX,USBRX); //UART0
rajas1812 1:89b49ebbe3db 6 Serial device(PTC17, PTC16); //UART3
rajas1812 1:89b49ebbe3db 7 Serial kw41z(PTD3, PTD2); //UART2
rajas1812 1:89b49ebbe3db 8
rajas1812 1:89b49ebbe3db 9 int counter = 0;
agaikwad 0:ee825cd264b6 10
agaikwad 0:ee825cd264b6 11 Timer dt;
agaikwad 0:ee825cd264b6 12
agaikwad 0:ee825cd264b6 13 int main()
agaikwad 0:ee825cd264b6 14 {
agaikwad 0:ee825cd264b6 15
agaikwad 0:ee825cd264b6 16 pc.baud(115200);
agaikwad 0:ee825cd264b6 17 device.baud(115200);
rajas1812 1:89b49ebbe3db 18 kw41z.baud(115200);
agaikwad 0:ee825cd264b6 19 Lidar.configure();
agaikwad 0:ee825cd264b6 20 dt.start();
agaikwad 0:ee825cd264b6 21
agaikwad 0:ee825cd264b6 22 while(1){
agaikwad 0:ee825cd264b6 23 pc.printf( "distance =%d cm\t",Lidar.distance());
agaikwad 0:ee825cd264b6 24 //device.printf( "%d" ,Lidar.distance());
agaikwad 0:ee825cd264b6 25 //int temp=Lidar.distance();
agaikwad 0:ee825cd264b6 26 wait_ms(500);
agaikwad 0:ee825cd264b6 27 //pc.printf("%d\n",temp);
agaikwad 0:ee825cd264b6 28
agaikwad 0:ee825cd264b6 29 dt.reset();
rajas1812 1:89b49ebbe3db 30 if(Lidar.distance()>1 and Lidar.distance()<=15)
agaikwad 0:ee825cd264b6 31 {
agaikwad 0:ee825cd264b6 32 device.printf("1");
rajas1812 1:89b49ebbe3db 33 //kw41z.printf("coap CON POST fd18:16b7:2982:2c23:d07c:a5c0:a751:5e10 /led rgb r255 g0 b0\n");
rajas1812 1:89b49ebbe3db 34 pc.printf("case: 1\r\n");
rajas1812 1:89b49ebbe3db 35 if (counter == 0){
rajas1812 1:89b49ebbe3db 36 kw41z.printf("coap CON POST fd18:16b7:2982:2c23:d07c:a5c0:a751:5e10 /led rgb r255 g0 b0\n");
rajas1812 1:89b49ebbe3db 37 counter = 1;
rajas1812 1:89b49ebbe3db 38 }
agaikwad 0:ee825cd264b6 39 }
agaikwad 0:ee825cd264b6 40
rajas1812 1:89b49ebbe3db 41 else if(Lidar.distance()>15 and Lidar.distance()<=60)
agaikwad 0:ee825cd264b6 42 {
rajas1812 1:89b49ebbe3db 43 device.printf("2");
rajas1812 1:89b49ebbe3db 44 pc.printf("case: 2\r\n");
rajas1812 1:89b49ebbe3db 45 if (counter == 0){
rajas1812 1:89b49ebbe3db 46 kw41z.printf("coap CON POST fd18:16b7:2982:2c23:d07c:a5c0:a751:5e10 /led rgb r255 g0 b0\n");
rajas1812 1:89b49ebbe3db 47 counter = 1;
rajas1812 1:89b49ebbe3db 48 }
agaikwad 0:ee825cd264b6 49 }
rajas1812 1:89b49ebbe3db 50 else if(Lidar.distance()>60 and Lidar.distance()<=120)
agaikwad 0:ee825cd264b6 51 {
agaikwad 0:ee825cd264b6 52 device.printf("3");
rajas1812 1:89b49ebbe3db 53 //kw41z.printf("coap CON POST fd18:16b7:2982:2c23:d07c:a5c0:a751:5e10 /led rgb r0 g255 b0\n");
rajas1812 1:89b49ebbe3db 54 pc.printf("case: 3\r\n");
rajas1812 1:89b49ebbe3db 55 if (counter == 1) {
rajas1812 1:89b49ebbe3db 56 kw41z.printf("coap CON POST fd18:16b7:2982:2c23:d07c:a5c0:a751:5e10 /led rgb r0 g255 b0\n");
rajas1812 1:89b49ebbe3db 57 counter = 0;
rajas1812 1:89b49ebbe3db 58 }
agaikwad 0:ee825cd264b6 59 }
rajas1812 1:89b49ebbe3db 60 else if(Lidar.distance()>120 and Lidar.distance()<=180)
agaikwad 0:ee825cd264b6 61 {
rajas1812 1:89b49ebbe3db 62 device.printf("4");
rajas1812 1:89b49ebbe3db 63 //kw41z.printf("coap CON POST fd18:16b7:2982:2c23:d07c:a5c0:a751:5e10 /led rgb r0 g255 b0\n");
rajas1812 1:89b49ebbe3db 64 pc.printf("case: 4\r\n");
rajas1812 1:89b49ebbe3db 65 if (counter == 1) {
rajas1812 1:89b49ebbe3db 66 kw41z.printf("coap CON POST fd18:16b7:2982:2c23:d07c:a5c0:a751:5e10 /led rgb r0 g255 b0\n");
rajas1812 1:89b49ebbe3db 67 counter = 0;
rajas1812 1:89b49ebbe3db 68 }
agaikwad 0:ee825cd264b6 69 }
rajas1812 1:89b49ebbe3db 70 else if(Lidar.distance()>180)
agaikwad 0:ee825cd264b6 71 {
agaikwad 0:ee825cd264b6 72 device.printf("5");
rajas1812 1:89b49ebbe3db 73 //kw41z.printf("coap CON POST fd18:16b7:2982:2c23:d07c:a5c0:a751:5e10 /led rgb r0 g255 b0\n");
rajas1812 1:89b49ebbe3db 74 pc.printf("case: 5\r\n");
rajas1812 1:89b49ebbe3db 75 if (counter == 1) {
rajas1812 1:89b49ebbe3db 76 kw41z.printf("coap CON POST fd18:16b7:2982:2c23:d07c:a5c0:a751:5e10 /led rgb r0 g255 b0\n");
rajas1812 1:89b49ebbe3db 77 counter = 0;
rajas1812 1:89b49ebbe3db 78 }
agaikwad 0:ee825cd264b6 79 }
agaikwad 0:ee825cd264b6 80 else
agaikwad 0:ee825cd264b6 81 {
agaikwad 0:ee825cd264b6 82 device.printf("0");
rajas1812 1:89b49ebbe3db 83 //kw41z.printf("coap CON POST fd18:16b7:2982:2c23:d07c:a5c0:a751:5e10 /led rgb r0 g255 b0\n");
rajas1812 1:89b49ebbe3db 84 pc.printf("case: 0\r\n");
rajas1812 1:89b49ebbe3db 85 if (counter == 0) {
rajas1812 1:89b49ebbe3db 86 kw41z.printf("coap CON POST fd18:16b7:2982:2c23:d07c:a5c0:a751:5e10 /led rgb r255 g0 b0\n");
rajas1812 1:89b49ebbe3db 87 counter = 1;
rajas1812 1:89b49ebbe3db 88 }
agaikwad 0:ee825cd264b6 89 }
agaikwad 0:ee825cd264b6 90
agaikwad 0:ee825cd264b6 91 }
agaikwad 0:ee825cd264b6 92 }