Dependencies:   Servo TextLCD mbed

Committer:
clementb
Date:
Tue Jun 14 13:49:24 2016 +0000
Revision:
1:c3a33d9372f5
Parent:
0:9438fe754ab6
Child:
2:2728901fd798
This version include a text menu

Who changed what in which revision?

UserRevisionLine numberNew contents of line
clementb 0:9438fe754ab6 1 #include "mbed.h"
clementb 0:9438fe754ab6 2 #include "TextLCD.h"
clementb 0:9438fe754ab6 3 #include "Servo.h"
clementb 0:9438fe754ab6 4
clementb 0:9438fe754ab6 5
clementb 0:9438fe754ab6 6 TextLCD lcd(D12, D11, D5, D4, D3, D2);
clementb 0:9438fe754ab6 7
clementb 1:c3a33d9372f5 8 Servo servoRL(D10);
clementb 1:c3a33d9372f5 9 Servo servoHL(D9);
clementb 0:9438fe754ab6 10
clementb 0:9438fe754ab6 11 DigitalIn menu(USER_BUTTON);
clementb 1:c3a33d9372f5 12 DigitalOut led(LED1);
clementb 0:9438fe754ab6 13
clementb 0:9438fe754ab6 14 int page;
clementb 1:c3a33d9372f5 15 int j = 0;
clementb 0:9438fe754ab6 16 int xPos = 0;
clementb 0:9438fe754ab6 17 int yPos = 0;
clementb 0:9438fe754ab6 18
clementb 1:c3a33d9372f5 19 int servoRLMov(int version){
clementb 1:c3a33d9372f5 20 if(version==1){ //From left to righ
clementb 1:c3a33d9372f5 21 for(int i=0; i==100; i=i+0.01){
clementb 1:c3a33d9372f5 22 servoRL = i;
clementb 1:c3a33d9372f5 23 wait(0.01);
clementb 1:c3a33d9372f5 24 }
clementb 1:c3a33d9372f5 25 }
clementb 1:c3a33d9372f5 26 else if(version==2){ //From righ to left
clementb 1:c3a33d9372f5 27 for(int i=100;i==0; i=i-0.01){
clementb 1:c3a33d9372f5 28 servoRL = i;
clementb 1:c3a33d9372f5 29 wait(0.01);
clementb 1:c3a33d9372f5 30 }
clementb 1:c3a33d9372f5 31 }
clementb 1:c3a33d9372f5 32 return 0;
clementb 1:c3a33d9372f5 33 }
clementb 0:9438fe754ab6 34
clementb 1:c3a33d9372f5 35 int servoHLMov(int version){
clementb 1:c3a33d9372f5 36 if(version==1){ //From low to high
clementb 1:c3a33d9372f5 37 for(int i=0; i==100; i=i+0.01){
clementb 1:c3a33d9372f5 38 servoHL = i;
clementb 1:c3a33d9372f5 39 wait(0.01);
clementb 1:c3a33d9372f5 40 }
clementb 1:c3a33d9372f5 41 }
clementb 1:c3a33d9372f5 42 else if(version==2){ //From high to low
clementb 1:c3a33d9372f5 43 for(int i=100; i==0; i=i-0.01){
clementb 1:c3a33d9372f5 44 servoHL = i;
clementb 1:c3a33d9372f5 45 wait(0.01);
clementb 1:c3a33d9372f5 46 }
clementb 1:c3a33d9372f5 47 }
clementb 1:c3a33d9372f5 48 return 0;
clementb 1:c3a33d9372f5 49 }
clementb 1:c3a33d9372f5 50
clementb 1:c3a33d9372f5 51 int main(){
clementb 1:c3a33d9372f5 52 page = 1;
clementb 0:9438fe754ab6 53 lcd.cls();
clementb 0:9438fe754ab6 54 lcd.locate(0,0);
clementb 1:c3a33d9372f5 55 lcd.printf("BIXI - demo arm\n");
clementb 1:c3a33d9372f5 56 lcd.locate(0,1);
clementb 1:c3a33d9372f5 57 lcd.printf("Clement BALLOT\n");
clementb 1:c3a33d9372f5 58 servoRL = 0;
clementb 1:c3a33d9372f5 59 servoHL = 0;
clementb 1:c3a33d9372f5 60 while(j != 30){
clementb 1:c3a33d9372f5 61 led = 1;
clementb 1:c3a33d9372f5 62 wait(0.05);
clementb 1:c3a33d9372f5 63 led = 0;
clementb 1:c3a33d9372f5 64 wait(0.05);
clementb 1:c3a33d9372f5 65 j = j++;
clementb 0:9438fe754ab6 66 }
clementb 0:9438fe754ab6 67
clementb 1:c3a33d9372f5 68 while(1) {
clementb 1:c3a33d9372f5 69 if(menu == 0) {
clementb 1:c3a33d9372f5 70 page = page++;
clementb 1:c3a33d9372f5 71 if(page >4){
clementb 1:c3a33d9372f5 72 page = 1;
clementb 1:c3a33d9372f5 73 }
clementb 0:9438fe754ab6 74 }
clementb 1:c3a33d9372f5 75
clementb 1:c3a33d9372f5 76 wait(1);
clementb 1:c3a33d9372f5 77
clementb 1:c3a33d9372f5 78 if(page == 4) {
clementb 1:c3a33d9372f5 79 lcd.cls();
clementb 1:c3a33d9372f5 80 lcd.locate(0,0);
clementb 1:c3a33d9372f5 81 lcd.printf("Loading P4... ");
clementb 1:c3a33d9372f5 82 lcd.locate(0,1);
clementb 1:c3a33d9372f5 83 lcd.printf("P4 : low > high ");
clementb 1:c3a33d9372f5 84 wait(2);
clementb 1:c3a33d9372f5 85 lcd.locate(0,0);
clementb 1:c3a33d9372f5 86 lcd.printf("Running P4... ");
clementb 1:c3a33d9372f5 87 led = 1;
clementb 1:c3a33d9372f5 88 wait(0.2);
clementb 1:c3a33d9372f5 89 led = 0;
clementb 1:c3a33d9372f5 90 wait(0.2);
clementb 1:c3a33d9372f5 91 led = 1;
clementb 1:c3a33d9372f5 92 wait(0.2);
clementb 1:c3a33d9372f5 93 led = 0;
clementb 1:c3a33d9372f5 94 wait(0.2);
clementb 1:c3a33d9372f5 95 led = 1;
clementb 1:c3a33d9372f5 96 wait(0.2);
clementb 1:c3a33d9372f5 97 led = 0;
clementb 1:c3a33d9372f5 98 wait(0.2);
clementb 1:c3a33d9372f5 99 led = 1;
clementb 1:c3a33d9372f5 100 wait(0.2);
clementb 1:c3a33d9372f5 101 led = 0;
clementb 1:c3a33d9372f5 102 }
clementb 1:c3a33d9372f5 103 else if(page == 3) {
clementb 1:c3a33d9372f5 104 lcd.cls();
clementb 1:c3a33d9372f5 105 lcd.locate(0,0);
clementb 1:c3a33d9372f5 106 lcd.printf("Loading P3... ");
clementb 1:c3a33d9372f5 107 lcd.locate(0,1);
clementb 1:c3a33d9372f5 108 lcd.printf("P3 : righ > left");
clementb 1:c3a33d9372f5 109 wait(2);
clementb 1:c3a33d9372f5 110 lcd.locate(0,0);
clementb 1:c3a33d9372f5 111 lcd.printf("Running P3... ");
clementb 1:c3a33d9372f5 112 led = 1;
clementb 1:c3a33d9372f5 113 wait(0.2);
clementb 1:c3a33d9372f5 114 led = 0;
clementb 1:c3a33d9372f5 115 wait(0.2);
clementb 1:c3a33d9372f5 116 led = 1;
clementb 1:c3a33d9372f5 117 wait(0.2);
clementb 1:c3a33d9372f5 118 led = 0;
clementb 1:c3a33d9372f5 119 wait(0.2);
clementb 1:c3a33d9372f5 120 led = 1;
clementb 1:c3a33d9372f5 121 wait(0.2);
clementb 1:c3a33d9372f5 122 led = 0;
clementb 1:c3a33d9372f5 123 }
clementb 1:c3a33d9372f5 124 else if(page == 2) {
clementb 1:c3a33d9372f5 125 lcd.cls();
clementb 1:c3a33d9372f5 126 lcd.locate(0,0);
clementb 1:c3a33d9372f5 127 lcd.printf("Loading P2...");
clementb 1:c3a33d9372f5 128 lcd.locate(0,1);
clementb 1:c3a33d9372f5 129 lcd.printf("P2 : high > low ");
clementb 1:c3a33d9372f5 130 wait(2);
clementb 1:c3a33d9372f5 131 lcd.locate(0,0);
clementb 1:c3a33d9372f5 132 lcd.printf("Running P2... ");
clementb 1:c3a33d9372f5 133 led = 1;
clementb 1:c3a33d9372f5 134 wait(0.2);
clementb 1:c3a33d9372f5 135 led = 0;
clementb 1:c3a33d9372f5 136 wait(0.2);
clementb 1:c3a33d9372f5 137 led = 1;
clementb 1:c3a33d9372f5 138 wait(0.2);
clementb 1:c3a33d9372f5 139 led = 0;
clementb 1:c3a33d9372f5 140 }
clementb 1:c3a33d9372f5 141 else if(page == 1) {
clementb 1:c3a33d9372f5 142 lcd.cls();
clementb 1:c3a33d9372f5 143 lcd.locate(0,0);
clementb 1:c3a33d9372f5 144 lcd.printf("Loading P1... ");
clementb 1:c3a33d9372f5 145 lcd.locate(0,1);
clementb 1:c3a33d9372f5 146 lcd.printf("P1 : left > righ");
clementb 1:c3a33d9372f5 147 wait(2);
clementb 1:c3a33d9372f5 148 lcd.locate(0,0);
clementb 1:c3a33d9372f5 149 lcd.printf("Running P1... ");
clementb 1:c3a33d9372f5 150 lcd.locate(0,0);
clementb 1:c3a33d9372f5 151 led = 1;
clementb 1:c3a33d9372f5 152 wait(0.2);
clementb 1:c3a33d9372f5 153 led = 0;
clementb 1:c3a33d9372f5 154 }
clementb 1:c3a33d9372f5 155 }
clementb 0:9438fe754ab6 156 }