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:56:27 2014 +0000
Revision:
8:c20dc0f4bc92
Parent:
7:7f0988b083cb
LCD Print;

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