Dependencies: Servo TextLCD mbed
Diff: main.cpp
- 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