la araña de la loka esa

Dependencies:   mbed

Committer:
Getzeir
Date:
Tue Nov 20 01:46:23 2018 +0000
Revision:
7:a0a38b2c99a2
Parent:
6:8d7f6fe73ed1
Child:
8:23f13de8b3be
Entrega final Ara?a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fabeltranm 0:89b318e49395 1 #include "mbed.h"
fabeltranm 0:89b318e49395 2 #include "main.h"
fabeltranm 0:89b318e49395 3
angel123 6:8d7f6fe73ed1 4 DigitalOut s0(PB_13);
angel123 6:8d7f6fe73ed1 5 DigitalOut s1(PB_14);
angel123 6:8d7f6fe73ed1 6 DigitalOut s2(PB_15);
angel123 6:8d7f6fe73ed1 7 DigitalOut s3(PB_1);
Getzeir 7:a0a38b2c99a2 8 //DigitalIn out (PB_2);
angel123 6:8d7f6fe73ed1 9 DigitalOut LED(LED1);
angel123 6:8d7f6fe73ed1 10
Getzeir 7:a0a38b2c99a2 11 Serial bluetooth(PA_0, PA_1);
Getzeir 7:a0a38b2c99a2 12 Serial command(USBTX, USBRX);
Getzeir 7:a0a38b2c99a2 13
Getzeir 7:a0a38b2c99a2 14 InterruptIn out (PB_2);
Getzeir 7:a0a38b2c99a2 15 //nterruptIn salto(PB_6);
angel123 6:8d7f6fe73ed1 16 Timer tiempo;
angel123 6:8d7f6fe73ed1 17
Getzeir 7:a0a38b2c99a2 18 char value;
angel123 6:8d7f6fe73ed1 19 unsigned int lectura (void);
Getzeir 7:a0a38b2c99a2 20 unsigned int ROJO=0;
Getzeir 7:a0a38b2c99a2 21 unsigned int VERDE=0;
Getzeir 7:a0a38b2c99a2 22 unsigned int AZUL=0;
angel123 6:8d7f6fe73ed1 23
Getzeir 7:a0a38b2c99a2 24
Getzeir 7:a0a38b2c99a2 25
fabeltranm 0:89b318e49395 26
fabeltranm 0:89b318e49395 27 int main() {
Getzeir 7:a0a38b2c99a2 28
fabeltranm 0:89b318e49395 29 init_servo();
Getzeir 7:a0a38b2c99a2 30 //init_serial();
Getzeir 7:a0a38b2c99a2 31 out.rise (&sensor);
Getzeir 7:a0a38b2c99a2 32 bluetooth.baud(9600);
Getzeir 7:a0a38b2c99a2 33 command.baud(9600);
Getzeir 7:a0a38b2c99a2 34 wait (1);
angel123 6:8d7f6fe73ed1 35
Getzeir 7:a0a38b2c99a2 36 }
Getzeir 7:a0a38b2c99a2 37
fabeltranm 0:89b318e49395 38
Getzeir 7:a0a38b2c99a2 39 //void init_serial()
Getzeir 7:a0a38b2c99a2 40 //{
Getzeir 7:a0a38b2c99a2 41 //}
Getzeir 7:a0a38b2c99a2 42
Getzeir 7:a0a38b2c99a2 43
Getzeir 7:a0a38b2c99a2 44
Getzeir 7:a0a38b2c99a2 45
Getzeir 7:a0a38b2c99a2 46
Getzeir 7:a0a38b2c99a2 47
Getzeir 7:a0a38b2c99a2 48
angel123 6:8d7f6fe73ed1 49 void sensor()
angel123 6:8d7f6fe73ed1 50 {
Getzeir 7:a0a38b2c99a2 51
Getzeir 7:a0a38b2c99a2 52
angel123 6:8d7f6fe73ed1 53 unsigned int ROJO=0;
angel123 6:8d7f6fe73ed1 54 unsigned int VERDE=0;
angel123 6:8d7f6fe73ed1 55 unsigned int AZUL=0;
angel123 6:8d7f6fe73ed1 56
Getzeir 7:a0a38b2c99a2 57
Getzeir 7:a0a38b2c99a2 58 s0=1;
angel123 6:8d7f6fe73ed1 59 s1=0;
angel123 6:8d7f6fe73ed1 60
angel123 6:8d7f6fe73ed1 61 s2=0;
angel123 6:8d7f6fe73ed1 62 s3=0;
angel123 6:8d7f6fe73ed1 63 ROJO= lectura();
angel123 6:8d7f6fe73ed1 64
angel123 6:8d7f6fe73ed1 65 s2=0;
angel123 6:8d7f6fe73ed1 66 s3=1;
angel123 6:8d7f6fe73ed1 67 AZUL= lectura();
angel123 6:8d7f6fe73ed1 68
angel123 6:8d7f6fe73ed1 69 s2=1;
angel123 6:8d7f6fe73ed1 70 s3=1;
angel123 6:8d7f6fe73ed1 71 VERDE= lectura();
angel123 6:8d7f6fe73ed1 72
Getzeir 7:a0a38b2c99a2 73
angel123 6:8d7f6fe73ed1 74 if (ROJO<VERDE && VERDE>AZUL && AZUL>ROJO)
angel123 6:8d7f6fe73ed1 75 {
angel123 6:8d7f6fe73ed1 76 command.printf("Color detectado: ROJO \n");
Getzeir 7:a0a38b2c99a2 77 command.printf("EMOCIONADO!!!!....\n");
angel123 6:8d7f6fe73ed1 78 mover_ser(0x01,0x00);
Getzeir 7:a0a38b2c99a2 79 mover_ser(0x03,0x00);
Getzeir 7:a0a38b2c99a2 80 mover_ser(0x05,0x00);
Getzeir 7:a0a38b2c99a2 81 mover_ser(0x07,0x00);
Getzeir 7:a0a38b2c99a2 82 wait(0.3);
angel123 6:8d7f6fe73ed1 83 mover_ser(0x01,0x3c);
angel123 6:8d7f6fe73ed1 84 mover_ser(0x03,0x3c);
Getzeir 7:a0a38b2c99a2 85 mover_ser(0x05,0x3c);
Getzeir 7:a0a38b2c99a2 86 mover_ser(0x07,0x3c);
Getzeir 7:a0a38b2c99a2 87 wait(0.3);
Getzeir 7:a0a38b2c99a2 88 mover_ser(0x01,0x00);
Getzeir 7:a0a38b2c99a2 89 mover_ser(0x03,0x00);
angel123 6:8d7f6fe73ed1 90 mover_ser(0x05,0x00);
angel123 6:8d7f6fe73ed1 91 mover_ser(0x07,0x00);
Getzeir 7:a0a38b2c99a2 92 wait(0.3);
Getzeir 7:a0a38b2c99a2 93 mover_ser(0x01,0x3c);
Getzeir 7:a0a38b2c99a2 94 mover_ser(0x03,0x3c);
Getzeir 7:a0a38b2c99a2 95 mover_ser(0x05,0x3c);
angel123 6:8d7f6fe73ed1 96 mover_ser(0x07,0x3c);
Getzeir 7:a0a38b2c99a2 97 wait(0.3);
Getzeir 7:a0a38b2c99a2 98
angel123 6:8d7f6fe73ed1 99
Getzeir 7:a0a38b2c99a2 100
angel123 6:8d7f6fe73ed1 101 }
angel123 6:8d7f6fe73ed1 102 else
angel123 6:8d7f6fe73ed1 103 {
angel123 6:8d7f6fe73ed1 104 if (VERDE<AZUL && AZUL>ROJO && ROJO>VERDE)
angel123 6:8d7f6fe73ed1 105 {
angel123 6:8d7f6fe73ed1 106 command.printf("Color detectado: VERDE \n");
Getzeir 7:a0a38b2c99a2 107 command.printf("HOLA!!!!....\n");
Getzeir 7:a0a38b2c99a2 108 mover_ser(0x03,0x00);
Getzeir 7:a0a38b2c99a2 109 mover_ser(0x07,0x00);
Getzeir 7:a0a38b2c99a2 110 mover_ser(0x05,0x5a);
Getzeir 7:a0a38b2c99a2 111 wait(0.1);
Getzeir 7:a0a38b2c99a2 112 mover_ser(0x01,0x00);
Getzeir 7:a0a38b2c99a2 113 wait(0.4);
Getzeir 7:a0a38b2c99a2 114 mover_ser(0x02,0x5a);
Getzeir 7:a0a38b2c99a2 115 wait(0.4);
Getzeir 7:a0a38b2c99a2 116 mover_ser(0x02,0x0a);
Getzeir 7:a0a38b2c99a2 117 wait(0.4);
Getzeir 7:a0a38b2c99a2 118 mover_ser(0x02,0x5a);
Getzeir 7:a0a38b2c99a2 119 wait(0.4);
Getzeir 7:a0a38b2c99a2 120 mover_ser(0x02,0x0a);
Getzeir 7:a0a38b2c99a2 121 wait(0.4);
Getzeir 7:a0a38b2c99a2 122 mover_ser(0x02,0x5a);
Getzeir 7:a0a38b2c99a2 123 wait(0.4);
Getzeir 7:a0a38b2c99a2 124 mover_ser(0x01,0x3c);
Getzeir 7:a0a38b2c99a2 125 mover_ser(0x03,0x3c);
Getzeir 7:a0a38b2c99a2 126 mover_ser(0x07,0x3c);
Getzeir 7:a0a38b2c99a2 127 mover_ser(0x05,0x3c);
Getzeir 7:a0a38b2c99a2 128 wait(0.1);
Getzeir 7:a0a38b2c99a2 129
Getzeir 7:a0a38b2c99a2 130
Getzeir 7:a0a38b2c99a2 131
Getzeir 7:a0a38b2c99a2 132
Getzeir 7:a0a38b2c99a2 133 }
Getzeir 7:a0a38b2c99a2 134 else
Getzeir 7:a0a38b2c99a2 135 {
Getzeir 7:a0a38b2c99a2 136 if (AZUL<ROJO && ROJO>VERDE && VERDE>AZUL)
Getzeir 7:a0a38b2c99a2 137 {
Getzeir 7:a0a38b2c99a2 138 command.printf("Color detectado: AZUL \n");
Getzeir 7:a0a38b2c99a2 139 command.printf("''GIRANDO''!!!!....\n");
Getzeir 7:a0a38b2c99a2 140 mover_ser(0x01,0x00);
Getzeir 7:a0a38b2c99a2 141 wait(0.3);
Getzeir 7:a0a38b2c99a2 142 mover_ser(0x03,0x00);
Getzeir 7:a0a38b2c99a2 143 wait(0.3);
Getzeir 7:a0a38b2c99a2 144 mover_ser(0x07,0x00);
Getzeir 7:a0a38b2c99a2 145 wait(0.3);
Getzeir 7:a0a38b2c99a2 146 mover_ser(0x01,0x46);
Getzeir 7:a0a38b2c99a2 147 wait(0.3);
Getzeir 7:a0a38b2c99a2 148 mover_ser(0x05,0x00);
Getzeir 7:a0a38b2c99a2 149 wait(0.3);
Getzeir 7:a0a38b2c99a2 150 mover_ser(0x03,0x46);
Getzeir 7:a0a38b2c99a2 151 wait(0.3);
Getzeir 7:a0a38b2c99a2 152 mover_ser(0x01,0x00);
Getzeir 7:a0a38b2c99a2 153 wait(0.3);
Getzeir 7:a0a38b2c99a2 154 mover_ser(0x07,0x46);
Getzeir 7:a0a38b2c99a2 155 wait(0.3);
Getzeir 7:a0a38b2c99a2 156 mover_ser(0x03,0x00);
Getzeir 7:a0a38b2c99a2 157 wait(0.3);
Getzeir 7:a0a38b2c99a2 158 mover_ser(0x05,0x46);
Getzeir 7:a0a38b2c99a2 159 mover_ser(0x01,0x46);
Getzeir 7:a0a38b2c99a2 160 mover_ser(0x03,0x46);
Getzeir 7:a0a38b2c99a2 161 mover_ser(0x07,0x46);
Getzeir 7:a0a38b2c99a2 162 wait(0.3);
Getzeir 7:a0a38b2c99a2 163
Getzeir 7:a0a38b2c99a2 164 }
Getzeir 7:a0a38b2c99a2 165 else
Getzeir 7:a0a38b2c99a2 166 {
Getzeir 7:a0a38b2c99a2 167 //command.printf("BLUETOOTH\n");
Getzeir 7:a0a38b2c99a2 168 // while (ROJO>250 && VERDE>250 && AZUL>250)
Getzeir 7:a0a38b2c99a2 169 //{
Getzeir 7:a0a38b2c99a2 170 if (bluetooth.readable())
Getzeir 7:a0a38b2c99a2 171 {
Getzeir 7:a0a38b2c99a2 172 value = bluetooth.getc();
Getzeir 7:a0a38b2c99a2 173 bluetooth.printf("Valor: %c \n", value);
Getzeir 7:a0a38b2c99a2 174 wait(0.1);
Getzeir 7:a0a38b2c99a2 175 command.printf("Valor: %c \n", value);
Getzeir 7:a0a38b2c99a2 176 if (value=='1')
Getzeir 7:a0a38b2c99a2 177 {
angel123 6:8d7f6fe73ed1 178 command.printf("ROTAR DERECHA\n");
angel123 6:8d7f6fe73ed1 179
Getzeir 7:a0a38b2c99a2 180
angel123 6:8d7f6fe73ed1 181 mover_ser(0x01,0x00);
angel123 6:8d7f6fe73ed1 182 wait(0.1);
angel123 6:8d7f6fe73ed1 183 mover_ser(0x02,0x32);
angel123 6:8d7f6fe73ed1 184 wait(0.1);
angel123 6:8d7f6fe73ed1 185 mover_ser(0x01,0x3C);
angel123 6:8d7f6fe73ed1 186 wait(0.1);
angel123 6:8d7f6fe73ed1 187 mover_ser(0x03,0x00);
angel123 6:8d7f6fe73ed1 188 wait(0.1);
angel123 6:8d7f6fe73ed1 189 mover_ser(0x04,0x32);
angel123 6:8d7f6fe73ed1 190 wait(0.1);
angel123 6:8d7f6fe73ed1 191 mover_ser(0x03,0x3C);
angel123 6:8d7f6fe73ed1 192 wait(0.1);
angel123 6:8d7f6fe73ed1 193 mover_ser(0x07,0x00);
angel123 6:8d7f6fe73ed1 194 wait(0.1);
angel123 6:8d7f6fe73ed1 195 mover_ser(0x08,0x32);
angel123 6:8d7f6fe73ed1 196 wait(0.1);
angel123 6:8d7f6fe73ed1 197 mover_ser(0x07,0x3C);
angel123 6:8d7f6fe73ed1 198 wait(0.1);
angel123 6:8d7f6fe73ed1 199 mover_ser(0x05,0x00);
angel123 6:8d7f6fe73ed1 200 wait(0.1);
angel123 6:8d7f6fe73ed1 201 mover_ser(0x06,0x32);
angel123 6:8d7f6fe73ed1 202 wait(0.1);
angel123 6:8d7f6fe73ed1 203 mover_ser(0x05,0x3C);
angel123 6:8d7f6fe73ed1 204 wait(0.1);
angel123 6:8d7f6fe73ed1 205 mover_ser(0x02,0x5a);
angel123 6:8d7f6fe73ed1 206 wait(0.1);
angel123 6:8d7f6fe73ed1 207 mover_ser(0x04,0x5a);
angel123 6:8d7f6fe73ed1 208 wait(0.1);
angel123 6:8d7f6fe73ed1 209 mover_ser(0x06,0x5a);
angel123 6:8d7f6fe73ed1 210 wait(0.1);
angel123 6:8d7f6fe73ed1 211 mover_ser(0x08,0x5a);
angel123 6:8d7f6fe73ed1 212 wait(0.1);
Getzeir 7:a0a38b2c99a2 213 }
angel123 6:8d7f6fe73ed1 214 else
angel123 6:8d7f6fe73ed1 215 {
Getzeir 7:a0a38b2c99a2 216 if (value=='2')
angel123 6:8d7f6fe73ed1 217 {
Getzeir 7:a0a38b2c99a2 218 LED=1;
Getzeir 7:a0a38b2c99a2 219 wait(0.1);
Getzeir 7:a0a38b2c99a2 220 LED=0;
Getzeir 7:a0a38b2c99a2 221 wait(0.1);
Getzeir 7:a0a38b2c99a2 222 }
angel123 6:8d7f6fe73ed1 223 else
angel123 6:8d7f6fe73ed1 224 {
Getzeir 7:a0a38b2c99a2 225 if (value=='3')
Getzeir 7:a0a38b2c99a2 226 {
Getzeir 7:a0a38b2c99a2 227 command.printf("ADELANTE....\n");
Getzeir 7:a0a38b2c99a2 228 mover_ser(0x01,0x00);
Getzeir 7:a0a38b2c99a2 229 wait(0.1);
Getzeir 7:a0a38b2c99a2 230 mover_ser(0x02,0x32);
Getzeir 7:a0a38b2c99a2 231 wait(0.1);
Getzeir 7:a0a38b2c99a2 232 mover_ser(0x01,0x3c);
Getzeir 7:a0a38b2c99a2 233 wait(0.1);
Getzeir 7:a0a38b2c99a2 234 mover_ser(0x03,0x00);
Getzeir 7:a0a38b2c99a2 235 wait(0.1);
Getzeir 7:a0a38b2c99a2 236 mover_ser(0x04,0x5a);
Getzeir 7:a0a38b2c99a2 237 wait(0.1);
Getzeir 7:a0a38b2c99a2 238 mover_ser(0x03,0x3c);
Getzeir 7:a0a38b2c99a2 239 wait(0.1);
Getzeir 7:a0a38b2c99a2 240 mover_ser(0x02,0x5a);
Getzeir 7:a0a38b2c99a2 241 wait(0.1);
Getzeir 7:a0a38b2c99a2 242 mover_ser(0x04,0x82);
Getzeir 7:a0a38b2c99a2 243 wait(0.1);
Getzeir 7:a0a38b2c99a2 244 mover_ser(0x05,0x00);
Getzeir 7:a0a38b2c99a2 245 wait(0.1);
Getzeir 7:a0a38b2c99a2 246 mover_ser(0x06,0x82);
Getzeir 7:a0a38b2c99a2 247 wait(0.1);
Getzeir 7:a0a38b2c99a2 248 mover_ser(0x05,0x3c);
Getzeir 7:a0a38b2c99a2 249 wait(0.1);
Getzeir 7:a0a38b2c99a2 250 mover_ser(0x07,0x00);
Getzeir 7:a0a38b2c99a2 251 wait(0.1);
Getzeir 7:a0a38b2c99a2 252 mover_ser(0x08,0x5a);
Getzeir 7:a0a38b2c99a2 253 wait(0.1);
Getzeir 7:a0a38b2c99a2 254 mover_ser(0x07,0x3c);
Getzeir 7:a0a38b2c99a2 255 wait(0.1);
Getzeir 7:a0a38b2c99a2 256 mover_ser(0x06,0x5a);
Getzeir 7:a0a38b2c99a2 257 wait(0.1);
Getzeir 7:a0a38b2c99a2 258 mover_ser(0x08,0x32);
Getzeir 7:a0a38b2c99a2 259 wait(0.1);
Getzeir 7:a0a38b2c99a2 260 }
Getzeir 7:a0a38b2c99a2 261 else
Getzeir 7:a0a38b2c99a2 262 {
Getzeir 7:a0a38b2c99a2 263
Getzeir 7:a0a38b2c99a2 264 if (value=='4')
Getzeir 7:a0a38b2c99a2 265 {
Getzeir 7:a0a38b2c99a2 266 command.printf("ATRAS....\n");
Getzeir 7:a0a38b2c99a2 267 mover_ser(0x01,0x00);
Getzeir 7:a0a38b2c99a2 268 wait(0.1);
Getzeir 7:a0a38b2c99a2 269 mover_ser(0x02,0x5a);
Getzeir 7:a0a38b2c99a2 270 wait(0.1);
Getzeir 7:a0a38b2c99a2 271 mover_ser(0x01,0x3c);
Getzeir 7:a0a38b2c99a2 272 wait(0.1);
Getzeir 7:a0a38b2c99a2 273 mover_ser(0x03,0x00);
Getzeir 7:a0a38b2c99a2 274 wait(0.1);
Getzeir 7:a0a38b2c99a2 275 mover_ser(0x04,0x82);
Getzeir 7:a0a38b2c99a2 276 wait(0.1);
Getzeir 7:a0a38b2c99a2 277 mover_ser(0x03,0x3c);
Getzeir 7:a0a38b2c99a2 278 wait(0.1);
Getzeir 7:a0a38b2c99a2 279 mover_ser(0x02,0x32);
Getzeir 7:a0a38b2c99a2 280 wait(0.1);
Getzeir 7:a0a38b2c99a2 281 mover_ser(0x04,0x5a);
Getzeir 7:a0a38b2c99a2 282 wait(0.1);
Getzeir 7:a0a38b2c99a2 283 mover_ser(0x05,0x00);
Getzeir 7:a0a38b2c99a2 284 wait(0.1);
Getzeir 7:a0a38b2c99a2 285 mover_ser(0x06,0x5a);
Getzeir 7:a0a38b2c99a2 286 wait(0.1);
Getzeir 7:a0a38b2c99a2 287 mover_ser(0x05,0x3c);
Getzeir 7:a0a38b2c99a2 288 wait(0.1);
Getzeir 7:a0a38b2c99a2 289 mover_ser(0x07,0x00);
Getzeir 7:a0a38b2c99a2 290 wait(0.1);
Getzeir 7:a0a38b2c99a2 291 mover_ser(0x08,0x32);
Getzeir 7:a0a38b2c99a2 292 wait(0.1);
Getzeir 7:a0a38b2c99a2 293 mover_ser(0x07,0x3c);
Getzeir 7:a0a38b2c99a2 294 wait(0.1);
Getzeir 7:a0a38b2c99a2 295 mover_ser(0x06,0x82);
Getzeir 7:a0a38b2c99a2 296 wait(0.1);
Getzeir 7:a0a38b2c99a2 297 mover_ser(0x08,0x5a);
Getzeir 7:a0a38b2c99a2 298 wait(0.1);
Getzeir 7:a0a38b2c99a2 299 }
Getzeir 7:a0a38b2c99a2 300 }}}}
angel123 6:8d7f6fe73ed1 301 }
Getzeir 7:a0a38b2c99a2 302 }
Getzeir 7:a0a38b2c99a2 303 }
Getzeir 7:a0a38b2c99a2 304 }
Getzeir 7:a0a38b2c99a2 305 //}
angel123 6:8d7f6fe73ed1 306
angel123 6:8d7f6fe73ed1 307
angel123 6:8d7f6fe73ed1 308 unsigned int lectura (void)
angel123 6:8d7f6fe73ed1 309 {
angel123 6:8d7f6fe73ed1 310
angel123 6:8d7f6fe73ed1 311 unsigned int inicio=0, final=0, resultado=0;
angel123 6:8d7f6fe73ed1 312 tiempo.start ();
angel123 6:8d7f6fe73ed1 313 while (out) {}
angel123 6:8d7f6fe73ed1 314 while (!out) {}
angel123 6:8d7f6fe73ed1 315 while (out) {}
angel123 6:8d7f6fe73ed1 316
angel123 6:8d7f6fe73ed1 317 inicio= tiempo.read_us();
angel123 6:8d7f6fe73ed1 318 while (!out) {}
angel123 6:8d7f6fe73ed1 319 final=tiempo.read_us();
angel123 6:8d7f6fe73ed1 320 resultado=(final-inicio);
angel123 6:8d7f6fe73ed1 321 tiempo.reset ();
angel123 6:8d7f6fe73ed1 322 return (resultado);
angel123 6:8d7f6fe73ed1 323
angel123 6:8d7f6fe73ed1 324
fabeltranm 0:89b318e49395 325 }