Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@1:29fc95839893, 2020-11-25 (annotated)
- Committer:
- grupo_17_2020
- Date:
- Wed Nov 25 20:47:57 2020 +0000
- Revision:
- 1:29fc95839893
- Parent:
- 0:0f497d629677
commmit;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
grupo_17_2020 | 0:0f497d629677 | 1 | #include "mbed.h" |
grupo_17_2020 | 0:0f497d629677 | 2 | #include "ctype.h" |
grupo_17_2020 | 0:0f497d629677 | 3 | #include "string.h" |
grupo_17_2020 | 0:0f497d629677 | 4 | #include "esp_at.h" |
grupo_17_2020 | 0:0f497d629677 | 5 | #include "esp_socket.h" |
grupo_17_2020 | 0:0f497d629677 | 6 | #include "hcsr04.h" |
grupo_17_2020 | 0:0f497d629677 | 7 | |
grupo_17_2020 | 0:0f497d629677 | 8 | //config conexion wifi |
grupo_17_2020 | 0:0f497d629677 | 9 | #define nombreWifi "RAJAJ" |
grupo_17_2020 | 0:0f497d629677 | 10 | #define contraWifi "ANCM2211" |
grupo_17_2020 | 0:0f497d629677 | 11 | #define enlaceHTLM "luckystrike051.pythonanywhere.com" |
grupo_17_2020 | 0:0f497d629677 | 12 | #define puertoHTLM 80 |
grupo_17_2020 | 0:0f497d629677 | 13 | |
grupo_17_2020 | 0:0f497d629677 | 14 | //estados del bot |
grupo_17_2020 | 0:0f497d629677 | 15 | #define STANDBY_COCINA 4 |
grupo_17_2020 | 0:0f497d629677 | 16 | #define TRANSPORT_IDA 5 |
grupo_17_2020 | 0:0f497d629677 | 17 | #define STANDBY_MESA 2 |
grupo_17_2020 | 0:0f497d629677 | 18 | #define TRANSPORT_VUELTA 3 |
grupo_17_2020 | 0:0f497d629677 | 19 | #define CLEANUP 6 |
grupo_17_2020 | 0:0f497d629677 | 20 | |
grupo_17_2020 | 0:0f497d629677 | 21 | //estados motor |
grupo_17_2020 | 0:0f497d629677 | 22 | #define STANDBY 1 |
grupo_17_2020 | 0:0f497d629677 | 23 | #define FOWARD 2 |
grupo_17_2020 | 0:0f497d629677 | 24 | #define TURN_RIGHT 3 |
grupo_17_2020 | 0:0f497d629677 | 25 | #define TURN_LEFT 4 |
grupo_17_2020 | 0:0f497d629677 | 26 | #define HALF_TURN 5 |
grupo_17_2020 | 0:0f497d629677 | 27 | |
grupo_17_2020 | 0:0f497d629677 | 28 | // distancia a la que el utrasonico detiene el bot |
grupo_17_2020 | 0:0f497d629677 | 29 | #define DISTANCIA_STOP 11 |
grupo_17_2020 | 0:0f497d629677 | 30 | |
grupo_17_2020 | 0:0f497d629677 | 31 | //estados del modulo wifi |
grupo_17_2020 | 0:0f497d629677 | 32 | enum{ |
grupo_17_2020 | 0:0f497d629677 | 33 | PROC_POST_OPEN_STATE, |
grupo_17_2020 | 0:0f497d629677 | 34 | PROC_POST_OPEN_REQUEST, |
grupo_17_2020 | 0:0f497d629677 | 35 | PROC_POST_OPEN_HCSR, |
grupo_17_2020 | 0:0f497d629677 | 36 | PROC_POST_SEND_STATE, |
grupo_17_2020 | 0:0f497d629677 | 37 | PROC_POST_SEND_REQUEST, |
grupo_17_2020 | 0:0f497d629677 | 38 | PROC_POST_SEND_HCSR, |
grupo_17_2020 | 0:0f497d629677 | 39 | PROC_POST_RECV_STATE, |
grupo_17_2020 | 0:0f497d629677 | 40 | PROC_POST_RECV_REQUEST, |
grupo_17_2020 | 0:0f497d629677 | 41 | PROC_POST_RECV_HCSR, |
grupo_17_2020 | 0:0f497d629677 | 42 | PROC_POST_CLOSE_STATE, |
grupo_17_2020 | 0:0f497d629677 | 43 | PROC_POST_CLOSE_REQUEST, |
grupo_17_2020 | 0:0f497d629677 | 44 | PROC_POST_CLOSE_HCSR, |
grupo_17_2020 | 0:0f497d629677 | 45 | }; |
grupo_17_2020 | 0:0f497d629677 | 46 | |
grupo_17_2020 | 0:0f497d629677 | 47 | #define ON 1 |
grupo_17_2020 | 0:0f497d629677 | 48 | #define OFF 0 |
grupo_17_2020 | 0:0f497d629677 | 49 | |
grupo_17_2020 | 0:0f497d629677 | 50 | Serial DBG(USBTX, USBRX); // tx, rx |
grupo_17_2020 | 0:0f497d629677 | 51 | |
grupo_17_2020 | 0:0f497d629677 | 52 | //temperatura |
grupo_17_2020 | 0:0f497d629677 | 53 | AnalogIn TEMPIN(A0); |
grupo_17_2020 | 0:0f497d629677 | 54 | |
grupo_17_2020 | 0:0f497d629677 | 55 | //pines para fines varios |
grupo_17_2020 | 0:0f497d629677 | 56 | DigitalOut RED(PTE2); |
grupo_17_2020 | 0:0f497d629677 | 57 | DigitalOut GREEN(PTE3); |
grupo_17_2020 | 0:0f497d629677 | 58 | DigitalOut BLUE(PTE4); |
grupo_17_2020 | 0:0f497d629677 | 59 | |
grupo_17_2020 | 0:0f497d629677 | 60 | //pines motor |
grupo_17_2020 | 0:0f497d629677 | 61 | DigitalOut ENAB_1 (PTC9); |
grupo_17_2020 | 0:0f497d629677 | 62 | DigitalOut ENAB_2 (PTC8); |
grupo_17_2020 | 0:0f497d629677 | 63 | DigitalOut DER_1 (PTA5); |
grupo_17_2020 | 0:0f497d629677 | 64 | DigitalOut IZQ_1 (PTA4); |
grupo_17_2020 | 0:0f497d629677 | 65 | DigitalOut DER_2 (PTA12); |
grupo_17_2020 | 0:0f497d629677 | 66 | DigitalOut IZQ_2 (PTD4); |
grupo_17_2020 | 0:0f497d629677 | 67 | |
grupo_17_2020 | 0:0f497d629677 | 68 | DigitalOut S0(PTC17); |
grupo_17_2020 | 0:0f497d629677 | 69 | DigitalOut S1(PTC16); |
grupo_17_2020 | 0:0f497d629677 | 70 | DigitalOut S2(PTC13); |
grupo_17_2020 | 0:0f497d629677 | 71 | DigitalOut S3(PTC12); |
grupo_17_2020 | 0:0f497d629677 | 72 | InterruptIn INPUT(PTD0); |
grupo_17_2020 | 0:0f497d629677 | 73 | DigitalOut OE(PTD5); |
grupo_17_2020 | 0:0f497d629677 | 74 | |
grupo_17_2020 | 0:0f497d629677 | 75 | DigitalIn INFRA_DER(PTE21); |
grupo_17_2020 | 0:0f497d629677 | 76 | DigitalIn INFRA_IZQ(PTE20); |
grupo_17_2020 | 0:0f497d629677 | 77 | |
grupo_17_2020 | 0:0f497d629677 | 78 | DigitalIn PULSADOR(PTC4); |
grupo_17_2020 | 0:0f497d629677 | 79 | |
grupo_17_2020 | 0:0f497d629677 | 80 | Timer cont; |
grupo_17_2020 | 0:0f497d629677 | 81 | Ticker seg; |
grupo_17_2020 | 0:0f497d629677 | 82 | Ticker seg_m; |
grupo_17_2020 | 0:0f497d629677 | 83 | Ticker seg_send; |
grupo_17_2020 | 0:0f497d629677 | 84 | |
grupo_17_2020 | 0:0f497d629677 | 85 | #define SYSTEM_TICKER_TIC_DEF (0.01) //10mseg |
grupo_17_2020 | 0:0f497d629677 | 86 | #define SYSTEM_TICKER_1_SEG ( 1 / SYSTEM_TICKER_TIC_DEF) |
grupo_17_2020 | 0:0f497d629677 | 87 | Ticker system_ticker; |
grupo_17_2020 | 0:0f497d629677 | 88 | |
grupo_17_2020 | 0:0f497d629677 | 89 | HCSR04 sensor(PTA17, PTA16); |
grupo_17_2020 | 0:0f497d629677 | 90 | |
grupo_17_2020 | 0:0f497d629677 | 91 | int util, distancia; |
grupo_17_2020 | 0:0f497d629677 | 92 | |
grupo_17_2020 | 0:0f497d629677 | 93 | unsigned int segundos = 0, segundos_m = 0, segundos_send = 0; |
grupo_17_2020 | 0:0f497d629677 | 94 | int j = 0, mem = 0; |
grupo_17_2020 | 0:0f497d629677 | 95 | unsigned short proc_post_tic = 0; |
grupo_17_2020 | 0:0f497d629677 | 96 | |
grupo_17_2020 | 0:0f497d629677 | 97 | char estado_ASPI = STANDBY_COCINA; |
grupo_17_2020 | 0:0f497d629677 | 98 | char est_motor = STANDBY; |
grupo_17_2020 | 0:0f497d629677 | 99 | char est_ultra = OFF; |
grupo_17_2020 | 0:0f497d629677 | 100 | |
grupo_17_2020 | 0:0f497d629677 | 101 | bool IsFoodReady = false; |
grupo_17_2020 | 0:0f497d629677 | 102 | bool msg_post = false; |
grupo_17_2020 | 0:0f497d629677 | 103 | bool IsOnLine = true; |
grupo_17_2020 | 0:0f497d629677 | 104 | bool IsHCSRFree = true; |
grupo_17_2020 | 0:0f497d629677 | 105 | bool IsHCSRWork = true; |
grupo_17_2020 | 0:0f497d629677 | 106 | |
grupo_17_2020 | 0:0f497d629677 | 107 | void proc_post (void); |
grupo_17_2020 | 0:0f497d629677 | 108 | void proc_post_tic_cb (); |
grupo_17_2020 | 0:0f497d629677 | 109 | void conta(); |
grupo_17_2020 | 0:0f497d629677 | 110 | void conta_m(); |
grupo_17_2020 | 0:0f497d629677 | 111 | void conta_send(); |
grupo_17_2020 | 0:0f497d629677 | 112 | void Ascend(); |
grupo_17_2020 | 0:0f497d629677 | 113 | void Desend(); |
grupo_17_2020 | 0:0f497d629677 | 114 | void ME_ASPI(); |
grupo_17_2020 | 0:0f497d629677 | 115 | void MOTORR(); |
grupo_17_2020 | 0:0f497d629677 | 116 | void INFRAROJOS(); |
grupo_17_2020 | 0:0f497d629677 | 117 | void ULTRASONICO(); |
grupo_17_2020 | 0:0f497d629677 | 118 | void TEMPERATURA(); |
grupo_17_2020 | 0:0f497d629677 | 119 | |
grupo_17_2020 | 0:0f497d629677 | 120 | int colores[4][2] = {{207, 290}, //IDA 3 0 |
grupo_17_2020 | 0:0f497d629677 | 121 | {300, 390},//VUELTA 5 1 |
grupo_17_2020 | 0:0f497d629677 | 122 | {400, 500},//TERMINAL 7 2 |
grupo_17_2020 | 0:0f497d629677 | 123 | {600, 660}//COCINA 12 3 |
grupo_17_2020 | 0:0f497d629677 | 124 | }; // 0-ida 1-vuelta 2-terminal 4-cocina |
grupo_17_2020 | 0:0f497d629677 | 125 | |
grupo_17_2020 | 0:0f497d629677 | 126 | unsigned char string_est_aspi[155]; |
grupo_17_2020 | 0:0f497d629677 | 127 | unsigned char buffer_data_http[255]; |
grupo_17_2020 | 0:0f497d629677 | 128 | unsigned char buffer_memo[150]; |
grupo_17_2020 | 0:0f497d629677 | 129 | char mes_send[50]; |
grupo_17_2020 | 0:0f497d629677 | 130 | |
grupo_17_2020 | 0:0f497d629677 | 131 | int main() { |
grupo_17_2020 | 0:0f497d629677 | 132 | RED = OFF; |
grupo_17_2020 | 0:0f497d629677 | 133 | GREEN = OFF; |
grupo_17_2020 | 0:0f497d629677 | 134 | BLUE = OFF; |
grupo_17_2020 | 0:0f497d629677 | 135 | |
grupo_17_2020 | 0:0f497d629677 | 136 | seg.attach(&conta, 1.0); |
grupo_17_2020 | 0:0f497d629677 | 137 | seg_m.attach(&conta_m, 1.0); |
grupo_17_2020 | 0:0f497d629677 | 138 | seg_send.attach(&conta_send, 1.0); |
grupo_17_2020 | 0:0f497d629677 | 139 | //seg_us.attach(&conta_us, 1.0); |
grupo_17_2020 | 0:0f497d629677 | 140 | system_ticker.attach(&proc_post_tic_cb, SYSTEM_TICKER_TIC_DEF); |
grupo_17_2020 | 0:0f497d629677 | 141 | |
grupo_17_2020 | 0:0f497d629677 | 142 | (void)WiFi_init(nombreWifi, contraWifi); |
grupo_17_2020 | 0:0f497d629677 | 143 | |
grupo_17_2020 | 0:0f497d629677 | 144 | OE = 1; |
grupo_17_2020 | 0:0f497d629677 | 145 | |
grupo_17_2020 | 0:0f497d629677 | 146 | //Escala a 2% |
grupo_17_2020 | 0:0f497d629677 | 147 | S0 = 0; |
grupo_17_2020 | 0:0f497d629677 | 148 | S1 = 1; |
grupo_17_2020 | 0:0f497d629677 | 149 | |
grupo_17_2020 | 0:0f497d629677 | 150 | //Filtro |
grupo_17_2020 | 0:0f497d629677 | 151 | S2 = 0; |
grupo_17_2020 | 0:0f497d629677 | 152 | S3 = 1; |
grupo_17_2020 | 0:0f497d629677 | 153 | |
grupo_17_2020 | 0:0f497d629677 | 154 | INPUT.rise(&Ascend); |
grupo_17_2020 | 0:0f497d629677 | 155 | INPUT.fall(&Desend); |
grupo_17_2020 | 0:0f497d629677 | 156 | |
grupo_17_2020 | 0:0f497d629677 | 157 | msg_post = true; |
grupo_17_2020 | 0:0f497d629677 | 158 | while(1) { |
grupo_17_2020 | 0:0f497d629677 | 159 | |
grupo_17_2020 | 0:0f497d629677 | 160 | //DBG.printf("%d_", segundos_stop); |
grupo_17_2020 | 0:0f497d629677 | 161 | |
grupo_17_2020 | 0:0f497d629677 | 162 | (void)WiFi_Step(); |
grupo_17_2020 | 0:0f497d629677 | 163 | |
grupo_17_2020 | 0:0f497d629677 | 164 | proc_post(); |
grupo_17_2020 | 0:0f497d629677 | 165 | |
grupo_17_2020 | 0:0f497d629677 | 166 | if(IsOnLine){ |
grupo_17_2020 | 0:0f497d629677 | 167 | INFRAROJOS(); |
grupo_17_2020 | 0:0f497d629677 | 168 | } |
grupo_17_2020 | 0:0f497d629677 | 169 | |
grupo_17_2020 | 0:0f497d629677 | 170 | ME_ASPI(); |
grupo_17_2020 | 0:0f497d629677 | 171 | |
grupo_17_2020 | 0:0f497d629677 | 172 | ULTRASONICO(); |
grupo_17_2020 | 0:0f497d629677 | 173 | |
grupo_17_2020 | 0:0f497d629677 | 174 | MOTORR(); |
grupo_17_2020 | 0:0f497d629677 | 175 | |
grupo_17_2020 | 0:0f497d629677 | 176 | TEMPERATURA(); |
grupo_17_2020 | 0:0f497d629677 | 177 | |
grupo_17_2020 | 0:0f497d629677 | 178 | wait(0.5); |
grupo_17_2020 | 0:0f497d629677 | 179 | |
grupo_17_2020 | 0:0f497d629677 | 180 | //DBG.printf("%d - %d - %d \r\n", distancia, segundos_stop, (int)IsHCSRFree); |
grupo_17_2020 | 0:0f497d629677 | 181 | |
grupo_17_2020 | 0:0f497d629677 | 182 | } |
grupo_17_2020 | 0:0f497d629677 | 183 | } |
grupo_17_2020 | 0:0f497d629677 | 184 | |
grupo_17_2020 | 0:0f497d629677 | 185 | void ME_ASPI(){ |
grupo_17_2020 | 0:0f497d629677 | 186 | |
grupo_17_2020 | 0:0f497d629677 | 187 | switch(estado_ASPI){ |
grupo_17_2020 | 0:0f497d629677 | 188 | case STANDBY_COCINA: |
grupo_17_2020 | 0:0f497d629677 | 189 | j = 0; |
grupo_17_2020 | 0:0f497d629677 | 190 | sprintf((char*)string_est_aspi,"ESPERANDO EN COCINA"); |
grupo_17_2020 | 0:0f497d629677 | 191 | |
grupo_17_2020 | 0:0f497d629677 | 192 | if(IsFoodReady){ |
grupo_17_2020 | 0:0f497d629677 | 193 | estado_ASPI = TRANSPORT_IDA; |
grupo_17_2020 | 0:0f497d629677 | 194 | } |
grupo_17_2020 | 0:0f497d629677 | 195 | break; |
grupo_17_2020 | 0:0f497d629677 | 196 | case TRANSPORT_IDA: |
grupo_17_2020 | 0:0f497d629677 | 197 | OE = 0; |
grupo_17_2020 | 0:0f497d629677 | 198 | |
grupo_17_2020 | 0:0f497d629677 | 199 | ULTRASONICO(); |
grupo_17_2020 | 0:0f497d629677 | 200 | |
grupo_17_2020 | 0:0f497d629677 | 201 | sprintf((char*)string_est_aspi,"LLEVANDO PEDIDO A MESA"); |
grupo_17_2020 | 0:0f497d629677 | 202 | |
grupo_17_2020 | 0:0f497d629677 | 203 | if( util >= colores[0][0] && util <= colores[0][1]){ |
grupo_17_2020 | 0:0f497d629677 | 204 | |
grupo_17_2020 | 0:0f497d629677 | 205 | if(segundos == 0 && j < strlen((char*)buffer_memo)){ |
grupo_17_2020 | 0:0f497d629677 | 206 | |
grupo_17_2020 | 0:0f497d629677 | 207 | if(buffer_memo[j] == '0'){ |
grupo_17_2020 | 0:0f497d629677 | 208 | |
grupo_17_2020 | 0:0f497d629677 | 209 | if(buffer_memo[j+1] == 'V'){ |
grupo_17_2020 | 0:0f497d629677 | 210 | |
grupo_17_2020 | 0:0f497d629677 | 211 | est_motor = TURN_RIGHT; |
grupo_17_2020 | 0:0f497d629677 | 212 | segundos_m = 4; |
grupo_17_2020 | 0:0f497d629677 | 213 | segundos = 10; |
grupo_17_2020 | 0:0f497d629677 | 214 | j++;j++; |
grupo_17_2020 | 0:0f497d629677 | 215 | break; |
grupo_17_2020 | 0:0f497d629677 | 216 | } |
grupo_17_2020 | 0:0f497d629677 | 217 | if(buffer_memo[j+1] == 'I'){ |
grupo_17_2020 | 0:0f497d629677 | 218 | |
grupo_17_2020 | 0:0f497d629677 | 219 | est_motor = TURN_RIGHT; |
grupo_17_2020 | 0:0f497d629677 | 220 | segundos_m = 0; |
grupo_17_2020 | 0:0f497d629677 | 221 | segundos = 10; |
grupo_17_2020 | 0:0f497d629677 | 222 | j++;j++; |
grupo_17_2020 | 0:0f497d629677 | 223 | break; |
grupo_17_2020 | 0:0f497d629677 | 224 | } |
grupo_17_2020 | 0:0f497d629677 | 225 | if(buffer_memo[j+1] == 'L'){ |
grupo_17_2020 | 0:0f497d629677 | 226 | |
grupo_17_2020 | 0:0f497d629677 | 227 | est_motor = TURN_RIGHT; |
grupo_17_2020 | 0:0f497d629677 | 228 | segundos_m = 6; |
grupo_17_2020 | 0:0f497d629677 | 229 | segundos = 10; |
grupo_17_2020 | 0:0f497d629677 | 230 | j++;j++; |
grupo_17_2020 | 0:0f497d629677 | 231 | break; |
grupo_17_2020 | 0:0f497d629677 | 232 | } |
grupo_17_2020 | 0:0f497d629677 | 233 | |
grupo_17_2020 | 0:0f497d629677 | 234 | } |
grupo_17_2020 | 0:0f497d629677 | 235 | if(buffer_memo[j] == '1'){ |
grupo_17_2020 | 0:0f497d629677 | 236 | |
grupo_17_2020 | 0:0f497d629677 | 237 | if(buffer_memo[j+1] == 'V'){ |
grupo_17_2020 | 0:0f497d629677 | 238 | |
grupo_17_2020 | 0:0f497d629677 | 239 | est_motor = TURN_LEFT; |
grupo_17_2020 | 0:0f497d629677 | 240 | segundos_m = 4; |
grupo_17_2020 | 0:0f497d629677 | 241 | segundos = 10; |
grupo_17_2020 | 0:0f497d629677 | 242 | j++;j++; |
grupo_17_2020 | 0:0f497d629677 | 243 | break; |
grupo_17_2020 | 0:0f497d629677 | 244 | } |
grupo_17_2020 | 0:0f497d629677 | 245 | if(buffer_memo[j+1] == 'I'){ |
grupo_17_2020 | 0:0f497d629677 | 246 | |
grupo_17_2020 | 0:0f497d629677 | 247 | est_motor = TURN_LEFT; |
grupo_17_2020 | 0:0f497d629677 | 248 | segundos_m = 0; |
grupo_17_2020 | 0:0f497d629677 | 249 | segundos = 10; |
grupo_17_2020 | 0:0f497d629677 | 250 | j++;j++; |
grupo_17_2020 | 0:0f497d629677 | 251 | break; |
grupo_17_2020 | 0:0f497d629677 | 252 | } |
grupo_17_2020 | 0:0f497d629677 | 253 | if(buffer_memo[j+1] == 'L'){ |
grupo_17_2020 | 0:0f497d629677 | 254 | |
grupo_17_2020 | 0:0f497d629677 | 255 | est_motor = TURN_LEFT; |
grupo_17_2020 | 0:0f497d629677 | 256 | segundos_m = 6; |
grupo_17_2020 | 0:0f497d629677 | 257 | segundos = 10; |
grupo_17_2020 | 0:0f497d629677 | 258 | j++;j++; |
grupo_17_2020 | 0:0f497d629677 | 259 | break; |
grupo_17_2020 | 0:0f497d629677 | 260 | } |
grupo_17_2020 | 0:0f497d629677 | 261 | |
grupo_17_2020 | 0:0f497d629677 | 262 | } |
grupo_17_2020 | 0:0f497d629677 | 263 | } |
grupo_17_2020 | 0:0f497d629677 | 264 | |
grupo_17_2020 | 0:0f497d629677 | 265 | } |
grupo_17_2020 | 0:0f497d629677 | 266 | if( util >= colores[2][0] && util <= colores[2][1]){ |
grupo_17_2020 | 0:0f497d629677 | 267 | estado_ASPI = STANDBY_MESA; |
grupo_17_2020 | 0:0f497d629677 | 268 | } |
grupo_17_2020 | 0:0f497d629677 | 269 | break; |
grupo_17_2020 | 0:0f497d629677 | 270 | case STANDBY_MESA: |
grupo_17_2020 | 0:0f497d629677 | 271 | OE = 1; |
grupo_17_2020 | 0:0f497d629677 | 272 | |
grupo_17_2020 | 0:0f497d629677 | 273 | sprintf((char*)string_est_aspi,"ESPERANDO EN MESA"); |
grupo_17_2020 | 0:0f497d629677 | 274 | if(PULSADOR == 1){ |
grupo_17_2020 | 0:0f497d629677 | 275 | est_motor = HALF_TURN; |
grupo_17_2020 | 0:0f497d629677 | 276 | segundos_m = 10; |
grupo_17_2020 | 0:0f497d629677 | 277 | } |
grupo_17_2020 | 0:0f497d629677 | 278 | if(segundos_m == 0 && est_motor == HALF_TURN){ |
grupo_17_2020 | 0:0f497d629677 | 279 | estado_ASPI = TRANSPORT_VUELTA; |
grupo_17_2020 | 0:0f497d629677 | 280 | } |
grupo_17_2020 | 0:0f497d629677 | 281 | break; |
grupo_17_2020 | 0:0f497d629677 | 282 | case TRANSPORT_VUELTA: |
grupo_17_2020 | 0:0f497d629677 | 283 | OE = 0; |
grupo_17_2020 | 0:0f497d629677 | 284 | |
grupo_17_2020 | 0:0f497d629677 | 285 | sprintf((char*)string_est_aspi,"VOLVIENDO A COCINA"); |
grupo_17_2020 | 0:0f497d629677 | 286 | |
grupo_17_2020 | 0:0f497d629677 | 287 | if( util >= colores[1][0] && util <= colores[1][1]){ |
grupo_17_2020 | 0:0f497d629677 | 288 | |
grupo_17_2020 | 0:0f497d629677 | 289 | if(segundos == 0 && j >= 0){ |
grupo_17_2020 | 0:0f497d629677 | 290 | if(buffer_memo[j-2] == '0'){ |
grupo_17_2020 | 0:0f497d629677 | 291 | |
grupo_17_2020 | 0:0f497d629677 | 292 | if(buffer_memo[j-1] == 'V'){ |
grupo_17_2020 | 0:0f497d629677 | 293 | |
grupo_17_2020 | 0:0f497d629677 | 294 | est_motor = TURN_LEFT; |
grupo_17_2020 | 0:0f497d629677 | 295 | segundos_m = 4; |
grupo_17_2020 | 0:0f497d629677 | 296 | segundos = 5; |
grupo_17_2020 | 0:0f497d629677 | 297 | j--;j--; |
grupo_17_2020 | 0:0f497d629677 | 298 | break; |
grupo_17_2020 | 0:0f497d629677 | 299 | } |
grupo_17_2020 | 0:0f497d629677 | 300 | if(buffer_memo[j-1] == 'I'){ |
grupo_17_2020 | 0:0f497d629677 | 301 | |
grupo_17_2020 | 0:0f497d629677 | 302 | est_motor = TURN_LEFT; |
grupo_17_2020 | 0:0f497d629677 | 303 | segundos_m = 0; |
grupo_17_2020 | 0:0f497d629677 | 304 | segundos = 5; |
grupo_17_2020 | 0:0f497d629677 | 305 | j--;j--; |
grupo_17_2020 | 0:0f497d629677 | 306 | break; |
grupo_17_2020 | 0:0f497d629677 | 307 | } |
grupo_17_2020 | 0:0f497d629677 | 308 | if(buffer_memo[j-1] == 'L'){ |
grupo_17_2020 | 0:0f497d629677 | 309 | |
grupo_17_2020 | 0:0f497d629677 | 310 | est_motor = TURN_LEFT; |
grupo_17_2020 | 0:0f497d629677 | 311 | segundos_m = 6; |
grupo_17_2020 | 0:0f497d629677 | 312 | segundos = 5; |
grupo_17_2020 | 0:0f497d629677 | 313 | j--;j--; |
grupo_17_2020 | 0:0f497d629677 | 314 | break; |
grupo_17_2020 | 0:0f497d629677 | 315 | } |
grupo_17_2020 | 0:0f497d629677 | 316 | |
grupo_17_2020 | 0:0f497d629677 | 317 | } |
grupo_17_2020 | 0:0f497d629677 | 318 | if(buffer_memo[j-2] == '1'){ |
grupo_17_2020 | 0:0f497d629677 | 319 | |
grupo_17_2020 | 0:0f497d629677 | 320 | if(buffer_memo[j-1] == 'V'){ |
grupo_17_2020 | 0:0f497d629677 | 321 | |
grupo_17_2020 | 0:0f497d629677 | 322 | est_motor = TURN_RIGHT; |
grupo_17_2020 | 0:0f497d629677 | 323 | segundos_m = 4; |
grupo_17_2020 | 0:0f497d629677 | 324 | segundos = 10; |
grupo_17_2020 | 0:0f497d629677 | 325 | j--;j--; |
grupo_17_2020 | 0:0f497d629677 | 326 | break; |
grupo_17_2020 | 0:0f497d629677 | 327 | } |
grupo_17_2020 | 0:0f497d629677 | 328 | if(buffer_memo[j-1] == 'I'){ |
grupo_17_2020 | 0:0f497d629677 | 329 | |
grupo_17_2020 | 0:0f497d629677 | 330 | est_motor = TURN_RIGHT; |
grupo_17_2020 | 0:0f497d629677 | 331 | segundos_m = 0; |
grupo_17_2020 | 0:0f497d629677 | 332 | segundos = 10; |
grupo_17_2020 | 0:0f497d629677 | 333 | j--;j--; |
grupo_17_2020 | 0:0f497d629677 | 334 | break; |
grupo_17_2020 | 0:0f497d629677 | 335 | } |
grupo_17_2020 | 0:0f497d629677 | 336 | if(buffer_memo[j-1] == 'L'){ |
grupo_17_2020 | 0:0f497d629677 | 337 | |
grupo_17_2020 | 0:0f497d629677 | 338 | est_motor = TURN_RIGHT; |
grupo_17_2020 | 0:0f497d629677 | 339 | segundos_m = 6; |
grupo_17_2020 | 0:0f497d629677 | 340 | segundos = 10; |
grupo_17_2020 | 0:0f497d629677 | 341 | j--;j--; |
grupo_17_2020 | 0:0f497d629677 | 342 | break; |
grupo_17_2020 | 0:0f497d629677 | 343 | } |
grupo_17_2020 | 0:0f497d629677 | 344 | |
grupo_17_2020 | 0:0f497d629677 | 345 | } |
grupo_17_2020 | 0:0f497d629677 | 346 | } |
grupo_17_2020 | 0:0f497d629677 | 347 | |
grupo_17_2020 | 0:0f497d629677 | 348 | } |
grupo_17_2020 | 0:0f497d629677 | 349 | if( util >= colores[3][0] && util <= colores[3][1]){ |
grupo_17_2020 | 0:0f497d629677 | 350 | est_motor = HALF_TURN; |
grupo_17_2020 | 0:0f497d629677 | 351 | segundos_m = 10; |
grupo_17_2020 | 0:0f497d629677 | 352 | } |
grupo_17_2020 | 0:0f497d629677 | 353 | if(segundos_m == 0 && est_motor == HALF_TURN){ |
grupo_17_2020 | 0:0f497d629677 | 354 | estado_ASPI = CLEANUP; |
grupo_17_2020 | 0:0f497d629677 | 355 | } |
grupo_17_2020 | 0:0f497d629677 | 356 | break; |
grupo_17_2020 | 0:0f497d629677 | 357 | case CLEANUP: |
grupo_17_2020 | 0:0f497d629677 | 358 | OE = 1; |
grupo_17_2020 | 0:0f497d629677 | 359 | |
grupo_17_2020 | 0:0f497d629677 | 360 | int a = sizeof((char*)buffer_data_http); |
grupo_17_2020 | 0:0f497d629677 | 361 | int i = 0; |
grupo_17_2020 | 0:0f497d629677 | 362 | |
grupo_17_2020 | 0:0f497d629677 | 363 | for(i = 0; i < a; i++){ |
grupo_17_2020 | 0:0f497d629677 | 364 | buffer_data_http[i] = 0; |
grupo_17_2020 | 0:0f497d629677 | 365 | buffer_memo[i] = 0; |
grupo_17_2020 | 0:0f497d629677 | 366 | |
grupo_17_2020 | 0:0f497d629677 | 367 | /* limpiar buffer*/ |
grupo_17_2020 | 0:0f497d629677 | 368 | } |
grupo_17_2020 | 0:0f497d629677 | 369 | if(i == a){ |
grupo_17_2020 | 0:0f497d629677 | 370 | IsFoodReady = false; |
grupo_17_2020 | 0:0f497d629677 | 371 | } |
grupo_17_2020 | 0:0f497d629677 | 372 | if(IsFoodReady == false){ |
grupo_17_2020 | 0:0f497d629677 | 373 | estado_ASPI = STANDBY_COCINA; |
grupo_17_2020 | 0:0f497d629677 | 374 | } |
grupo_17_2020 | 0:0f497d629677 | 375 | break; |
grupo_17_2020 | 0:0f497d629677 | 376 | |
grupo_17_2020 | 0:0f497d629677 | 377 | } |
grupo_17_2020 | 0:0f497d629677 | 378 | } |
grupo_17_2020 | 0:0f497d629677 | 379 | |
grupo_17_2020 | 0:0f497d629677 | 380 | void INFRAROJOS(){ |
grupo_17_2020 | 0:0f497d629677 | 381 | |
grupo_17_2020 | 0:0f497d629677 | 382 | if(estado_ASPI == TRANSPORT_IDA || estado_ASPI == TRANSPORT_VUELTA){ |
grupo_17_2020 | 0:0f497d629677 | 383 | if(INFRA_DER == 0 && INFRA_IZQ != 0){ |
grupo_17_2020 | 0:0f497d629677 | 384 | |
grupo_17_2020 | 0:0f497d629677 | 385 | est_motor = TURN_LEFT; |
grupo_17_2020 | 0:0f497d629677 | 386 | segundos_m = 2; |
grupo_17_2020 | 0:0f497d629677 | 387 | } |
grupo_17_2020 | 0:0f497d629677 | 388 | if(INFRA_DER != 0 && INFRA_IZQ == 0){ |
grupo_17_2020 | 0:0f497d629677 | 389 | |
grupo_17_2020 | 0:0f497d629677 | 390 | est_motor = TURN_RIGHT; |
grupo_17_2020 | 0:0f497d629677 | 391 | segundos_m = 2; |
grupo_17_2020 | 0:0f497d629677 | 392 | } |
grupo_17_2020 | 0:0f497d629677 | 393 | if(INFRA_DER == 0 && INFRA_IZQ == 0){ |
grupo_17_2020 | 0:0f497d629677 | 394 | |
grupo_17_2020 | 0:0f497d629677 | 395 | est_motor = FOWARD; |
grupo_17_2020 | 0:0f497d629677 | 396 | } |
grupo_17_2020 | 0:0f497d629677 | 397 | if(INFRA_DER != 0 && INFRA_IZQ != 0){ |
grupo_17_2020 | 0:0f497d629677 | 398 | |
grupo_17_2020 | 0:0f497d629677 | 399 | est_motor = STANDBY; |
grupo_17_2020 | 0:0f497d629677 | 400 | } |
grupo_17_2020 | 0:0f497d629677 | 401 | } |
grupo_17_2020 | 0:0f497d629677 | 402 | } |
grupo_17_2020 | 0:0f497d629677 | 403 | |
grupo_17_2020 | 0:0f497d629677 | 404 | void TEMPERATURA(){ |
grupo_17_2020 | 1:29fc95839893 | 405 | if(TEMPIN >= 0.65f){ |
grupo_17_2020 | 1:29fc95839893 | 406 | RED = OFF; |
grupo_17_2020 | 1:29fc95839893 | 407 | GREEN = OFF; |
grupo_17_2020 | 1:29fc95839893 | 408 | BLUE = ON; |
grupo_17_2020 | 1:29fc95839893 | 409 | } |
grupo_17_2020 | 1:29fc95839893 | 410 | if(TEMPIN < 0.65f && TEMPIN >= 0.55f){ |
grupo_17_2020 | 0:0f497d629677 | 411 | RED = OFF; |
grupo_17_2020 | 0:0f497d629677 | 412 | GREEN = ON; |
grupo_17_2020 | 0:0f497d629677 | 413 | BLUE = OFF; |
grupo_17_2020 | 0:0f497d629677 | 414 | } |
grupo_17_2020 | 1:29fc95839893 | 415 | if(TEMPIN < 0.55f && TEMPIN >= 0.25f){ |
grupo_17_2020 | 0:0f497d629677 | 416 | RED = OFF; |
grupo_17_2020 | 0:0f497d629677 | 417 | GREEN = ON; |
grupo_17_2020 | 0:0f497d629677 | 418 | BLUE = ON; |
grupo_17_2020 | 0:0f497d629677 | 419 | } |
grupo_17_2020 | 1:29fc95839893 | 420 | if(TEMPIN < 0.25f && TEMPIN >= 0.15f){ |
grupo_17_2020 | 0:0f497d629677 | 421 | RED = ON; |
grupo_17_2020 | 0:0f497d629677 | 422 | GREEN = OFF; |
grupo_17_2020 | 0:0f497d629677 | 423 | BLUE = OFF; |
grupo_17_2020 | 0:0f497d629677 | 424 | } |
grupo_17_2020 | 1:29fc95839893 | 425 | if(TEMPIN < 0.15f){ |
grupo_17_2020 | 0:0f497d629677 | 426 | RED = ON; |
grupo_17_2020 | 0:0f497d629677 | 427 | GREEN = OFF; |
grupo_17_2020 | 0:0f497d629677 | 428 | BLUE = ON; |
grupo_17_2020 | 0:0f497d629677 | 429 | } |
grupo_17_2020 | 0:0f497d629677 | 430 | } |
grupo_17_2020 | 0:0f497d629677 | 431 | |
grupo_17_2020 | 0:0f497d629677 | 432 | |
grupo_17_2020 | 0:0f497d629677 | 433 | void MOTORR(){ |
grupo_17_2020 | 0:0f497d629677 | 434 | if(IsHCSRFree){ |
grupo_17_2020 | 0:0f497d629677 | 435 | |
grupo_17_2020 | 0:0f497d629677 | 436 | switch(est_motor){ |
grupo_17_2020 | 0:0f497d629677 | 437 | default: |
grupo_17_2020 | 0:0f497d629677 | 438 | case STANDBY: |
grupo_17_2020 | 0:0f497d629677 | 439 | ENAB_1 = 0; |
grupo_17_2020 | 0:0f497d629677 | 440 | ENAB_2 = 0; |
grupo_17_2020 | 0:0f497d629677 | 441 | DER_1 = 0; |
grupo_17_2020 | 0:0f497d629677 | 442 | IZQ_1 = 0; |
grupo_17_2020 | 0:0f497d629677 | 443 | DER_2 = 0; |
grupo_17_2020 | 0:0f497d629677 | 444 | IZQ_2 = 0; |
grupo_17_2020 | 0:0f497d629677 | 445 | break; |
grupo_17_2020 | 0:0f497d629677 | 446 | case FOWARD: |
grupo_17_2020 | 0:0f497d629677 | 447 | |
grupo_17_2020 | 0:0f497d629677 | 448 | ENAB_1 = 1; |
grupo_17_2020 | 0:0f497d629677 | 449 | ENAB_2 = 1; |
grupo_17_2020 | 0:0f497d629677 | 450 | DER_1 = 1; |
grupo_17_2020 | 0:0f497d629677 | 451 | IZQ_1 = 0; |
grupo_17_2020 | 0:0f497d629677 | 452 | DER_2 = 0; |
grupo_17_2020 | 0:0f497d629677 | 453 | IZQ_2 = 1; |
grupo_17_2020 | 0:0f497d629677 | 454 | break; |
grupo_17_2020 | 0:0f497d629677 | 455 | case TURN_RIGHT: |
grupo_17_2020 | 0:0f497d629677 | 456 | |
grupo_17_2020 | 0:0f497d629677 | 457 | if(segundos_m > 0){ |
grupo_17_2020 | 0:0f497d629677 | 458 | IsOnLine = false; |
grupo_17_2020 | 0:0f497d629677 | 459 | ENAB_1 = 1; |
grupo_17_2020 | 0:0f497d629677 | 460 | ENAB_2 = 1; |
grupo_17_2020 | 0:0f497d629677 | 461 | DER_1 = 1; |
grupo_17_2020 | 0:0f497d629677 | 462 | IZQ_1 = 0; |
grupo_17_2020 | 0:0f497d629677 | 463 | DER_2 = 0; |
grupo_17_2020 | 0:0f497d629677 | 464 | IZQ_2 = 0; |
grupo_17_2020 | 0:0f497d629677 | 465 | }else{ |
grupo_17_2020 | 0:0f497d629677 | 466 | IsOnLine = true; |
grupo_17_2020 | 0:0f497d629677 | 467 | } |
grupo_17_2020 | 0:0f497d629677 | 468 | break; |
grupo_17_2020 | 0:0f497d629677 | 469 | case TURN_LEFT: |
grupo_17_2020 | 0:0f497d629677 | 470 | |
grupo_17_2020 | 0:0f497d629677 | 471 | if(segundos_m > 0){ |
grupo_17_2020 | 0:0f497d629677 | 472 | IsOnLine = false; |
grupo_17_2020 | 0:0f497d629677 | 473 | ENAB_1 = 1; |
grupo_17_2020 | 0:0f497d629677 | 474 | ENAB_2 = 1; |
grupo_17_2020 | 0:0f497d629677 | 475 | DER_1 = 0; |
grupo_17_2020 | 0:0f497d629677 | 476 | IZQ_1 = 0; |
grupo_17_2020 | 0:0f497d629677 | 477 | DER_2 = 0; |
grupo_17_2020 | 0:0f497d629677 | 478 | IZQ_2 = 1; |
grupo_17_2020 | 0:0f497d629677 | 479 | }else{ |
grupo_17_2020 | 0:0f497d629677 | 480 | IsOnLine = true; |
grupo_17_2020 | 0:0f497d629677 | 481 | } |
grupo_17_2020 | 0:0f497d629677 | 482 | break; |
grupo_17_2020 | 0:0f497d629677 | 483 | case HALF_TURN: |
grupo_17_2020 | 0:0f497d629677 | 484 | ; |
grupo_17_2020 | 0:0f497d629677 | 485 | if(segundos_m > 0){ |
grupo_17_2020 | 0:0f497d629677 | 486 | IsOnLine = false; |
grupo_17_2020 | 0:0f497d629677 | 487 | ENAB_1 = 1; |
grupo_17_2020 | 0:0f497d629677 | 488 | ENAB_2 = 1; |
grupo_17_2020 | 0:0f497d629677 | 489 | DER_1 = 1; |
grupo_17_2020 | 0:0f497d629677 | 490 | IZQ_1 = 0; |
grupo_17_2020 | 0:0f497d629677 | 491 | DER_2 = 1; |
grupo_17_2020 | 0:0f497d629677 | 492 | IZQ_2 = 0; |
grupo_17_2020 | 0:0f497d629677 | 493 | }else{ |
grupo_17_2020 | 0:0f497d629677 | 494 | IsOnLine = true; |
grupo_17_2020 | 0:0f497d629677 | 495 | } |
grupo_17_2020 | 0:0f497d629677 | 496 | break; |
grupo_17_2020 | 0:0f497d629677 | 497 | } |
grupo_17_2020 | 0:0f497d629677 | 498 | |
grupo_17_2020 | 0:0f497d629677 | 499 | }else{ |
grupo_17_2020 | 0:0f497d629677 | 500 | ENAB_1 = 0; |
grupo_17_2020 | 0:0f497d629677 | 501 | ENAB_2 = 0; |
grupo_17_2020 | 0:0f497d629677 | 502 | DER_1 = 0; |
grupo_17_2020 | 0:0f497d629677 | 503 | IZQ_1 = 0; |
grupo_17_2020 | 0:0f497d629677 | 504 | DER_2 = 0; |
grupo_17_2020 | 0:0f497d629677 | 505 | IZQ_2 = 0; |
grupo_17_2020 | 0:0f497d629677 | 506 | } |
grupo_17_2020 | 0:0f497d629677 | 507 | } |
grupo_17_2020 | 0:0f497d629677 | 508 | |
grupo_17_2020 | 0:0f497d629677 | 509 | void ULTRASONICO(){ |
grupo_17_2020 | 0:0f497d629677 | 510 | if(estado_ASPI == TRANSPORT_IDA || estado_ASPI == TRANSPORT_VUELTA){ |
grupo_17_2020 | 0:0f497d629677 | 511 | |
grupo_17_2020 | 0:0f497d629677 | 512 | distancia = sensor.distance(); |
grupo_17_2020 | 0:0f497d629677 | 513 | if(distancia > DISTANCIA_STOP){ |
grupo_17_2020 | 0:0f497d629677 | 514 | IsHCSRFree = true; |
grupo_17_2020 | 0:0f497d629677 | 515 | est_ultra = OFF; |
grupo_17_2020 | 0:0f497d629677 | 516 | |
grupo_17_2020 | 0:0f497d629677 | 517 | }else{ |
grupo_17_2020 | 0:0f497d629677 | 518 | IsHCSRFree = false; |
grupo_17_2020 | 0:0f497d629677 | 519 | est_ultra = ON; |
grupo_17_2020 | 0:0f497d629677 | 520 | |
grupo_17_2020 | 0:0f497d629677 | 521 | } |
grupo_17_2020 | 0:0f497d629677 | 522 | }else{ |
grupo_17_2020 | 0:0f497d629677 | 523 | IsHCSRFree = true; |
grupo_17_2020 | 0:0f497d629677 | 524 | } |
grupo_17_2020 | 0:0f497d629677 | 525 | |
grupo_17_2020 | 0:0f497d629677 | 526 | } |
grupo_17_2020 | 0:0f497d629677 | 527 | |
grupo_17_2020 | 0:0f497d629677 | 528 | |
grupo_17_2020 | 0:0f497d629677 | 529 | void proc_post (void){ |
grupo_17_2020 | 0:0f497d629677 | 530 | int res ; |
grupo_17_2020 | 0:0f497d629677 | 531 | static unsigned char proc_post_step = PROC_POST_OPEN_STATE; |
grupo_17_2020 | 0:0f497d629677 | 532 | |
grupo_17_2020 | 0:0f497d629677 | 533 | if( proc_post_tic ) |
grupo_17_2020 | 0:0f497d629677 | 534 | return; |
grupo_17_2020 | 0:0f497d629677 | 535 | |
grupo_17_2020 | 0:0f497d629677 | 536 | proc_post_tic = SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 537 | |
grupo_17_2020 | 0:0f497d629677 | 538 | if(!has_ip){ |
grupo_17_2020 | 0:0f497d629677 | 539 | proc_post_step = PROC_POST_OPEN_STATE; |
grupo_17_2020 | 0:0f497d629677 | 540 | return; |
grupo_17_2020 | 0:0f497d629677 | 541 | } |
grupo_17_2020 | 0:0f497d629677 | 542 | |
grupo_17_2020 | 0:0f497d629677 | 543 | char buff_send[255]; |
grupo_17_2020 | 0:0f497d629677 | 544 | switch(proc_post_step){ |
grupo_17_2020 | 0:0f497d629677 | 545 | default: |
grupo_17_2020 | 0:0f497d629677 | 546 | case PROC_POST_OPEN_STATE: |
grupo_17_2020 | 0:0f497d629677 | 547 | if( sock_connect ( SOCKET_TCP, enlaceHTLM, puertoHTLM, 10000) == 0 ){ |
grupo_17_2020 | 0:0f497d629677 | 548 | proc_post_tic = 1 * SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 549 | proc_post_step = PROC_POST_SEND_STATE; |
grupo_17_2020 | 0:0f497d629677 | 550 | }else{ |
grupo_17_2020 | 0:0f497d629677 | 551 | proc_post_tic = 10 * SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 552 | proc_post_step = PROC_POST_OPEN_STATE; |
grupo_17_2020 | 0:0f497d629677 | 553 | sock_close(); |
grupo_17_2020 | 0:0f497d629677 | 554 | } |
grupo_17_2020 | 0:0f497d629677 | 555 | break; |
grupo_17_2020 | 0:0f497d629677 | 556 | |
grupo_17_2020 | 0:0f497d629677 | 557 | case PROC_POST_SEND_STATE: |
grupo_17_2020 | 0:0f497d629677 | 558 | |
grupo_17_2020 | 0:0f497d629677 | 559 | sprintf(buff_send, "GET /estadorobotactual?estadorobot=%s HTTP/1.1\r\nHost: luckystrike051.pythonanywhere.com\r\nConnection: Close\r\n\r\n", string_est_aspi); |
grupo_17_2020 | 0:0f497d629677 | 560 | |
grupo_17_2020 | 0:0f497d629677 | 561 | res = sock_send ( (unsigned char *)buff_send, |
grupo_17_2020 | 0:0f497d629677 | 562 | strlen(buff_send), 25000); |
grupo_17_2020 | 0:0f497d629677 | 563 | |
grupo_17_2020 | 0:0f497d629677 | 564 | DBG.printf("proc_post: send: (%d)%s\r\n", res, buff_send); |
grupo_17_2020 | 0:0f497d629677 | 565 | if( res > 0 ){ |
grupo_17_2020 | 0:0f497d629677 | 566 | proc_post_tic = SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 567 | proc_post_step = PROC_POST_RECV_STATE; |
grupo_17_2020 | 0:0f497d629677 | 568 | DBG.printf("proc_posrt: -> [%d] PROC_POST_RECV\r\n", __LINE__ ); |
grupo_17_2020 | 0:0f497d629677 | 569 | }else{ |
grupo_17_2020 | 0:0f497d629677 | 570 | proc_post_tic = 2 * SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 571 | proc_post_step = PROC_POST_CLOSE_STATE; |
grupo_17_2020 | 0:0f497d629677 | 572 | DBG.printf("-proc_posrt: -> [%d] PROC_POST_CLOSE\r\n", __LINE__ ); |
grupo_17_2020 | 0:0f497d629677 | 573 | } |
grupo_17_2020 | 0:0f497d629677 | 574 | break; |
grupo_17_2020 | 0:0f497d629677 | 575 | |
grupo_17_2020 | 0:0f497d629677 | 576 | case PROC_POST_RECV_STATE: |
grupo_17_2020 | 0:0f497d629677 | 577 | res = sock_recv ( buffer_data_http, 250, 500 ); |
grupo_17_2020 | 0:0f497d629677 | 578 | |
grupo_17_2020 | 0:0f497d629677 | 579 | if(estado_ASPI != STANDBY_COCINA || estado_ASPI != TRANSPORT_VUELTA){ |
grupo_17_2020 | 0:0f497d629677 | 580 | segundos_send = 40; |
grupo_17_2020 | 0:0f497d629677 | 581 | }else{ |
grupo_17_2020 | 0:0f497d629677 | 582 | segundos_send = 0; |
grupo_17_2020 | 0:0f497d629677 | 583 | } |
grupo_17_2020 | 0:0f497d629677 | 584 | |
grupo_17_2020 | 0:0f497d629677 | 585 | DBG.printf("proc_posrt: -> [%d] PROC_POST_RECV:%d\r\n", __LINE__, res ); |
grupo_17_2020 | 0:0f497d629677 | 586 | |
grupo_17_2020 | 0:0f497d629677 | 587 | if( res > 0 ){ |
grupo_17_2020 | 0:0f497d629677 | 588 | if (strstr ((char*)buffer_data_http, "200 OK")){ |
grupo_17_2020 | 0:0f497d629677 | 589 | DBG.printf("proc_posrt: -> [%d] 200 OK\r\n", __LINE__ ); |
grupo_17_2020 | 0:0f497d629677 | 590 | } |
grupo_17_2020 | 0:0f497d629677 | 591 | } |
grupo_17_2020 | 0:0f497d629677 | 592 | proc_post_tic = SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 593 | proc_post_step = PROC_POST_CLOSE_STATE; |
grupo_17_2020 | 0:0f497d629677 | 594 | DBG.printf("proc_posrt: -> [%d] PROC_POST_CLOSE_STATE\r\n", __LINE__ ); |
grupo_17_2020 | 0:0f497d629677 | 595 | break; |
grupo_17_2020 | 0:0f497d629677 | 596 | |
grupo_17_2020 | 0:0f497d629677 | 597 | case PROC_POST_CLOSE_STATE: |
grupo_17_2020 | 0:0f497d629677 | 598 | |
grupo_17_2020 | 0:0f497d629677 | 599 | for(int i = 0; i < 255; i++){ |
grupo_17_2020 | 0:0f497d629677 | 600 | buffer_data_http[i] = 0; |
grupo_17_2020 | 0:0f497d629677 | 601 | buff_send[i] = 0; |
grupo_17_2020 | 0:0f497d629677 | 602 | |
grupo_17_2020 | 0:0f497d629677 | 603 | } |
grupo_17_2020 | 0:0f497d629677 | 604 | |
grupo_17_2020 | 0:0f497d629677 | 605 | |
grupo_17_2020 | 0:0f497d629677 | 606 | proc_post_tic = 10 * SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 607 | proc_post_step = PROC_POST_OPEN_REQUEST; |
grupo_17_2020 | 0:0f497d629677 | 608 | |
grupo_17_2020 | 0:0f497d629677 | 609 | break; |
grupo_17_2020 | 0:0f497d629677 | 610 | |
grupo_17_2020 | 0:0f497d629677 | 611 | case PROC_POST_OPEN_REQUEST: |
grupo_17_2020 | 0:0f497d629677 | 612 | if(estado_ASPI == STANDBY_COCINA || estado_ASPI == TRANSPORT_VUELTA && segundos == 0){ |
grupo_17_2020 | 0:0f497d629677 | 613 | if( sock_connect ( SOCKET_TCP, enlaceHTLM, puertoHTLM, 10000) == 0 ){ |
grupo_17_2020 | 0:0f497d629677 | 614 | proc_post_tic = 1 * SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 615 | proc_post_step = PROC_POST_SEND_REQUEST; |
grupo_17_2020 | 0:0f497d629677 | 616 | }else{ |
grupo_17_2020 | 0:0f497d629677 | 617 | |
grupo_17_2020 | 0:0f497d629677 | 618 | proc_post_tic = 10 * SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 619 | proc_post_step = PROC_POST_OPEN_REQUEST; |
grupo_17_2020 | 0:0f497d629677 | 620 | sock_close(); |
grupo_17_2020 | 0:0f497d629677 | 621 | } |
grupo_17_2020 | 0:0f497d629677 | 622 | }else{ |
grupo_17_2020 | 0:0f497d629677 | 623 | proc_post_step = PROC_POST_OPEN_HCSR; |
grupo_17_2020 | 0:0f497d629677 | 624 | } |
grupo_17_2020 | 0:0f497d629677 | 625 | break; |
grupo_17_2020 | 0:0f497d629677 | 626 | |
grupo_17_2020 | 0:0f497d629677 | 627 | case PROC_POST_SEND_REQUEST: |
grupo_17_2020 | 0:0f497d629677 | 628 | |
grupo_17_2020 | 0:0f497d629677 | 629 | sprintf(buff_send, "GET /showubicacionrobotactual HTTP/1.1\r\nHost: luckystrike051.pythonanywhere.com\r\nConnection: Close\r\n\r\n"); |
grupo_17_2020 | 0:0f497d629677 | 630 | |
grupo_17_2020 | 0:0f497d629677 | 631 | res = sock_send ( (unsigned char *)buff_send, |
grupo_17_2020 | 0:0f497d629677 | 632 | strlen(buff_send), 25000); |
grupo_17_2020 | 0:0f497d629677 | 633 | DBG.printf("proc_post: send: (%d)%s\r\n", res, buff_send); |
grupo_17_2020 | 0:0f497d629677 | 634 | if( res > 0 ){ |
grupo_17_2020 | 0:0f497d629677 | 635 | proc_post_tic = SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 636 | proc_post_step = PROC_POST_RECV_REQUEST; |
grupo_17_2020 | 0:0f497d629677 | 637 | DBG.printf("proc_posrt: -> [%d] PROC_POST_RECV_REQUEST\r\n", __LINE__ ); |
grupo_17_2020 | 0:0f497d629677 | 638 | }else{ |
grupo_17_2020 | 0:0f497d629677 | 639 | proc_post_tic = 2 * SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 640 | proc_post_step = PROC_POST_CLOSE_REQUEST; |
grupo_17_2020 | 0:0f497d629677 | 641 | DBG.printf("-proc_posrt: -> [%d] PROC_POST_CLOSE_REQUEST\r\n", __LINE__ ); |
grupo_17_2020 | 0:0f497d629677 | 642 | } |
grupo_17_2020 | 0:0f497d629677 | 643 | break; |
grupo_17_2020 | 0:0f497d629677 | 644 | |
grupo_17_2020 | 0:0f497d629677 | 645 | case PROC_POST_RECV_REQUEST: |
grupo_17_2020 | 0:0f497d629677 | 646 | res = sock_recv ( buffer_data_http, 250, 500 ); |
grupo_17_2020 | 0:0f497d629677 | 647 | DBG.printf("proc_posrt: -> [%d] PROC_POST_RECV:%d\r\n", __LINE__, res ); |
grupo_17_2020 | 0:0f497d629677 | 648 | |
grupo_17_2020 | 0:0f497d629677 | 649 | for(int i = 0; i < strlen((char*)buffer_data_http); i++){ |
grupo_17_2020 | 0:0f497d629677 | 650 | |
grupo_17_2020 | 0:0f497d629677 | 651 | if(buffer_data_http[i] == 'E'){ |
grupo_17_2020 | 0:0f497d629677 | 652 | |
grupo_17_2020 | 0:0f497d629677 | 653 | for(int a = i; a < strlen((char*)buffer_data_http); a++){ |
grupo_17_2020 | 0:0f497d629677 | 654 | buffer_memo[a-i] = buffer_data_http[a+1]; |
grupo_17_2020 | 0:0f497d629677 | 655 | |
grupo_17_2020 | 0:0f497d629677 | 656 | if(buffer_data_http[a] == 'T'){ |
grupo_17_2020 | 0:0f497d629677 | 657 | IsFoodReady = true; |
grupo_17_2020 | 0:0f497d629677 | 658 | i = a; |
grupo_17_2020 | 0:0f497d629677 | 659 | break; |
grupo_17_2020 | 0:0f497d629677 | 660 | } |
grupo_17_2020 | 0:0f497d629677 | 661 | } |
grupo_17_2020 | 0:0f497d629677 | 662 | } |
grupo_17_2020 | 0:0f497d629677 | 663 | } |
grupo_17_2020 | 0:0f497d629677 | 664 | |
grupo_17_2020 | 0:0f497d629677 | 665 | if( res > 0 ){ |
grupo_17_2020 | 0:0f497d629677 | 666 | if (strstr ((char*)buffer_data_http, "200 OK")){ |
grupo_17_2020 | 0:0f497d629677 | 667 | DBG.printf("proc_posrt: -> [%d] 200 OK\r\n", __LINE__ ); |
grupo_17_2020 | 0:0f497d629677 | 668 | } |
grupo_17_2020 | 0:0f497d629677 | 669 | } |
grupo_17_2020 | 0:0f497d629677 | 670 | proc_post_tic = SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 671 | proc_post_step = PROC_POST_CLOSE_REQUEST; |
grupo_17_2020 | 0:0f497d629677 | 672 | DBG.printf("proc_posrt: -> [%d] PROC_POST_CLOSE\r\n", __LINE__ ); |
grupo_17_2020 | 0:0f497d629677 | 673 | break; |
grupo_17_2020 | 0:0f497d629677 | 674 | |
grupo_17_2020 | 0:0f497d629677 | 675 | case PROC_POST_CLOSE_REQUEST: |
grupo_17_2020 | 0:0f497d629677 | 676 | |
grupo_17_2020 | 0:0f497d629677 | 677 | proc_post_tic = 10 * SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 678 | |
grupo_17_2020 | 0:0f497d629677 | 679 | proc_post_step = PROC_POST_OPEN_HCSR; |
grupo_17_2020 | 0:0f497d629677 | 680 | |
grupo_17_2020 | 0:0f497d629677 | 681 | break; |
grupo_17_2020 | 0:0f497d629677 | 682 | |
grupo_17_2020 | 0:0f497d629677 | 683 | case PROC_POST_OPEN_HCSR: |
grupo_17_2020 | 0:0f497d629677 | 684 | if(IsHCSRFree == false){ |
grupo_17_2020 | 0:0f497d629677 | 685 | if( sock_connect ( SOCKET_TCP, enlaceHTLM, puertoHTLM, 10000) == 0 ){ |
grupo_17_2020 | 0:0f497d629677 | 686 | proc_post_tic = 1 * SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 687 | proc_post_step = PROC_POST_SEND_HCSR; |
grupo_17_2020 | 0:0f497d629677 | 688 | }else{ |
grupo_17_2020 | 0:0f497d629677 | 689 | |
grupo_17_2020 | 0:0f497d629677 | 690 | proc_post_tic = 10 * SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 691 | proc_post_step = PROC_POST_OPEN_HCSR; |
grupo_17_2020 | 0:0f497d629677 | 692 | sock_close(); |
grupo_17_2020 | 0:0f497d629677 | 693 | } |
grupo_17_2020 | 0:0f497d629677 | 694 | }else{ |
grupo_17_2020 | 0:0f497d629677 | 695 | proc_post_step = PROC_POST_OPEN_STATE; |
grupo_17_2020 | 0:0f497d629677 | 696 | } |
grupo_17_2020 | 0:0f497d629677 | 697 | break; |
grupo_17_2020 | 0:0f497d629677 | 698 | |
grupo_17_2020 | 0:0f497d629677 | 699 | case PROC_POST_SEND_HCSR: |
grupo_17_2020 | 0:0f497d629677 | 700 | |
grupo_17_2020 | 0:0f497d629677 | 701 | sprintf(buff_send, "GET /estadorobotactual?estadorobot=ME TRABE CUANDO ESTABA %s HTTP/1.1\r\nHost: luckystrike051.pythonanywhere.com\r\nConnection: Close\r\n\r\n", string_est_aspi); |
grupo_17_2020 | 0:0f497d629677 | 702 | |
grupo_17_2020 | 0:0f497d629677 | 703 | |
grupo_17_2020 | 0:0f497d629677 | 704 | res = sock_send ( (unsigned char *)buff_send, |
grupo_17_2020 | 0:0f497d629677 | 705 | strlen(buff_send), 25000); |
grupo_17_2020 | 0:0f497d629677 | 706 | DBG.printf("proc_post: send: (%d)%s\r\n", res, buff_send); |
grupo_17_2020 | 0:0f497d629677 | 707 | if( res > 0 ){ |
grupo_17_2020 | 0:0f497d629677 | 708 | proc_post_tic = SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 709 | proc_post_step = PROC_POST_RECV_HCSR; |
grupo_17_2020 | 0:0f497d629677 | 710 | DBG.printf("proc_posrt: -> [%d] PROC_POST_RECV\r\n", __LINE__ ); |
grupo_17_2020 | 0:0f497d629677 | 711 | }else{ |
grupo_17_2020 | 0:0f497d629677 | 712 | proc_post_tic = 2 * SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 713 | proc_post_step = PROC_POST_CLOSE_HCSR; |
grupo_17_2020 | 0:0f497d629677 | 714 | DBG.printf("-proc_posrt: -> [%d] PROC_POST_CLOSE\r\n", __LINE__ ); |
grupo_17_2020 | 0:0f497d629677 | 715 | } |
grupo_17_2020 | 0:0f497d629677 | 716 | break; |
grupo_17_2020 | 0:0f497d629677 | 717 | |
grupo_17_2020 | 0:0f497d629677 | 718 | case PROC_POST_RECV_HCSR: |
grupo_17_2020 | 0:0f497d629677 | 719 | res = sock_recv ( buffer_data_http, 250, 500 ); |
grupo_17_2020 | 0:0f497d629677 | 720 | |
grupo_17_2020 | 0:0f497d629677 | 721 | DBG.printf("proc_posrt: -> [%d] PROC_POST_RECV:%d\r\n", __LINE__, res ); |
grupo_17_2020 | 0:0f497d629677 | 722 | |
grupo_17_2020 | 0:0f497d629677 | 723 | if( res > 0 ){ |
grupo_17_2020 | 0:0f497d629677 | 724 | if (strstr ((char*)buffer_data_http, "200 OK")){ |
grupo_17_2020 | 0:0f497d629677 | 725 | DBG.printf("proc_posrt: -> [%d] 200 OK\r\n", __LINE__ ); |
grupo_17_2020 | 0:0f497d629677 | 726 | } |
grupo_17_2020 | 0:0f497d629677 | 727 | } |
grupo_17_2020 | 0:0f497d629677 | 728 | proc_post_tic = SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 729 | proc_post_step = PROC_POST_CLOSE_HCSR; |
grupo_17_2020 | 0:0f497d629677 | 730 | DBG.printf("proc_posrt: -> [%d] PROC_POST_CLOSE_STATE\r\n", __LINE__ ); |
grupo_17_2020 | 0:0f497d629677 | 731 | break; |
grupo_17_2020 | 0:0f497d629677 | 732 | |
grupo_17_2020 | 0:0f497d629677 | 733 | case PROC_POST_CLOSE_HCSR: |
grupo_17_2020 | 0:0f497d629677 | 734 | |
grupo_17_2020 | 0:0f497d629677 | 735 | proc_post_tic = 10 * SYSTEM_TICKER_1_SEG; |
grupo_17_2020 | 0:0f497d629677 | 736 | proc_post_step = PROC_POST_OPEN_STATE; |
grupo_17_2020 | 0:0f497d629677 | 737 | |
grupo_17_2020 | 0:0f497d629677 | 738 | break; |
grupo_17_2020 | 0:0f497d629677 | 739 | |
grupo_17_2020 | 0:0f497d629677 | 740 | } |
grupo_17_2020 | 0:0f497d629677 | 741 | } |
grupo_17_2020 | 0:0f497d629677 | 742 | |
grupo_17_2020 | 0:0f497d629677 | 743 | //contador para no sobreponer colores |
grupo_17_2020 | 0:0f497d629677 | 744 | void conta(){ |
grupo_17_2020 | 0:0f497d629677 | 745 | |
grupo_17_2020 | 0:0f497d629677 | 746 | if(segundos > 0){ |
grupo_17_2020 | 0:0f497d629677 | 747 | segundos--; |
grupo_17_2020 | 0:0f497d629677 | 748 | } |
grupo_17_2020 | 0:0f497d629677 | 749 | } |
grupo_17_2020 | 0:0f497d629677 | 750 | |
grupo_17_2020 | 0:0f497d629677 | 751 | //contador motores |
grupo_17_2020 | 0:0f497d629677 | 752 | void conta_m(){ |
grupo_17_2020 | 0:0f497d629677 | 753 | if(IsHCSRFree){ |
grupo_17_2020 | 0:0f497d629677 | 754 | if(segundos_m > 0){ |
grupo_17_2020 | 0:0f497d629677 | 755 | segundos_m--; |
grupo_17_2020 | 0:0f497d629677 | 756 | } |
grupo_17_2020 | 0:0f497d629677 | 757 | } |
grupo_17_2020 | 0:0f497d629677 | 758 | } |
grupo_17_2020 | 0:0f497d629677 | 759 | |
grupo_17_2020 | 0:0f497d629677 | 760 | //contador para no sobreponer colores |
grupo_17_2020 | 0:0f497d629677 | 761 | void conta_send(){ |
grupo_17_2020 | 0:0f497d629677 | 762 | //DBG.printf("%d_", segundos); |
grupo_17_2020 | 0:0f497d629677 | 763 | if(segundos_send > 0){ |
grupo_17_2020 | 0:0f497d629677 | 764 | segundos_send--; |
grupo_17_2020 | 0:0f497d629677 | 765 | } |
grupo_17_2020 | 0:0f497d629677 | 766 | } |
grupo_17_2020 | 0:0f497d629677 | 767 | |
grupo_17_2020 | 0:0f497d629677 | 768 | // contador de tic de wifi |
grupo_17_2020 | 0:0f497d629677 | 769 | void proc_post_tic_cb (){ |
grupo_17_2020 | 0:0f497d629677 | 770 | if (proc_post_tic) |
grupo_17_2020 | 0:0f497d629677 | 771 | proc_post_tic-- ; |
grupo_17_2020 | 0:0f497d629677 | 772 | } |
grupo_17_2020 | 0:0f497d629677 | 773 | |
grupo_17_2020 | 0:0f497d629677 | 774 | //contador de duty de sensor de color (start) |
grupo_17_2020 | 0:0f497d629677 | 775 | void Ascend(){ |
grupo_17_2020 | 0:0f497d629677 | 776 | cont.start(); |
grupo_17_2020 | 0:0f497d629677 | 777 | } |
grupo_17_2020 | 0:0f497d629677 | 778 | |
grupo_17_2020 | 0:0f497d629677 | 779 | //contador de duty de sensor de color (stop n store) |
grupo_17_2020 | 0:0f497d629677 | 780 | void Desend(){ |
grupo_17_2020 | 0:0f497d629677 | 781 | cont.stop(); |
grupo_17_2020 | 0:0f497d629677 | 782 | util = cont.read_us(); |
grupo_17_2020 | 0:0f497d629677 | 783 | cont.reset(); |
grupo_17_2020 | 0:0f497d629677 | 784 | } |