sm moreno / Mbed 2 deprecated Entrega_Final

Dependencies:   mbed

Committer:
sammir
Date:
Thu Nov 22 01:19:55 2018 +0000
Revision:
0:22b33429aff5
TRABAJO FINAL CUADRUPEDO

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sammir 0:22b33429aff5 1 r#include "mbed.h"
sammir 0:22b33429aff5 2 #include "main.h"
sammir 0:22b33429aff5 3 Timer tiempo;
sammir 0:22b33429aff5 4 Serial command(USBTX, USBRX);
sammir 0:22b33429aff5 5
sammir 0:22b33429aff5 6 DigitalIn entrada (PC_9);
sammir 0:22b33429aff5 7 DigitalOut S0 (PA_9);
sammir 0:22b33429aff5 8 DigitalOut S1 (PA_8);
sammir 0:22b33429aff5 9 DigitalOut S3 (PC_7);
sammir 0:22b33429aff5 10 DigitalOut S2 (PA_10);
sammir 0:22b33429aff5 11
sammir 0:22b33429aff5 12 int valor;
sammir 0:22b33429aff5 13 int color=0;
sammir 0:22b33429aff5 14 int rojo=0;
sammir 0:22b33429aff5 15 int azul=0;
sammir 0:22b33429aff5 16 int verde=0;
sammir 0:22b33429aff5 17 int Detectar();
sammir 0:22b33429aff5 18 int tme=0;
sammir 0:22b33429aff5 19
sammir 0:22b33429aff5 20 int main() {
sammir 0:22b33429aff5 21
sammir 0:22b33429aff5 22 init_serial();
sammir 0:22b33429aff5 23
sammir 0:22b33429aff5 24
sammir 0:22b33429aff5 25 debug_m("inicio \n");
sammir 0:22b33429aff5 26 uint32_t read_cc;
sammir 0:22b33429aff5 27 while(1)
sammir 0:22b33429aff5 28 {
sammir 0:22b33429aff5 29 read_cc=read_command();
sammir 0:22b33429aff5 30 switch (read_cc) {
sammir 0:22b33429aff5 31 case 0x01: moving(); break ;
sammir 0:22b33429aff5 32 case 0x02: moving2();break ;
sammir 0:22b33429aff5 33 case 0x03: sensor();break ;
sammir 0:22b33429aff5 34 case 0x04:moving3();break;
sammir 0:22b33429aff5 35 }
sammir 0:22b33429aff5 36 }
sammir 0:22b33429aff5 37 }
sammir 0:22b33429aff5 38
sammir 0:22b33429aff5 39 uint32_t read_command()
sammir 0:22b33429aff5 40 {
sammir 0:22b33429aff5 41 // retorna los byte recibidos concatenados en un entero,
sammir 0:22b33429aff5 42
sammir 0:22b33429aff5 43 char intc=command.getc();
sammir 0:22b33429aff5 44 while(intc != 0xFF)
sammir 0:22b33429aff5 45 intc=command.getc();
sammir 0:22b33429aff5 46 return command.getc();
sammir 0:22b33429aff5 47 }
sammir 0:22b33429aff5 48 void init_serial()
sammir 0:22b33429aff5 49 {
sammir 0:22b33429aff5 50 command.baud(9600);
sammir 0:22b33429aff5 51 }
sammir 0:22b33429aff5 52 void moving(){
sammir 0:22b33429aff5 53 debug_m("se inicia el comado mover..\n");
sammir 0:22b33429aff5 54 char nmotor=command.getc();
sammir 0:22b33429aff5 55 char pos=command.getc();
sammir 0:22b33429aff5 56 char endc=command.getc();
sammir 0:22b33429aff5 57 mover_ser(nmotor,pos);
sammir 0:22b33429aff5 58 debug_m("fin del comado guardar..\n");
sammir 0:22b33429aff5 59 }
sammir 0:22b33429aff5 60 void moving2(){
sammir 0:22b33429aff5 61 debug_m("se inicia el comado mover arana..\n");
sammir 0:22b33429aff5 62 char nmotor=command.getc();
sammir 0:22b33429aff5 63 char pos=command.getc();
sammir 0:22b33429aff5 64 char endc=command.getc();
sammir 0:22b33429aff5 65 mover_ser2(nmotor,pos);
sammir 0:22b33429aff5 66 debug_m("fin del comado guardar..\n");
sammir 0:22b33429aff5 67 }
sammir 0:22b33429aff5 68
sammir 0:22b33429aff5 69 void moving3(){
sammir 0:22b33429aff5 70
sammir 0:22b33429aff5 71 debug_m("se inicia el comado caminar adelante..\n");
sammir 0:22b33429aff5 72 mover_ser3();
sammir 0:22b33429aff5 73 debug_m("fin del comado guardar..\n");
sammir 0:22b33429aff5 74 }
sammir 0:22b33429aff5 75
sammir 0:22b33429aff5 76
sammir 0:22b33429aff5 77 void sensor()
sammir 0:22b33429aff5 78 {
sammir 0:22b33429aff5 79 while(1){
sammir 0:22b33429aff5 80 color=command.getc();
sammir 0:22b33429aff5 81 S0=1;
sammir 0:22b33429aff5 82 S1=1;
sammir 0:22b33429aff5 83 S2=0;
sammir 0:22b33429aff5 84 S3=0;
sammir 0:22b33429aff5 85 rojo=Detectar();
sammir 0:22b33429aff5 86 command.printf("ROJO ");
sammir 0:22b33429aff5 87 command.printf("%d ",rojo);
sammir 0:22b33429aff5 88 S0=1;
sammir 0:22b33429aff5 89 S1=1;
sammir 0:22b33429aff5 90 S2=0;
sammir 0:22b33429aff5 91 S3=1;
sammir 0:22b33429aff5 92 azul=Detectar();
sammir 0:22b33429aff5 93 command.printf("AZUL ");
sammir 0:22b33429aff5 94 command.printf("%d ",azul);
sammir 0:22b33429aff5 95 S0=1;
sammir 0:22b33429aff5 96 S1=1;
sammir 0:22b33429aff5 97 S2=1;
sammir 0:22b33429aff5 98 S3=1;
sammir 0:22b33429aff5 99 verde=Detectar();
sammir 0:22b33429aff5 100 command.printf("VERDE");
sammir 0:22b33429aff5 101 command.printf("%d\n ",verde);
sammir 0:22b33429aff5 102
sammir 0:22b33429aff5 103
sammir 0:22b33429aff5 104 if ((rojo>600)&(rojo<800) & (azul>600)&(azul<800) & (verde>100)){
sammir 0:22b33429aff5 105
sammir 0:22b33429aff5 106 command.printf("AZUL \n");}
sammir 0:22b33429aff5 107
sammir 0:22b33429aff5 108 else{
sammir 0:22b33429aff5 109 if ((rojo<200) & (azul<200) & (verde<200)){
sammir 0:22b33429aff5 110
sammir 0:22b33429aff5 111 command.printf("ROJO\n");}
sammir 0:22b33429aff5 112
sammir 0:22b33429aff5 113 else{
sammir 0:22b33429aff5 114
sammir 0:22b33429aff5 115 if ((rojo>500)&(rojo<800) & (azul>500)&(azul<800) & (verde<100)){
sammir 0:22b33429aff5 116
sammir 0:22b33429aff5 117 command.printf("VERDE\n");}
sammir 0:22b33429aff5 118
sammir 0:22b33429aff5 119 else{
sammir 0:22b33429aff5 120 command.printf("COLOR NO VALIDO\n");
sammir 0:22b33429aff5 121 }
sammir 0:22b33429aff5 122 }
sammir 0:22b33429aff5 123 }
sammir 0:22b33429aff5 124 }
sammir 0:22b33429aff5 125 }
sammir 0:22b33429aff5 126
sammir 0:22b33429aff5 127 int Detectar(){
sammir 0:22b33429aff5 128 tme=0;
sammir 0:22b33429aff5 129 while (!entrada){}
sammir 0:22b33429aff5 130 while (entrada) {}
sammir 0:22b33429aff5 131 while (!entrada){}
sammir 0:22b33429aff5 132 tiempo.start();
sammir 0:22b33429aff5 133 while (entrada) {}
sammir 0:22b33429aff5 134 while (!entrada){}
sammir 0:22b33429aff5 135 while (entrada) {}
sammir 0:22b33429aff5 136 while (!entrada){}
sammir 0:22b33429aff5 137 while (entrada) {}
sammir 0:22b33429aff5 138 tiempo.stop();
sammir 0:22b33429aff5 139 tme=tiempo.read_us();
sammir 0:22b33429aff5 140 tiempo.reset();
sammir 0:22b33429aff5 141 return(tme);
sammir 0:22b33429aff5 142
sammir 0:22b33429aff5 143
sammir 0:22b33429aff5 144 }
sammir 0:22b33429aff5 145
sammir 0:22b33429aff5 146
sammir 0:22b33429aff5 147
sammir 0:22b33429aff5 148 void debug_m(char *s , ... ){
sammir 0:22b33429aff5 149 #if DEBUG
sammir 0:22b33429aff5 150 command.printf(s);
sammir 0:22b33429aff5 151 #endif
sammir 0:22b33429aff5 152 }