This program is used to control the car remotely via telnet using wifi.

Dependencies:   C12832_lcd WiflyInterface mbed

Fork of Mode-3_Remote_Control by Bhakti Kulkarni

Committer:
bhakti08
Date:
Mon Jun 09 23:41:37 2014 +0000
Revision:
7:7f0988b083cb
Parent:
6:c9595d2630c7
Child:
8:c20dc0f4bc92
Final_mode_2;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bhakti08 4:d1e0e52f7f6b 1 //This Program is used to turn the LED ON/OFF via telent (Wifly connected)
samux 1:31e50fea8be8 2 #include "mbed.h"
samux 1:31e50fea8be8 3 #include "WiflyInterface.h"
bhakti08 4:d1e0e52f7f6b 4 #include <string.h>
bhakti08 5:62cd993d82a6 5
bhakti08 4:d1e0e52f7f6b 6 #define ECHO_SERVER_PORT 7
bhakti08 6:c9595d2630c7 7 #define FWD 3
bhakti08 5:62cd993d82a6 8 #define REV 4
bhakti08 6:c9595d2630c7 9 #define LEFT 1
bhakti08 6:c9595d2630c7 10 #define RIGHT 2
bhakti08 6:c9595d2630c7 11 #define STOP 0
bhakti08 6:c9595d2630c7 12 #define STRAIGHT_WHEEL 5
bhakti08 7:7f0988b083cb 13 #define servo_1 6
bhakti08 7:7f0988b083cb 14 #define servo_2 7
bhakti08 5:62cd993d82a6 15
bhakti08 5:62cd993d82a6 16
bhakti08 4:d1e0e52f7f6b 17 PwmOut servo(p22);
bhakti08 4:d1e0e52f7f6b 18 DigitalOut dir(LED1);
bhakti08 6:c9595d2630c7 19 BusOut motor(p5,p6,p7);
bhakti08 5:62cd993d82a6 20
bhakti08 5:62cd993d82a6 21 //#define FWD 1
bhakti08 5:62cd993d82a6 22 //#define REV 0
bhakti08 5:62cd993d82a6 23
bhakti08 5:62cd993d82a6 24
samux 1:31e50fea8be8 25 /* wifly interface:
samux 1:31e50fea8be8 26 * - p9 and p10 are for the serial communication
samux 1:31e50fea8be8 27 * - p19 is for the reset pin
samux 1:31e50fea8be8 28 * - p26 is for the connection status
samux 1:31e50fea8be8 29 * - "mbed" is the ssid of the network
samux 1:31e50fea8be8 30 * - "password" is the password
samux 1:31e50fea8be8 31 * - WPA is the security
samux 1:31e50fea8be8 32 */
avnisha 3:034dbd0b2002 33 //apps board
bhakti08 4:d1e0e52f7f6b 34 WiflyInterface wifly(p9, p10, p30, p29, "MY_WIFI", "", NONE);
bhakti08 5:62cd993d82a6 35
avnisha 3:034dbd0b2002 36 //pololu
bhakti08 4:d1e0e52f7f6b 37 //WiflyInterface wifly(p28, p27, p26, NC, "iotlab", "42F67YxLX4AawRdcj", WPA);
bhakti08 5:62cd993d82a6 38
samux 1:31e50fea8be8 39 int main() {
avnisha 3:034dbd0b2002 40
samux 1:31e50fea8be8 41 wifly.init(); //Use DHCP
bhakti08 4:d1e0e52f7f6b 42 printf("1\r\n");
samux 1:31e50fea8be8 43 while (!wifly.connect());
samux 1:31e50fea8be8 44 printf("IP Address is %s\n\r", wifly.getIPAddress());
bhakti08 5:62cd993d82a6 45
bhakti08 4:d1e0e52f7f6b 46 TCPSocketServer server;
bhakti08 4:d1e0e52f7f6b 47
bhakti08 4:d1e0e52f7f6b 48 server.bind(ECHO_SERVER_PORT);
bhakti08 4:d1e0e52f7f6b 49 server.listen();
bhakti08 5:62cd993d82a6 50
bhakti08 4:d1e0e52f7f6b 51 printf("\nWait for new connection...\n");
bhakti08 4:d1e0e52f7f6b 52 TCPSocketConnection client;
bhakti08 4:d1e0e52f7f6b 53 server.accept(client);
bhakti08 6:c9595d2630c7 54 printf("Server accept\r\n");
bhakti08 6:c9595d2630c7 55
bhakti08 4:d1e0e52f7f6b 56 char buffer[256];
bhakti08 4:d1e0e52f7f6b 57 servo.period_us(50);
bhakti08 5:62cd993d82a6 58 motor = STOP;
bhakti08 4:d1e0e52f7f6b 59 while (true) {
bhakti08 5:62cd993d82a6 60 //if (client.available()){
bhakti08 5:62cd993d82a6 61 int n = client.receive(buffer, sizeof(buffer));
bhakti08 5:62cd993d82a6 62 if (n <= 0) continue;
bhakti08 5:62cd993d82a6 63 buffer[n] = 0;
bhakti08 5:62cd993d82a6 64 printf("String is : %s\r\n",buffer);
bhakti08 5:62cd993d82a6 65
bhakti08 5:62cd993d82a6 66 client.send_all(buffer, n);
bhakti08 5:62cd993d82a6 67 if (!(strcmp (buffer, "w")))
bhakti08 5:62cd993d82a6 68 motor = FWD;
bhakti08 5:62cd993d82a6 69 else if (!(strcmp(buffer,"x")))
bhakti08 5:62cd993d82a6 70 motor = REV;
bhakti08 5:62cd993d82a6 71 else if (!(strcmp(buffer,"z")))
bhakti08 5:62cd993d82a6 72 motor = STRAIGHT_WHEEL;
bhakti08 5:62cd993d82a6 73 else if (!(strcmp(buffer,"d")))
bhakti08 5:62cd993d82a6 74 motor = RIGHT;
bhakti08 5:62cd993d82a6 75 else if (!(strcmp(buffer,"a")))
bhakti08 5:62cd993d82a6 76 motor = LEFT;
bhakti08 5:62cd993d82a6 77 else if (!(strcmp(buffer,"s")))
bhakti08 5:62cd993d82a6 78 motor = STOP;
bhakti08 7:7f0988b083cb 79 else if (!(strcmp(buffer,"o")))
bhakti08 7:7f0988b083cb 80 motor = servo_1;
bhakti08 7:7f0988b083cb 81 else if (!(strcmp(buffer,"p")))
bhakti08 7:7f0988b083cb 82 motor = servo_2;
bhakti08 5:62cd993d82a6 83 //}
bhakti08 4:d1e0e52f7f6b 84 servo.pulsewidth_us(10);
bhakti08 4:d1e0e52f7f6b 85 wait_us(1);
avnisha 3:034dbd0b2002 86 }
bhakti08 5:62cd993d82a6 87 }