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.
Dependencies: FastAnalogIn HSI2RGBW_PWM NVIC_set_all_priorities mbed-dsp mbed TextLCD
Fork of Seniales-Tacometro by
main.cpp
00001 #include "mbed.h" //Librería default de mbed 00002 #include "NVIC_set_all_priorities.h" //Librería para modificar todas las solicitudes de interrupciones al mismo tiempo 00003 #include <ctype.h> 00004 #include "arm_math.h" //Librería que contiene funciones de tranformada de fourier 00005 #include "arm_const_structs.h" 00006 #include "FastAnalogIn.h" //Librería modificada basada en la función de AnalogIn que reduce el tiempo de procesamiento de las señales ADC 00007 00008 //columnas 00009 DigitalOut col0(PTA1); 00010 DigitalOut col1(PTA2); 00011 DigitalOut col2(PTD4); 00012 DigitalOut col3(PTA12); 00013 DigitalOut col4(PTA4); 00014 00015 //filas 00016 DigitalOut floor1(PTA13); 00017 DigitalOut floor2(PTD5); 00018 DigitalOut floor3(PTD0); 00019 DigitalOut floor4(PTD2); 00020 DigitalOut floor5(PTD3); 00021 00022 00023 char* x; 00024 int count = 0; 00025 Serial pc(USBTX, USBRX); //Se declaran los pines que se utilizarán para la comunicación serial mediante USB para debuggeo (PTA1 - RX, PTA2 - TX) 00026 FastAnalogIn segnal(PTC2); //Se declara el pin que recibirá la señal análoga del sensor 00027 00028 extern "C" void NMI_Handler() 00029 { 00030 } 00031 00032 //////////////////////////////////////////////////////////////////////////////// 00033 // CONFIGURACION 00034 //Estos valores puedne modificarse para modificar los parametros de la transformada 00035 //////////////////////////////////////////////////////////////////////////////// 00036 00037 int SAMPLE_RATE_HZ = 40000; // Frecuencian de muestreo en HZ del sistema 00038 const int FFT_SIZE = 1024; // Número de valores para la transformada rápida 00039 float freq = 40000.0/1024.0; // Frecuencia de activación de la interrupción de muestreo 00040 float max[2]; // Arreglo que almacena la frecuencia y magnitud mayores del espectro de Fourier 00041 00042 //////////////////////////////////////////////////////////////////////////////// 00043 // ESTADO INTERNO 00044 // Configuraciones necesarias para el correcto funcionaiento del programa 00045 //////////////////////////////////////////////////////////////////////////////// 00046 00047 const static arm_cfft_instance_f32 *S; 00048 Ticker samplingTimer; //objeto creado para habilitar las interrupciones con lso métodos de ticker 00049 float samples[FFT_SIZE*2]; //Arreglo en el que se almacenan las muestras del tomadas ADC 00050 float magnitudes[FFT_SIZE]; //Arreglo donde se almacenan las magnitudes de la FFT 00051 int sampleCounter = 0; //Contador del número de muestras tomadas 00052 00053 //////////////////////////////////////////////////////////////////////////////// 00054 // FUNCIONES DE MUESTREO 00055 //////////////////////////////////////////////////////////////////////////////// 00056 00057 //Esta función permite realizar el muestreo de datos, se realiza como interrupción para asegurar el tiempo de muestreo deseado 00058 void samplingCallback() 00059 { 00060 // Lectura del ADC y almacenamiento del dato 00061 samples[sampleCounter] = (1023 * segnal) - 511.0f; //Se ajusta el valor de un rango de 0-1 a 0-511 00062 // La función que calcula la transformada requiere de un valor imaginario, en este caso se le asigna 0 00063 // ya que los valores muestreados son solamente reales. 00064 samples[sampleCounter+1] = 0.0; 00065 // Se ajusta la posición en el arreglo para almacenar el siguiente valor real 00066 sampleCounter += 2; 00067 //En caso de que el valor de sample counter sobrepase el tamaño del arreglo de almacenamiento se retira la interrupción 00068 //de muestreo del programa 00069 if (sampleCounter >= FFT_SIZE*2) { 00070 samplingTimer.detach(); 00071 } 00072 } 00073 00074 //Esta función permite reiniciar el contador de muestras e insertar nuevamente la interrupción de muestreo 00075 void samplingBegin() 00076 { 00077 sampleCounter = 0; //Se reinicia el contador de muestras 00078 samplingTimer.attach_us(&samplingCallback, 1000000/SAMPLE_RATE_HZ); //Se incertala interrupción de muestreo la cual es llamada con la frecuencia de Sample_rate_hz 00079 } 00080 00081 //Función booleana que funciona como bandera para indicar que el meustreo de datos ha sido finalizado 00082 bool samplingIsDone() 00083 { 00084 return sampleCounter >= FFT_SIZE*2; 00085 } 00086 00087 //////////////////////////////////////////////////////////////////////////////// 00088 // MAIN DEL PROGRAMA 00089 //////////////////////////////////////////////////////////////////////////////// 00090 00091 int main() 00092 { 00093 //Configuración de las solicitudes de interrupción 00094 NVIC_set_all_irq_priorities(1); 00095 00096 //Configuración de la velocidad de la comunicación serial 00097 pc.baud (115200); //Velocidad de la comunicación USB 00098 00099 // Se incerta la interrupción de muestreo del ADC 00100 samplingBegin(); 00101 00102 // Init arm_ccft_32 el registro cambiara dependiendo de la variable FFT_SIZE 00103 switch (FFT_SIZE) { 00104 case 512: 00105 S = & arm_cfft_sR_f32_len512; 00106 break; 00107 case 1024: 00108 S = & arm_cfft_sR_f32_len1024; 00109 break; 00110 case 2048: 00111 S = & arm_cfft_sR_f32_len2048; 00112 break; 00113 case 4096: 00114 S = & arm_cfft_sR_f32_len4096; 00115 break; 00116 } 00117 00118 while(1) { 00119 // Se calcula la FFT si se ha terminado el muestreo 00120 if (samplingIsDone()) { 00121 00122 arm_cfft_f32(S, samples, 0, 1); 00123 arm_cmplx_mag_f32(samples, magnitudes, FFT_SIZE); 00124 00125 for (int i = 0; i < FFT_SIZE/2+1; ++i) { 00126 // pc.printf("%f, %f\r\n", i*freq, magnitudes[i]); //Esta línea se activa solo si se desea conocer la magnitudes generada por la FFT 00127 //Sección de código que permite obtener el valor de frecuencia y magnitud mayor de los calculados 00128 if (magnitudes[i]>max[1]) { 00129 max[0]=i*freq; 00130 max[1]=magnitudes[i]; //Habilitar solo para debuggeo 00131 } 00132 } 00133 00134 if (190<max[0] && max[0]<205) { 00135 x="primer patron"; 00136 00137 floor1 = 1; 00138 col3=1; 00139 col1=1; 00140 col0=1; 00141 wait_us(208); 00142 floor1 = 0; 00143 col3=0; 00144 col1=0; 00145 col0=0; 00146 wait_us(208); 00147 00148 floor1 = 1; 00149 col3=1; 00150 col2=1; 00151 wait_us(208); 00152 floor1 = 0; 00153 col3=0; 00154 col2=0; 00155 wait_us(208); 00156 00157 floor1 = 1; 00158 col3=1; 00159 col2=1; 00160 col0=1; 00161 wait_us(208); 00162 floor1 = 0; 00163 col3=0; 00164 col2=0; 00165 col0=0; 00166 wait_us(208); 00167 00168 } else if (230<max[0] && max[0]<250) { 00169 x="segundo patron"; 00170 00171 floor1 = 1; 00172 col3=1; 00173 col1=1; 00174 col0=1; 00175 wait_us(208); 00176 floor1 = 0; 00177 col3=0; 00178 col1=0; 00179 col0=0; 00180 wait_us(208); 00181 00182 floor1 = 1; 00183 col3=1; 00184 col2=1; 00185 wait_us(208); 00186 floor1 = 0; 00187 col3=0; 00188 col2=0; 00189 wait_us(208); 00190 00191 floor1 = 1; 00192 col3=1; 00193 col2=1; 00194 col0=1; 00195 wait_us(208); 00196 floor1 = 0; 00197 col3=0; 00198 col2=0; 00199 col0=0; 00200 wait_us(208); 00201 00202 floor2 = 1; 00203 col2=1; 00204 col1=1; 00205 wait_us(208); 00206 floor2 = 0; 00207 col2=0; 00208 col1=0; 00209 wait_us(208); 00210 00211 floor2 = 1; 00212 col2=1; 00213 col1=1; 00214 col0=1; 00215 wait_us(208); 00216 floor2 = 0; 00217 col2=0; 00218 col1=0; 00219 col0=0; 00220 wait_us(208); 00221 00222 floor2 = 1; 00223 col3=1; 00224 wait_us(208); 00225 floor2 = 0; 00226 col3=0; 00227 wait_us(208); 00228 00229 floor2 = 1; 00230 col3=1; 00231 col1=1; 00232 col0=1; 00233 wait_us(208); 00234 floor2 = 0; 00235 col3=0; 00236 col1=0; 00237 col0=0; 00238 wait_us(208); 00239 00240 00241 floor2 = 1; 00242 col3=1; 00243 col2=1; 00244 wait_us(208); 00245 floor2 = 0; 00246 col3=0; 00247 col2=0; 00248 wait_us(208); 00249 00250 floor2 = 1; 00251 col3=1; 00252 col2=1; 00253 col0=1; 00254 wait_us(208); 00255 floor2 = 1; 00256 col3=0; 00257 col2=0; 00258 col0=0; 00259 wait_us(208); 00260 00261 floor2 = 1; 00262 col4=1; 00263 wait_us(208); 00264 floor2 = 0; 00265 col4=0; 00266 wait_us(208); 00267 00268 floor2 = 1; 00269 col4=1; 00270 col0=1; 00271 wait_us(208); 00272 floor2 = 0; 00273 col4=0; 00274 col0=0; 00275 wait_us(208); 00276 00277 floor2 = 1; 00278 col4=1; 00279 col1=1; 00280 wait_us(208); 00281 floor2 = 0; 00282 col4=0; 00283 col1=0; 00284 wait_us(208); 00285 00286 } else if (310<max[0] && max[0]<320) { 00287 x="tercer patron"; 00288 00289 floor1 = 1; 00290 col3=1; 00291 col1=1; 00292 col0=1; 00293 wait_us(208); 00294 floor1 = 0; 00295 col3=0; 00296 col1=0; 00297 col0=0; 00298 wait_us(208); 00299 00300 floor1 = 1; 00301 col3=1; 00302 col2=1; 00303 wait_us(208); 00304 floor1 = 0; 00305 col3=0; 00306 col2=0; 00307 wait_us(208); 00308 00309 floor1 = 1; 00310 col3=1; 00311 col2=1; 00312 col0=1; 00313 wait_us(208); 00314 floor1 = 0; 00315 col3=0; 00316 col2=0; 00317 col0=0; 00318 wait_us(208); 00319 00320 floor2 = 1; 00321 col2=1; 00322 col1=1; 00323 wait_us(208); 00324 floor2 = 0; 00325 col2=0; 00326 col1=0; 00327 wait_us(208); 00328 00329 floor2 = 1; 00330 col2=1; 00331 col1=1; 00332 col0=1; 00333 wait_us(208); 00334 floor2 = 0; 00335 col2=0; 00336 col1=0; 00337 col0=0; 00338 wait_us(208); 00339 00340 floor2 = 1; 00341 col3=1; 00342 wait_us(208); 00343 floor2 = 0; 00344 col3=0; 00345 wait_us(208); 00346 00347 floor2 = 1; 00348 col3=1; 00349 col1=1; 00350 col0=1; 00351 wait_us(208); 00352 floor2 = 0; 00353 col3=0; 00354 col1=0; 00355 col0=0; 00356 wait_us(208); 00357 00358 00359 floor2 = 1; 00360 col3=1; 00361 col2=1; 00362 wait_us(208); 00363 floor2 = 0; 00364 col3=0; 00365 col2=0; 00366 wait_us(208); 00367 00368 floor2 = 1; 00369 col3=1; 00370 col2=1; 00371 col0=1; 00372 wait_us(208); 00373 floor2 = 1; 00374 col3=0; 00375 col2=0; 00376 col0=0; 00377 wait_us(208); 00378 00379 floor2 = 1; 00380 col4=1; 00381 wait_us(208); 00382 floor2 = 0; 00383 col4=0; 00384 wait_us(208); 00385 00386 floor2 = 1; 00387 col4=1; 00388 col0=1; 00389 wait_us(208); 00390 floor2 = 0; 00391 col4=0; 00392 col0=0; 00393 wait_us(208); 00394 00395 floor2 = 1; 00396 col4=1; 00397 col1=1; 00398 wait_us(208); 00399 floor2 = 0; 00400 col4=0; 00401 col1=0; 00402 wait_us(208); 00403 00404 floor3 = 1; 00405 col0=1; 00406 wait_us(208); 00407 floor3 = 0; 00408 col0=0; 00409 wait_us(208); 00410 00411 floor3 = 1; 00412 col1=1; 00413 wait_us(208); 00414 floor3 = 0; 00415 col1=0; 00416 wait_us(208); 00417 00418 floor3 = 1; 00419 col0=1; 00420 col1=1; 00421 wait_us(208); 00422 floor3 = 0; 00423 col0=0; 00424 col1=0; 00425 wait_us(208); 00426 00427 floor3 = 1; 00428 col1=1; 00429 col2=1; 00430 wait_us(208); 00431 floor3 = 0; 00432 col1=0; 00433 col2=0; 00434 wait_us(208); 00435 00436 floor3 = 1; 00437 col0=1; 00438 col1=1; 00439 col2=1; 00440 wait_us(208); 00441 floor3 = 0; 00442 col0=0; 00443 col1=0; 00444 col2=0; 00445 wait_us(208); 00446 00447 floor3 = 1; 00448 col3=1; 00449 wait_us(208); 00450 floor3 = 0; 00451 col3=0; 00452 wait_us(208); 00453 00454 floor3 = 1; 00455 col0=1; 00456 col1=1; 00457 col3=1; 00458 wait_us(208); 00459 floor3 = 0; 00460 col0=0; 00461 col1=0; 00462 col3=0; 00463 wait_us(208); 00464 00465 floor3 = 1; 00466 col3=1; 00467 col2=1; 00468 wait_us(208); 00469 floor3 = 0; 00470 col3=0; 00471 col2=0; 00472 wait_us(208); 00473 00474 floor3 = 1; 00475 col0=1; 00476 col3=1; 00477 col2=1; 00478 wait_us(208); 00479 floor3 = 0; 00480 col0=0; 00481 col3=0; 00482 col2=0; 00483 wait_us(208); 00484 00485 floor3 = 1; 00486 col4=1; 00487 wait_us(208); 00488 floor3 = 0; 00489 col4=0; 00490 wait_us(208); 00491 00492 floor3 = 1; 00493 col0=1; 00494 col4=1; 00495 wait_us(208); 00496 floor3 = 0; 00497 col0=0; 00498 col4=0; 00499 wait_us(208); 00500 00501 floor3 = 1; 00502 col1=1; 00503 col4=1; 00504 wait_us(208); 00505 floor3 = 0; 00506 col1=0; 00507 col4=0; 00508 wait_us(208); 00509 00510 floor3 = 1; 00511 col0=1; 00512 col4=1; 00513 col2=1; 00514 wait_us(208); 00515 floor3 = 0; 00516 col0=0; 00517 col4=0; 00518 col2=0; 00519 wait_us(208); 00520 00521 floor3 = 1; 00522 col4=1; 00523 col1=1; 00524 col2=1; 00525 wait_us(208); 00526 floor3 = 0; 00527 col4=0; 00528 col1=0; 00529 col2=0; 00530 wait_us(208); 00531 00532 floor3 = 1; 00533 col0=1; 00534 col1=1; 00535 col2=1; 00536 col4=1; 00537 wait_us(208); 00538 floor3 = 0; 00539 col0=0; 00540 col1=0; 00541 col2=0; 00542 col4=0; 00543 wait_us(208); 00544 00545 } else if (385<max[0] && max[0]<400) { 00546 x="cuarto patron"; 00547 00548 floor1 = 1; 00549 col3=1; 00550 col1=1; 00551 col0=1; 00552 wait_us(208); 00553 floor1 = 0; 00554 col3=0; 00555 col1=0; 00556 col0=0; 00557 wait_us(208); 00558 00559 floor1 = 1; 00560 col3=1; 00561 col2=1; 00562 wait_us(208); 00563 floor1 = 0; 00564 col3=0; 00565 col2=0; 00566 wait_us(208); 00567 00568 floor1 = 1; 00569 col3=1; 00570 col2=1; 00571 col0=1; 00572 wait_us(208); 00573 floor1 = 0; 00574 col3=0; 00575 col2=0; 00576 col0=0; 00577 wait_us(208); 00578 00579 floor2 = 1; 00580 col2=1; 00581 col1=1; 00582 wait_us(208); 00583 floor2 = 0; 00584 col2=0; 00585 col1=0; 00586 wait_us(208); 00587 00588 floor2 = 1; 00589 col2=1; 00590 col1=1; 00591 col0=1; 00592 wait_us(208); 00593 floor2 = 0; 00594 col2=0; 00595 col1=0; 00596 col0=0; 00597 wait_us(208); 00598 00599 floor2 = 1; 00600 col3=1; 00601 wait_us(208); 00602 floor2 = 0; 00603 col3=0; 00604 wait_us(208); 00605 00606 floor2 = 1; 00607 col3=1; 00608 col1=1; 00609 col0=1; 00610 wait_us(208); 00611 floor2 = 0; 00612 col3=0; 00613 col1=0; 00614 col0=0; 00615 wait_us(208); 00616 00617 00618 floor2 = 1; 00619 col3=1; 00620 col2=1; 00621 wait_us(208); 00622 floor2 = 0; 00623 col3=0; 00624 col2=0; 00625 wait_us(208); 00626 00627 floor2 = 1; 00628 col3=1; 00629 col2=1; 00630 col0=1; 00631 wait_us(208); 00632 floor2 = 1; 00633 col3=0; 00634 col2=0; 00635 col0=0; 00636 wait_us(208); 00637 00638 floor2 = 1; 00639 col4=1; 00640 wait_us(208); 00641 floor2 = 0; 00642 col4=0; 00643 wait_us(208); 00644 00645 floor2 = 1; 00646 col4=1; 00647 col0=1; 00648 wait_us(208); 00649 floor2 = 0; 00650 col4=0; 00651 col0=0; 00652 wait_us(208); 00653 00654 floor2 = 1; 00655 col4=1; 00656 col1=1; 00657 wait_us(208); 00658 floor2 = 0; 00659 col4=0; 00660 col1=0; 00661 wait_us(208); 00662 00663 floor3 = 1; 00664 col0=1; 00665 wait_us(208); 00666 floor3 = 0; 00667 col0=0; 00668 wait_us(208); 00669 00670 floor3 = 1; 00671 col1=1; 00672 wait_us(208); 00673 floor3 = 0; 00674 col1=0; 00675 wait_us(208); 00676 00677 floor3 = 1; 00678 col0=1; 00679 col1=1; 00680 wait_us(208); 00681 floor3 = 0; 00682 col0=0; 00683 col1=0; 00684 wait_us(208); 00685 00686 floor3 = 1; 00687 col1=1; 00688 col2=1; 00689 wait_us(208); 00690 floor3 = 0; 00691 col1=0; 00692 col2=0; 00693 wait_us(208); 00694 00695 floor3 = 1; 00696 col0=1; 00697 col1=1; 00698 col2=1; 00699 wait_us(208); 00700 floor3 = 0; 00701 col0=0; 00702 col1=0; 00703 col2=0; 00704 wait_us(208); 00705 00706 floor3 = 1; 00707 col3=1; 00708 wait_us(208); 00709 floor3 = 0; 00710 col3=0; 00711 wait_us(208); 00712 00713 floor3 = 1; 00714 col0=1; 00715 col1=1; 00716 col3=1; 00717 wait_us(208); 00718 floor3 = 0; 00719 col0=0; 00720 col1=0; 00721 col3=0; 00722 wait_us(208); 00723 00724 floor3 = 1; 00725 col3=1; 00726 col2=1; 00727 wait_us(208); 00728 floor3 = 0; 00729 col3=0; 00730 col2=0; 00731 wait_us(208); 00732 00733 floor3 = 1; 00734 col0=1; 00735 col3=1; 00736 col2=1; 00737 wait_us(208); 00738 floor3 = 0; 00739 col0=0; 00740 col3=0; 00741 col2=0; 00742 wait_us(208); 00743 00744 floor3 = 1; 00745 col4=1; 00746 wait_us(208); 00747 floor3 = 0; 00748 col4=0; 00749 wait_us(208); 00750 00751 floor3 = 1; 00752 col0=1; 00753 col4=1; 00754 wait_us(208); 00755 floor3 = 0; 00756 col0=0; 00757 col4=0; 00758 wait_us(208); 00759 00760 floor3 = 1; 00761 col1=1; 00762 col4=1; 00763 wait_us(208); 00764 floor3 = 0; 00765 col1=0; 00766 col4=0; 00767 wait_us(208); 00768 00769 floor3 = 1; 00770 col0=1; 00771 col4=1; 00772 col2=1; 00773 wait_us(208); 00774 floor3 = 0; 00775 col0=0; 00776 col4=0; 00777 col2=0; 00778 wait_us(208); 00779 00780 floor3 = 1; 00781 col4=1; 00782 col1=1; 00783 col2=1; 00784 wait_us(208); 00785 floor3 = 0; 00786 col4=0; 00787 col1=0; 00788 col2=0; 00789 wait_us(208); 00790 00791 floor3 = 1; 00792 col0=1; 00793 col1=1; 00794 col2=1; 00795 col4=1; 00796 wait_us(208); 00797 floor3 = 0; 00798 col0=0; 00799 col1=0; 00800 col2=0; 00801 col4=0; 00802 wait_us(208); 00803 00804 floor4 = 1; 00805 col0=1; 00806 wait_us(208); 00807 floor4 = 0; 00808 col0=0; 00809 wait_us(208); 00810 00811 floor4 = 1; 00812 col1=1; 00813 wait_us(208); 00814 floor4 = 0; 00815 col1=0; 00816 wait_us(208); 00817 00818 floor4 = 1; 00819 col0=1; 00820 col1=1; 00821 wait_us(208); 00822 floor4 = 0; 00823 col0=0; 00824 col1=0; 00825 wait_us(208); 00826 00827 floor4 = 1; 00828 col1=1; 00829 col2=1; 00830 wait_us(208); 00831 floor4 = 0; 00832 col1=0; 00833 col2=0; 00834 wait_us(208); 00835 00836 floor4 = 1; 00837 col0=1; 00838 col1=1; 00839 col2=1; 00840 wait_us(208); 00841 floor4 = 0; 00842 col0=0; 00843 col1=0; 00844 col2=0; 00845 wait_us(208); 00846 00847 floor4 = 1; 00848 col3=1; 00849 wait_us(208); 00850 floor4 = 0; 00851 col3=0; 00852 wait_us(208); 00853 00854 floor4 = 1; 00855 col0=1; 00856 col1=1; 00857 col3=1; 00858 wait_us(208); 00859 floor4 = 0; 00860 col0=0; 00861 col1=0; 00862 col3=0; 00863 wait_us(208); 00864 00865 floor4 = 1; 00866 col3=1; 00867 col2=1; 00868 wait_us(208); 00869 floor4 = 0; 00870 col3=0; 00871 col2=0; 00872 wait_us(208); 00873 00874 floor4 = 1; 00875 col0=1; 00876 col3=1; 00877 col2=1; 00878 wait_us(208); 00879 floor4 = 0; 00880 col0=0; 00881 col3=0; 00882 col2=0; 00883 wait_us(208); 00884 00885 floor4 = 1; 00886 col4=1; 00887 wait_us(208); 00888 floor4 = 0; 00889 col4=0; 00890 wait_us(208); 00891 00892 floor4 = 1; 00893 col0=1; 00894 col4=1; 00895 wait_us(208); 00896 floor4 = 0; 00897 col0=0; 00898 col4=0; 00899 wait_us(208); 00900 00901 floor4 = 1; 00902 col1=1; 00903 col4=1; 00904 wait_us(208); 00905 floor4 = 0; 00906 col1=0; 00907 col4=0; 00908 wait_us(208); 00909 00910 floor4 = 1; 00911 col0=1; 00912 col4=1; 00913 col2=1; 00914 wait_us(208); 00915 floor4 = 0; 00916 col0=0; 00917 col4=0; 00918 col2=0; 00919 wait_us(208); 00920 00921 floor4 = 1; 00922 col4=1; 00923 col1=1; 00924 col2=1; 00925 wait_us(208); 00926 floor4 = 0; 00927 col4=0; 00928 col1=0; 00929 col2=0; 00930 wait_us(208); 00931 00932 floor4 = 1; 00933 col0=1; 00934 col1=1; 00935 col2=1; 00936 col4=1; 00937 wait_us(208); 00938 floor4 = 0; 00939 col0=0; 00940 col1=0; 00941 col2=0; 00942 col4=0; 00943 wait_us(208); 00944 00945 } else if (495<max[0] && max[0]<505) { 00946 x="quinto patron"; 00947 00948 floor1 = 1; 00949 col3=1; 00950 col1=1; 00951 col0=1; 00952 wait_us(208); 00953 floor1 = 0; 00954 col3=0; 00955 col1=0; 00956 col0=0; 00957 wait_us(208); 00958 00959 floor1 = 1; 00960 col3=1; 00961 col2=1; 00962 wait_us(208); 00963 floor1 = 0; 00964 col3=0; 00965 col2=0; 00966 wait_us(208); 00967 00968 floor1 = 1; 00969 col3=1; 00970 col2=1; 00971 col0=1; 00972 wait_us(208); 00973 floor1 = 0; 00974 col3=0; 00975 col2=0; 00976 col0=0; 00977 wait_us(208); 00978 00979 floor2 = 1; 00980 col2=1; 00981 col1=1; 00982 wait_us(208); 00983 floor2 = 0; 00984 col2=0; 00985 col1=0; 00986 wait_us(208); 00987 00988 floor2 = 1; 00989 col2=1; 00990 col1=1; 00991 col0=1; 00992 wait_us(208); 00993 floor2 = 0; 00994 col2=0; 00995 col1=0; 00996 col0=0; 00997 wait_us(208); 00998 00999 floor2 = 1; 01000 col3=1; 01001 wait_us(208); 01002 floor2 = 0; 01003 col3=0; 01004 wait_us(208); 01005 01006 floor2 = 1; 01007 col3=1; 01008 col1=1; 01009 col0=1; 01010 wait_us(208); 01011 floor2 = 0; 01012 col3=0; 01013 col1=0; 01014 col0=0; 01015 wait_us(208); 01016 01017 01018 floor2 = 1; 01019 col3=1; 01020 col2=1; 01021 wait_us(208); 01022 floor2 = 0; 01023 col3=0; 01024 col2=0; 01025 wait_us(208); 01026 01027 floor2 = 1; 01028 col3=1; 01029 col2=1; 01030 col0=1; 01031 wait_us(208); 01032 floor2 = 1; 01033 col3=0; 01034 col2=0; 01035 col0=0; 01036 wait_us(208); 01037 01038 floor2 = 1; 01039 col4=1; 01040 wait_us(208); 01041 floor2 = 0; 01042 col4=0; 01043 wait_us(208); 01044 01045 floor2 = 1; 01046 col4=1; 01047 col0=1; 01048 wait_us(208); 01049 floor2 = 0; 01050 col4=0; 01051 col0=0; 01052 wait_us(208); 01053 01054 floor2 = 1; 01055 col4=1; 01056 col1=1; 01057 wait_us(208); 01058 floor2 = 0; 01059 col4=0; 01060 col1=0; 01061 wait_us(208); 01062 01063 floor3 = 1; 01064 col0=1; 01065 wait_us(208); 01066 floor3 = 0; 01067 col0=0; 01068 wait_us(208); 01069 01070 floor3 = 1; 01071 col1=1; 01072 wait_us(208); 01073 floor3 = 0; 01074 col1=0; 01075 wait_us(208); 01076 01077 floor3 = 1; 01078 col0=1; 01079 col1=1; 01080 wait_us(208); 01081 floor3 = 0; 01082 col0=0; 01083 col1=0; 01084 wait_us(208); 01085 01086 floor3 = 1; 01087 col1=1; 01088 col2=1; 01089 wait_us(208); 01090 floor3 = 0; 01091 col1=0; 01092 col2=0; 01093 wait_us(208); 01094 01095 floor3 = 1; 01096 col0=1; 01097 col1=1; 01098 col2=1; 01099 wait_us(208); 01100 floor3 = 0; 01101 col0=0; 01102 col1=0; 01103 col2=0; 01104 wait_us(208); 01105 01106 floor3 = 1; 01107 col3=1; 01108 wait_us(208); 01109 floor3 = 0; 01110 col3=0; 01111 wait_us(208); 01112 01113 floor3 = 1; 01114 col0=1; 01115 col1=1; 01116 col3=1; 01117 wait_us(208); 01118 floor3 = 0; 01119 col0=0; 01120 col1=0; 01121 col3=0; 01122 wait_us(208); 01123 01124 floor3 = 1; 01125 col3=1; 01126 col2=1; 01127 wait_us(208); 01128 floor3 = 0; 01129 col3=0; 01130 col2=0; 01131 wait_us(208); 01132 01133 floor3 = 1; 01134 col0=1; 01135 col3=1; 01136 col2=1; 01137 wait_us(208); 01138 floor3 = 0; 01139 col0=0; 01140 col3=0; 01141 col2=0; 01142 wait_us(208); 01143 01144 floor3 = 1; 01145 col4=1; 01146 wait_us(208); 01147 floor3 = 0; 01148 col4=0; 01149 wait_us(208); 01150 01151 floor3 = 1; 01152 col0=1; 01153 col4=1; 01154 wait_us(208); 01155 floor3 = 0; 01156 col0=0; 01157 col4=0; 01158 wait_us(208); 01159 01160 floor3 = 1; 01161 col1=1; 01162 col4=1; 01163 wait_us(208); 01164 floor3 = 0; 01165 col1=0; 01166 col4=0; 01167 wait_us(208); 01168 01169 floor3 = 1; 01170 col0=1; 01171 col4=1; 01172 col2=1; 01173 wait_us(208); 01174 floor3 = 0; 01175 col0=0; 01176 col4=0; 01177 col2=0; 01178 wait_us(208); 01179 01180 floor3 = 1; 01181 col4=1; 01182 col1=1; 01183 col2=1; 01184 wait_us(208); 01185 floor3 = 0; 01186 col4=0; 01187 col1=0; 01188 col2=0; 01189 wait_us(208); 01190 01191 floor3 = 1; 01192 col0=1; 01193 col1=1; 01194 col2=1; 01195 col4=1; 01196 wait_us(208); 01197 floor3 = 0; 01198 col0=0; 01199 col1=0; 01200 col2=0; 01201 col4=0; 01202 wait_us(208); 01203 01204 floor4 = 1; 01205 col0=1; 01206 wait_us(208); 01207 floor4 = 0; 01208 col0=0; 01209 wait_us(208); 01210 01211 floor4 = 1; 01212 col1=1; 01213 wait_us(208); 01214 floor4 = 0; 01215 col1=0; 01216 wait_us(208); 01217 01218 floor4 = 1; 01219 col0=1; 01220 col1=1; 01221 wait_us(208); 01222 floor4 = 0; 01223 col0=0; 01224 col1=0; 01225 wait_us(208); 01226 01227 floor4 = 1; 01228 col1=1; 01229 col2=1; 01230 wait_us(208); 01231 floor4 = 0; 01232 col1=0; 01233 col2=0; 01234 wait_us(208); 01235 01236 floor4 = 1; 01237 col0=1; 01238 col1=1; 01239 col2=1; 01240 wait_us(208); 01241 floor4 = 0; 01242 col0=0; 01243 col1=0; 01244 col2=0; 01245 wait_us(208); 01246 01247 floor4 = 1; 01248 col3=1; 01249 wait_us(208); 01250 floor4 = 0; 01251 col3=0; 01252 wait_us(208); 01253 01254 floor4 = 1; 01255 col0=1; 01256 col1=1; 01257 col3=1; 01258 wait_us(208); 01259 floor4 = 0; 01260 col0=0; 01261 col1=0; 01262 col3=0; 01263 wait_us(208); 01264 01265 floor4 = 1; 01266 col3=1; 01267 col2=1; 01268 wait_us(208); 01269 floor4 = 0; 01270 col3=0; 01271 col2=0; 01272 wait_us(208); 01273 01274 floor4 = 1; 01275 col0=1; 01276 col3=1; 01277 col2=1; 01278 wait_us(208); 01279 floor4 = 0; 01280 col0=0; 01281 col3=0; 01282 col2=0; 01283 wait_us(208); 01284 01285 floor4 = 1; 01286 col4=1; 01287 wait_us(208); 01288 floor4 = 0; 01289 col4=0; 01290 wait_us(208); 01291 01292 floor4 = 1; 01293 col0=1; 01294 col4=1; 01295 wait_us(208); 01296 floor4 = 0; 01297 col0=0; 01298 col4=0; 01299 wait_us(208); 01300 01301 floor4 = 1; 01302 col1=1; 01303 col4=1; 01304 wait_us(208); 01305 floor4 = 0; 01306 col1=0; 01307 col4=0; 01308 wait_us(208); 01309 01310 floor4 = 1; 01311 col0=1; 01312 col4=1; 01313 col2=1; 01314 wait_us(208); 01315 floor4 = 0; 01316 col0=0; 01317 col4=0; 01318 col2=0; 01319 wait_us(208); 01320 01321 floor4 = 1; 01322 col4=1; 01323 col1=1; 01324 col2=1; 01325 wait_us(208); 01326 floor4 = 0; 01327 col4=0; 01328 col1=0; 01329 col2=0; 01330 wait_us(208); 01331 01332 floor4 = 1; 01333 col0=1; 01334 col1=1; 01335 col2=1; 01336 col4=1; 01337 wait_us(208); 01338 floor4 = 0; 01339 col0=0; 01340 col1=0; 01341 col2=0; 01342 col4=0; 01343 wait_us(208); 01344 01345 floor5 = 1; 01346 col1=1; 01347 col2=1; 01348 wait_us(208); 01349 floor5 = 0; 01350 col1=0; 01351 col2=0; 01352 wait_us(208); 01353 01354 floor5 = 1; 01355 col1=1; 01356 col2=1; 01357 col0=1; 01358 wait_us(208); 01359 floor5 = 0; 01360 col1=0; 01361 col2=0; 01362 col0=0; 01363 wait_us(208); 01364 01365 floor5 = 1; 01366 col3=1; 01367 wait_us(208); 01368 floor5 = 0; 01369 col3=0; 01370 wait_us(208); 01371 01372 floor5 = 1; 01373 col4=1; 01374 wait_us(208); 01375 floor5 = 0; 01376 col4=0; 01377 wait_us(208); 01378 01379 floor5 = 1; 01380 col4=1; 01381 col0=1; 01382 wait_us(208); 01383 floor5 = 0; 01384 col4=0; 01385 col0=0; 01386 wait_us(208); 01387 01388 floor5 = 1; 01389 col4=1; 01390 col1=1; 01391 wait_us(208); 01392 floor5 = 0; 01393 col4=0; 01394 col1=0; 01395 wait_us(208); 01396 01397 }/* else if (618<max[0] && max[0]<635) { 01398 x="sexto patron"; 01399 } else if (775<max[0] && max[0]<805) { 01400 x="septimo patron"; 01401 } else if (995<max[0] && max[0]<1025) { 01402 x="octavo patron"; 01403 }*/ 01404 count++; 01405 if(count == 5){ 01406 pc.printf("%s",x); 01407 count = 0; 01408 } 01409 01410 max[0]=0; 01411 max[1]=0; 01412 01413 // Se vuelve a incertar la interrupción de muestreo 01414 samplingBegin(); 01415 } 01416 } 01417 }
Generated on Tue Jul 19 2022 01:39:19 by
1.7.2
