Code

Dependencies:   mbed QEI MPU6050 TextLCD

Revision:
0:c9c8c027609e
Child:
1:59c416ccba42
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sat Mar 11 09:43:33 2017 +0000
@@ -0,0 +1,150 @@
+/*#include "mbed.h"
+DigitalOut myled(LED1);
+
+int main() {
+    while(1) 
+    {
+        lcd.locate(1,0);
+        lcd.printf("Hello\n");
+        //myled = 1; // LED is ON
+        //wait(0.2); // 200 ms
+        //myled = 0; // LED is OFF
+        //wait(1.0); // 1 sec
+    
+    }
+}
+*/
+#include "mbed.h"
+#include "TextLCD.h"
+TextLCD lcd(PA_0,PA_1,PA_4,PB_0,PC_1,PC_0); // rs, e, d4-d7
+DigitalOut m1dir1(PB_3);
+DigitalOut m1dir2(PB_5);
+DigitalOut m2dir1(PB_4);
+DigitalOut m2dir2(PB_10);
+PwmOut pwm1(PA_8);
+PwmOut pwm2(PA_9); 
+
+Serial bt(PC_6,PC_7);//tx,rx
+PwmOut mypwm(LED1);
+DigitalOut myled(LED1);
+Serial serial(USBTX, USBRX);
+
+int ch ;
+int main()
+{
+    bt.baud(9600);
+    serial.baud(9600);
+    while(1) 
+    {
+        if(bt.readable()) 
+        {
+         ch =  bt.getc();
+         lcd.cls();  
+         switch(ch)
+            {
+              case 'w':
+              lcd.cls();
+              serial.printf("Forward\n");
+              lcd.locate(1,0);
+              lcd.printf("Forward\n");
+              void front();
+              break;
+              
+              case 'a':
+              lcd.cls();
+              serial.printf("Left\n");
+              lcd.locate(1,0);
+              lcd.printf("Left\n");
+              void left();
+              break; 
+              
+              case 's':
+              lcd.cls();
+              serial.printf("Back\n");
+              lcd.locate(1,0);
+              lcd.printf("Back\n");
+              void back();
+              break; 
+              
+              case 'd':
+              lcd.cls();
+              serial.printf("Right\n");
+              lcd.locate(1,0);
+              lcd.printf("Right\n");
+              void right();
+              break;
+              
+              default:
+              serial.printf("Brake");
+              lcd.cls();
+              lcd.locate(1,0);
+              lcd.printf("Brake");
+              void brake();
+                
+                }
+        
+        }
+        
+        //serial.printf("%c\n",ch);
+    }
+}
+void front()
+{
+    m1dir1 = 1;
+    m1dir2 = 0;
+    m2dir1 = 1;
+    m2dir2 = 0;
+    pwm1.period(0.001f); 
+    pwm1=0.5;
+    pwm2.period(0.001f); 
+    pwm2=0.5; 
+    
+}
+void brake()
+{
+    m1dir1 = 1;
+    m1dir2 = 0;
+    m2dir1 = 1;
+    m2dir2 = 0;
+    pwm1.period(0.001f); 
+    pwm1=0.0f;
+    pwm2.period(0.001f); 
+    pwm2=0.0f; 
+    
+}
+void back()
+{
+    m1dir1 = 0;
+    m1dir2 = 1;
+    m2dir1 = 0;
+    m2dir2 = 1;
+    pwm1.period(0.001f); 
+    pwm1=0.5;
+    pwm2.period(0.001f); 
+    pwm2=0.5;
+    
+}
+void left()
+{
+    m1dir1 = 0;
+    m1dir2 = 1;
+    m2dir1 = 0;
+    m2dir2 = 0;
+    pwm1.period(0.001f); 
+    pwm1=0.5f;
+    pwm2.period(0.001f); 
+    pwm2=0.0f; 
+    
+}
+void right()
+{
+    m1dir1 = 0;
+    m1dir2 = 0;
+    m2dir1 = 0;
+    m2dir2 = 1;
+    pwm1.period(0.001f); 
+    pwm1=0.0f;
+    pwm2.period(0.001f); 
+    pwm2=0.5; 
+    
+}