Dependencies:   Servo TextLCD mbed

Revision:
0:9438fe754ab6
Child:
1:c3a33d9372f5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Jun 13 14:28:54 2016 +0000
@@ -0,0 +1,116 @@
+#include "mbed.h"
+#include "TextLCD.h"
+#include "Servo.h"
+
+
+
+
+TextLCD lcd(D12, D11, D5, D4, D3, D2);
+
+Servo servoRL(D8);
+Servo servoHL(D7);
+
+DigitalIn menu(USER_BUTTON);
+
+int page;
+int xPos = 0;
+int yPos = 0;
+
+
+
+
+int main()
+{
+/*---------------------------------------------------"Home screen"-------------------------------------------------------------------------*/
+    lcd.cls();
+    lcd.locate(0,0);
+    lcd.printf("BIXI robotic arm");
+    lcd.locate(0,1);
+    lcd.printf("test program");
+    wait(2);
+  
+/*-------------------------------------------------Movement selection---------------------------------------------------------------------------*/  
+    menu:
+    lcd.cls();
+    lcd.locate(0,0);
+    lcd.printf("Choose movement :");
+    page = 1;
+
+    while(1) {
+        if(menu == 1) {
+            if(page == 4) {
+                page = 1;
+                }
+            else if(page == 3) {
+                page = 4;
+                }
+            else if(page == 2) {
+                page = 3;
+                }
+            else if(page == 1) {
+                page = 2;
+                }
+        }
+
+        if(page == 1) {
+            lcd.locate(0,1);
+            lcd.printf("Righ to left");
+            goto righLeft;
+            }
+        else if(page == 2) {
+            lcd.locate(0,1);
+            lcd.printf("High to low");
+            goto highLow;
+            }
+        else if(page == 3) {
+            lcd.locate(0,1);
+            lcd.printf("Left to righ");
+            goto leftRigh;
+            }
+        else if(page == 4) {
+            lcd.locate(0,1);
+            lcd.printf("Low to high");
+            goto lowHigh;
+            }
+
+/*----------------------------------------------Righ to left rotation--------------------------------------------------*/
+    righLeft:
+        for(int i = xPos; i==100; i=i+0.1){
+            servoRL = i;
+            }
+        xPos = 100;
+        wait(1);
+        servoRL = 0;
+        goto menu;
+        
+/*---------------------------------------------High to low translation--------------------------------------------------*/
+    highLow:
+        for(int i = yPos; i==100; i=i+0.1){
+            servoHL = i;
+            }
+        yPos = 100;
+        wait(1);
+        servoHL = 0;
+        goto menu;
+        
+/*--------------------------------------------Left to righ rotation---------------------------------------------------*/
+    leftRigh:
+        for(int i = xPos; i == 0; i=i-0.1){
+            servoRL = i;
+            }
+        xPos = 0;
+        wait(1);
+        servoRL = 100;
+        goto menu;
+        
+/*---------------------------------------------Low to high translation-----------------------------------------------*/
+    lowHigh:
+        for(int i = yPos; i==0; i=i-0.1){
+            servoHL = i;
+            }
+        yPos = 0;
+        wait(1);
+        servoHL = 100;
+        goto menu;
+}
+}
\ No newline at end of file