Funcional
Dependencies: FastAnalogIn HSI2RGBW_PWM NVIC_set_all_priorities mbed-dsp mbed TextLCD
Fork of Seniales-Tacometro by
Revision 8:4c2a5a2b2a80, committed 2016-04-29
- Comitter:
- griszAndy
- Date:
- Fri Apr 29 14:58:33 2016 +0000
- Parent:
- 7:6b8a1382b2ee
- Commit message:
- Version Calibrada
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Tue Apr 26 15:04:08 2016 +0000 +++ b/main.cpp Fri Apr 29 14:58:33 2016 +0000 @@ -4,13 +4,24 @@ #include "arm_math.h" //Librería que contiene funciones de tranformada de fourier #include "arm_const_structs.h" #include "FastAnalogIn.h" //Librería modificada basada en la función de AnalogIn que reduce el tiempo de procesamiento de las señales ADC -#include "TextLCD.h" - - -TextLCD lcd(PTA4, PTC8, PTA13, PTD5, PTD0, PTD2); // rs, e, d0, d1, d2, d3 + +//columnas +DigitalOut col0(PTA1); +DigitalOut col1(PTA2); +DigitalOut col2(PTD4); +DigitalOut col3(PTA12); +DigitalOut col4(PTA4); + +//filas +DigitalOut floor1(PTA13); +DigitalOut floor2(PTD5); +DigitalOut floor3(PTD0); +DigitalOut floor4(PTD2); +DigitalOut floor5(PTD3); + char* x; -int lcd_count = 0; +int count = 0; 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) FastAnalogIn segnal(PTC2); //Se declara el pin que recibirá la señal análoga del sensor @@ -119,55 +130,1281 @@ max[1]=magnitudes[i]; //Habilitar solo para debuggeo } } - int test= (int) (max[0] + 0.5); - printf("%i\r\n", test); - if (25<max[0] && max[0]<260) { - x="04,000 RPM"; - } else if (260<max[0] && max[0]<325) { - x="05,000 RPM"; - } else if (600<max[0] && max[0]<780) { - x="05,000 RPM"; - } else if (1301<max[0] && max[0]<1500) { - x="05,000 RPM"; - } else if (326<max[0] && max[0]<392) { - x="06,000 RPM"; - } else if (780<max[0] && max[0]<900) { - x="06,000 RPM"; - } else if (2000<max[0] && max[0]<2800) { - x="06,000 RPM"; - } else if (393<max[0] && max[0]<450) { - x="07,000 RPM"; - } else if (900<max[0] && max[0]<1010) { - x="07,000 RPM"; - } else if (451<max[0] && max[0]<519) { - x="08,000 RPM"; - } else if (1010<max[0] && max[0]<1149) { - x="08,000 RPM"; - } else if (520<max[0] && max[0]<584) { - x="09,000 RPM"; - } else if (1150<max[0] && max[0]<1168) { - x="09,000 RPM"; - } else if (584<max[0] && max[0]<700) { - x="10,000 RPM"; - } else if (1168<max[0] && max[0]<1300) { - x="10,000 RPM"; - } else if (max[0]==0) { - x="00,000 RPM"; - } - lcd_count++; - if(lcd_count == 5){ - lcd.cls(); - int test= (int) (max[0] + 0.5); - lcd.locate(0,0); - lcd.printf("%s",x); - //pc.printf("%s",x); - lcd.locate(0,1); - lcd.printf("%s","FFT: "); - //pc.printf("%s","FFT: "); - lcd.printf("%i",test); - //pc.printf("%i",test); - lcd_count = 0; + if (190<max[0] && max[0]<205) { + x="primer patron"; + + floor1 = 1; + col3=1; + col1=1; + col0=1; + wait_us(208); + floor1 = 0; + col3=0; + col1=0; + col0=0; + wait_us(208); + + floor1 = 1; + col3=1; + col2=1; + wait_us(208); + floor1 = 0; + col3=0; + col2=0; + wait_us(208); + + floor1 = 1; + col3=1; + col2=1; + col0=1; + wait_us(208); + floor1 = 0; + col3=0; + col2=0; + col0=0; + wait_us(208); + + } else if (230<max[0] && max[0]<250) { + x="segundo patron"; + + floor1 = 1; + col3=1; + col1=1; + col0=1; + wait_us(208); + floor1 = 0; + col3=0; + col1=0; + col0=0; + wait_us(208); + + floor1 = 1; + col3=1; + col2=1; + wait_us(208); + floor1 = 0; + col3=0; + col2=0; + wait_us(208); + + floor1 = 1; + col3=1; + col2=1; + col0=1; + wait_us(208); + floor1 = 0; + col3=0; + col2=0; + col0=0; + wait_us(208); + + floor2 = 1; + col2=1; + col1=1; + wait_us(208); + floor2 = 0; + col2=0; + col1=0; + wait_us(208); + + floor2 = 1; + col2=1; + col1=1; + col0=1; + wait_us(208); + floor2 = 0; + col2=0; + col1=0; + col0=0; + wait_us(208); + + floor2 = 1; + col3=1; + wait_us(208); + floor2 = 0; + col3=0; + wait_us(208); + + floor2 = 1; + col3=1; + col1=1; + col0=1; + wait_us(208); + floor2 = 0; + col3=0; + col1=0; + col0=0; + wait_us(208); + + + floor2 = 1; + col3=1; + col2=1; + wait_us(208); + floor2 = 0; + col3=0; + col2=0; + wait_us(208); + + floor2 = 1; + col3=1; + col2=1; + col0=1; + wait_us(208); + floor2 = 1; + col3=0; + col2=0; + col0=0; + wait_us(208); + + floor2 = 1; + col4=1; + wait_us(208); + floor2 = 0; + col4=0; + wait_us(208); + + floor2 = 1; + col4=1; + col0=1; + wait_us(208); + floor2 = 0; + col4=0; + col0=0; + wait_us(208); + + floor2 = 1; + col4=1; + col1=1; + wait_us(208); + floor2 = 0; + col4=0; + col1=0; + wait_us(208); + + } else if (310<max[0] && max[0]<320) { + x="tercer patron"; + + floor1 = 1; + col3=1; + col1=1; + col0=1; + wait_us(208); + floor1 = 0; + col3=0; + col1=0; + col0=0; + wait_us(208); + + floor1 = 1; + col3=1; + col2=1; + wait_us(208); + floor1 = 0; + col3=0; + col2=0; + wait_us(208); + + floor1 = 1; + col3=1; + col2=1; + col0=1; + wait_us(208); + floor1 = 0; + col3=0; + col2=0; + col0=0; + wait_us(208); + + floor2 = 1; + col2=1; + col1=1; + wait_us(208); + floor2 = 0; + col2=0; + col1=0; + wait_us(208); + + floor2 = 1; + col2=1; + col1=1; + col0=1; + wait_us(208); + floor2 = 0; + col2=0; + col1=0; + col0=0; + wait_us(208); + + floor2 = 1; + col3=1; + wait_us(208); + floor2 = 0; + col3=0; + wait_us(208); + + floor2 = 1; + col3=1; + col1=1; + col0=1; + wait_us(208); + floor2 = 0; + col3=0; + col1=0; + col0=0; + wait_us(208); + + + floor2 = 1; + col3=1; + col2=1; + wait_us(208); + floor2 = 0; + col3=0; + col2=0; + wait_us(208); + + floor2 = 1; + col3=1; + col2=1; + col0=1; + wait_us(208); + floor2 = 1; + col3=0; + col2=0; + col0=0; + wait_us(208); + + floor2 = 1; + col4=1; + wait_us(208); + floor2 = 0; + col4=0; + wait_us(208); + + floor2 = 1; + col4=1; + col0=1; + wait_us(208); + floor2 = 0; + col4=0; + col0=0; + wait_us(208); + + floor2 = 1; + col4=1; + col1=1; + wait_us(208); + floor2 = 0; + col4=0; + col1=0; + wait_us(208); + + floor3 = 1; + col0=1; + wait_us(208); + floor3 = 0; + col0=0; + wait_us(208); + + floor3 = 1; + col1=1; + wait_us(208); + floor3 = 0; + col1=0; + wait_us(208); + + floor3 = 1; + col0=1; + col1=1; + wait_us(208); + floor3 = 0; + col0=0; + col1=0; + wait_us(208); + + floor3 = 1; + col1=1; + col2=1; + wait_us(208); + floor3 = 0; + col1=0; + col2=0; + wait_us(208); + + floor3 = 1; + col0=1; + col1=1; + col2=1; + wait_us(208); + floor3 = 0; + col0=0; + col1=0; + col2=0; + wait_us(208); + + floor3 = 1; + col3=1; + wait_us(208); + floor3 = 0; + col3=0; + wait_us(208); + + floor3 = 1; + col0=1; + col1=1; + col3=1; + wait_us(208); + floor3 = 0; + col0=0; + col1=0; + col3=0; + wait_us(208); + + floor3 = 1; + col3=1; + col2=1; + wait_us(208); + floor3 = 0; + col3=0; + col2=0; + wait_us(208); + + floor3 = 1; + col0=1; + col3=1; + col2=1; + wait_us(208); + floor3 = 0; + col0=0; + col3=0; + col2=0; + wait_us(208); + + floor3 = 1; + col4=1; + wait_us(208); + floor3 = 0; + col4=0; + wait_us(208); + + floor3 = 1; + col0=1; + col4=1; + wait_us(208); + floor3 = 0; + col0=0; + col4=0; + wait_us(208); + + floor3 = 1; + col1=1; + col4=1; + wait_us(208); + floor3 = 0; + col1=0; + col4=0; + wait_us(208); + + floor3 = 1; + col0=1; + col4=1; + col2=1; + wait_us(208); + floor3 = 0; + col0=0; + col4=0; + col2=0; + wait_us(208); + + floor3 = 1; + col4=1; + col1=1; + col2=1; + wait_us(208); + floor3 = 0; + col4=0; + col1=0; + col2=0; + wait_us(208); + + floor3 = 1; + col0=1; + col1=1; + col2=1; + col4=1; + wait_us(208); + floor3 = 0; + col0=0; + col1=0; + col2=0; + col4=0; + wait_us(208); + + } else if (385<max[0] && max[0]<400) { + x="cuarto patron"; + + floor1 = 1; + col3=1; + col1=1; + col0=1; + wait_us(208); + floor1 = 0; + col3=0; + col1=0; + col0=0; + wait_us(208); + + floor1 = 1; + col3=1; + col2=1; + wait_us(208); + floor1 = 0; + col3=0; + col2=0; + wait_us(208); + + floor1 = 1; + col3=1; + col2=1; + col0=1; + wait_us(208); + floor1 = 0; + col3=0; + col2=0; + col0=0; + wait_us(208); + + floor2 = 1; + col2=1; + col1=1; + wait_us(208); + floor2 = 0; + col2=0; + col1=0; + wait_us(208); + + floor2 = 1; + col2=1; + col1=1; + col0=1; + wait_us(208); + floor2 = 0; + col2=0; + col1=0; + col0=0; + wait_us(208); + + floor2 = 1; + col3=1; + wait_us(208); + floor2 = 0; + col3=0; + wait_us(208); + + floor2 = 1; + col3=1; + col1=1; + col0=1; + wait_us(208); + floor2 = 0; + col3=0; + col1=0; + col0=0; + wait_us(208); + + + floor2 = 1; + col3=1; + col2=1; + wait_us(208); + floor2 = 0; + col3=0; + col2=0; + wait_us(208); + + floor2 = 1; + col3=1; + col2=1; + col0=1; + wait_us(208); + floor2 = 1; + col3=0; + col2=0; + col0=0; + wait_us(208); + + floor2 = 1; + col4=1; + wait_us(208); + floor2 = 0; + col4=0; + wait_us(208); + + floor2 = 1; + col4=1; + col0=1; + wait_us(208); + floor2 = 0; + col4=0; + col0=0; + wait_us(208); + + floor2 = 1; + col4=1; + col1=1; + wait_us(208); + floor2 = 0; + col4=0; + col1=0; + wait_us(208); + + floor3 = 1; + col0=1; + wait_us(208); + floor3 = 0; + col0=0; + wait_us(208); + + floor3 = 1; + col1=1; + wait_us(208); + floor3 = 0; + col1=0; + wait_us(208); + + floor3 = 1; + col0=1; + col1=1; + wait_us(208); + floor3 = 0; + col0=0; + col1=0; + wait_us(208); + + floor3 = 1; + col1=1; + col2=1; + wait_us(208); + floor3 = 0; + col1=0; + col2=0; + wait_us(208); + + floor3 = 1; + col0=1; + col1=1; + col2=1; + wait_us(208); + floor3 = 0; + col0=0; + col1=0; + col2=0; + wait_us(208); + + floor3 = 1; + col3=1; + wait_us(208); + floor3 = 0; + col3=0; + wait_us(208); + + floor3 = 1; + col0=1; + col1=1; + col3=1; + wait_us(208); + floor3 = 0; + col0=0; + col1=0; + col3=0; + wait_us(208); + + floor3 = 1; + col3=1; + col2=1; + wait_us(208); + floor3 = 0; + col3=0; + col2=0; + wait_us(208); + + floor3 = 1; + col0=1; + col3=1; + col2=1; + wait_us(208); + floor3 = 0; + col0=0; + col3=0; + col2=0; + wait_us(208); + + floor3 = 1; + col4=1; + wait_us(208); + floor3 = 0; + col4=0; + wait_us(208); + + floor3 = 1; + col0=1; + col4=1; + wait_us(208); + floor3 = 0; + col0=0; + col4=0; + wait_us(208); + + floor3 = 1; + col1=1; + col4=1; + wait_us(208); + floor3 = 0; + col1=0; + col4=0; + wait_us(208); + + floor3 = 1; + col0=1; + col4=1; + col2=1; + wait_us(208); + floor3 = 0; + col0=0; + col4=0; + col2=0; + wait_us(208); + + floor3 = 1; + col4=1; + col1=1; + col2=1; + wait_us(208); + floor3 = 0; + col4=0; + col1=0; + col2=0; + wait_us(208); + + floor3 = 1; + col0=1; + col1=1; + col2=1; + col4=1; + wait_us(208); + floor3 = 0; + col0=0; + col1=0; + col2=0; + col4=0; + wait_us(208); + + floor4 = 1; + col0=1; + wait_us(208); + floor4 = 0; + col0=0; + wait_us(208); + + floor4 = 1; + col1=1; + wait_us(208); + floor4 = 0; + col1=0; + wait_us(208); + + floor4 = 1; + col0=1; + col1=1; + wait_us(208); + floor4 = 0; + col0=0; + col1=0; + wait_us(208); + + floor4 = 1; + col1=1; + col2=1; + wait_us(208); + floor4 = 0; + col1=0; + col2=0; + wait_us(208); + + floor4 = 1; + col0=1; + col1=1; + col2=1; + wait_us(208); + floor4 = 0; + col0=0; + col1=0; + col2=0; + wait_us(208); + + floor4 = 1; + col3=1; + wait_us(208); + floor4 = 0; + col3=0; + wait_us(208); + + floor4 = 1; + col0=1; + col1=1; + col3=1; + wait_us(208); + floor4 = 0; + col0=0; + col1=0; + col3=0; + wait_us(208); + + floor4 = 1; + col3=1; + col2=1; + wait_us(208); + floor4 = 0; + col3=0; + col2=0; + wait_us(208); + + floor4 = 1; + col0=1; + col3=1; + col2=1; + wait_us(208); + floor4 = 0; + col0=0; + col3=0; + col2=0; + wait_us(208); + + floor4 = 1; + col4=1; + wait_us(208); + floor4 = 0; + col4=0; + wait_us(208); + + floor4 = 1; + col0=1; + col4=1; + wait_us(208); + floor4 = 0; + col0=0; + col4=0; + wait_us(208); + + floor4 = 1; + col1=1; + col4=1; + wait_us(208); + floor4 = 0; + col1=0; + col4=0; + wait_us(208); + + floor4 = 1; + col0=1; + col4=1; + col2=1; + wait_us(208); + floor4 = 0; + col0=0; + col4=0; + col2=0; + wait_us(208); + + floor4 = 1; + col4=1; + col1=1; + col2=1; + wait_us(208); + floor4 = 0; + col4=0; + col1=0; + col2=0; + wait_us(208); + + floor4 = 1; + col0=1; + col1=1; + col2=1; + col4=1; + wait_us(208); + floor4 = 0; + col0=0; + col1=0; + col2=0; + col4=0; + wait_us(208); + + } else if (495<max[0] && max[0]<505) { + x="quinto patron"; + + floor1 = 1; + col3=1; + col1=1; + col0=1; + wait_us(208); + floor1 = 0; + col3=0; + col1=0; + col0=0; + wait_us(208); + + floor1 = 1; + col3=1; + col2=1; + wait_us(208); + floor1 = 0; + col3=0; + col2=0; + wait_us(208); + + floor1 = 1; + col3=1; + col2=1; + col0=1; + wait_us(208); + floor1 = 0; + col3=0; + col2=0; + col0=0; + wait_us(208); + + floor2 = 1; + col2=1; + col1=1; + wait_us(208); + floor2 = 0; + col2=0; + col1=0; + wait_us(208); + + floor2 = 1; + col2=1; + col1=1; + col0=1; + wait_us(208); + floor2 = 0; + col2=0; + col1=0; + col0=0; + wait_us(208); + + floor2 = 1; + col3=1; + wait_us(208); + floor2 = 0; + col3=0; + wait_us(208); + + floor2 = 1; + col3=1; + col1=1; + col0=1; + wait_us(208); + floor2 = 0; + col3=0; + col1=0; + col0=0; + wait_us(208); + + + floor2 = 1; + col3=1; + col2=1; + wait_us(208); + floor2 = 0; + col3=0; + col2=0; + wait_us(208); + + floor2 = 1; + col3=1; + col2=1; + col0=1; + wait_us(208); + floor2 = 1; + col3=0; + col2=0; + col0=0; + wait_us(208); + + floor2 = 1; + col4=1; + wait_us(208); + floor2 = 0; + col4=0; + wait_us(208); + + floor2 = 1; + col4=1; + col0=1; + wait_us(208); + floor2 = 0; + col4=0; + col0=0; + wait_us(208); + + floor2 = 1; + col4=1; + col1=1; + wait_us(208); + floor2 = 0; + col4=0; + col1=0; + wait_us(208); + + floor3 = 1; + col0=1; + wait_us(208); + floor3 = 0; + col0=0; + wait_us(208); + + floor3 = 1; + col1=1; + wait_us(208); + floor3 = 0; + col1=0; + wait_us(208); + + floor3 = 1; + col0=1; + col1=1; + wait_us(208); + floor3 = 0; + col0=0; + col1=0; + wait_us(208); + + floor3 = 1; + col1=1; + col2=1; + wait_us(208); + floor3 = 0; + col1=0; + col2=0; + wait_us(208); + + floor3 = 1; + col0=1; + col1=1; + col2=1; + wait_us(208); + floor3 = 0; + col0=0; + col1=0; + col2=0; + wait_us(208); + + floor3 = 1; + col3=1; + wait_us(208); + floor3 = 0; + col3=0; + wait_us(208); + + floor3 = 1; + col0=1; + col1=1; + col3=1; + wait_us(208); + floor3 = 0; + col0=0; + col1=0; + col3=0; + wait_us(208); + + floor3 = 1; + col3=1; + col2=1; + wait_us(208); + floor3 = 0; + col3=0; + col2=0; + wait_us(208); + + floor3 = 1; + col0=1; + col3=1; + col2=1; + wait_us(208); + floor3 = 0; + col0=0; + col3=0; + col2=0; + wait_us(208); + + floor3 = 1; + col4=1; + wait_us(208); + floor3 = 0; + col4=0; + wait_us(208); + + floor3 = 1; + col0=1; + col4=1; + wait_us(208); + floor3 = 0; + col0=0; + col4=0; + wait_us(208); + + floor3 = 1; + col1=1; + col4=1; + wait_us(208); + floor3 = 0; + col1=0; + col4=0; + wait_us(208); + + floor3 = 1; + col0=1; + col4=1; + col2=1; + wait_us(208); + floor3 = 0; + col0=0; + col4=0; + col2=0; + wait_us(208); + + floor3 = 1; + col4=1; + col1=1; + col2=1; + wait_us(208); + floor3 = 0; + col4=0; + col1=0; + col2=0; + wait_us(208); + + floor3 = 1; + col0=1; + col1=1; + col2=1; + col4=1; + wait_us(208); + floor3 = 0; + col0=0; + col1=0; + col2=0; + col4=0; + wait_us(208); + + floor4 = 1; + col0=1; + wait_us(208); + floor4 = 0; + col0=0; + wait_us(208); + + floor4 = 1; + col1=1; + wait_us(208); + floor4 = 0; + col1=0; + wait_us(208); + + floor4 = 1; + col0=1; + col1=1; + wait_us(208); + floor4 = 0; + col0=0; + col1=0; + wait_us(208); + + floor4 = 1; + col1=1; + col2=1; + wait_us(208); + floor4 = 0; + col1=0; + col2=0; + wait_us(208); + + floor4 = 1; + col0=1; + col1=1; + col2=1; + wait_us(208); + floor4 = 0; + col0=0; + col1=0; + col2=0; + wait_us(208); + + floor4 = 1; + col3=1; + wait_us(208); + floor4 = 0; + col3=0; + wait_us(208); + + floor4 = 1; + col0=1; + col1=1; + col3=1; + wait_us(208); + floor4 = 0; + col0=0; + col1=0; + col3=0; + wait_us(208); + + floor4 = 1; + col3=1; + col2=1; + wait_us(208); + floor4 = 0; + col3=0; + col2=0; + wait_us(208); + + floor4 = 1; + col0=1; + col3=1; + col2=1; + wait_us(208); + floor4 = 0; + col0=0; + col3=0; + col2=0; + wait_us(208); + + floor4 = 1; + col4=1; + wait_us(208); + floor4 = 0; + col4=0; + wait_us(208); + + floor4 = 1; + col0=1; + col4=1; + wait_us(208); + floor4 = 0; + col0=0; + col4=0; + wait_us(208); + + floor4 = 1; + col1=1; + col4=1; + wait_us(208); + floor4 = 0; + col1=0; + col4=0; + wait_us(208); + + floor4 = 1; + col0=1; + col4=1; + col2=1; + wait_us(208); + floor4 = 0; + col0=0; + col4=0; + col2=0; + wait_us(208); + + floor4 = 1; + col4=1; + col1=1; + col2=1; + wait_us(208); + floor4 = 0; + col4=0; + col1=0; + col2=0; + wait_us(208); + + floor4 = 1; + col0=1; + col1=1; + col2=1; + col4=1; + wait_us(208); + floor4 = 0; + col0=0; + col1=0; + col2=0; + col4=0; + wait_us(208); + + floor5 = 1; + col1=1; + col2=1; + wait_us(208); + floor5 = 0; + col1=0; + col2=0; + wait_us(208); + + floor5 = 1; + col1=1; + col2=1; + col0=1; + wait_us(208); + floor5 = 0; + col1=0; + col2=0; + col0=0; + wait_us(208); + + floor5 = 1; + col3=1; + wait_us(208); + floor5 = 0; + col3=0; + wait_us(208); + + floor5 = 1; + col4=1; + wait_us(208); + floor5 = 0; + col4=0; + wait_us(208); + + floor5 = 1; + col4=1; + col0=1; + wait_us(208); + floor5 = 0; + col4=0; + col0=0; + wait_us(208); + + floor5 = 1; + col4=1; + col1=1; + wait_us(208); + floor5 = 0; + col4=0; + col1=0; + wait_us(208); + + }/* else if (618<max[0] && max[0]<635) { + x="sexto patron"; + } else if (775<max[0] && max[0]<805) { + x="septimo patron"; + } else if (995<max[0] && max[0]<1025) { + x="octavo patron"; + }*/ + count++; + if(count == 5){ + pc.printf("%s",x); + count = 0; } max[0]=0;