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.
Diff: main.cpp
- Revision:
- 3:3454cb7584e1
- Parent:
- 2:d168f964c331
--- a/main.cpp Fri Mar 08 05:49:38 2019 +0000 +++ b/main.cpp Sat Mar 09 17:33:26 2019 +0000 @@ -48,6 +48,11 @@ ******************************************************************************/ #define INITELE 0xFE +#define RESPUESTA1 0xFF01 +#define RESPUESTA2 0xFF02 +#define RESPUESTA3 0xFF03 +#define RESPUESTA4 0xFF04 +#define RESPUESTA5 0xFF05 #define CMD 0x01 #define DO 1300 #define RE 1500 @@ -65,7 +70,7 @@ void leer_datos(); void leer_color(); uint8_t cmd; -PwmOut mybuzzer(PA_10); +PwmOut mybuzzer(PA_5); int main() { @@ -102,95 +107,138 @@ long frqgreen; long frqblue; long frqclear; + int8_t sel_color; printf("RED: %5d GREEN: %5d BLUE: %5d CLEAR: %5d \n ", red, green, blue, clear); frqred = ( ( 1.0/red )* 1000.0 ); frqgreen = ( ( 1.0/green ) * 1000.0); frqblue = ( (1.0/blue) *1000.0 ); frqclear = ( (1.0/clear) *1000.0 ); - printf("RED: %5d GREEN: %5d BLUE: %5d CLEAR: %5d \n ", frqred, frqgreen, frqblue); + printf("RED: %5d GREEN: %5d BLUE: %5d CLEAR: %5d \n ", frqred, frqgreen, frqblue,frqclear); /////////////////////////////////////////////////////////////////////////////// /*||||||||||||||||Seleccionando los diferentes colores.||||||||||||||||||||||*/ /*||||||||||||||||||||||||||||||Color rojo|||||||||||||||||||||||||||||||||||*/ /////////////////////////////////////////////////////////////////////////////// - if ( frqred >= 84.0 and frqred <= 105.0) { - printf ( "entro al 1" ); - if( frqgreen >= 0.0 and frqgreen <= 12.0 ) { - printf ( "entro al 2" ); - if ( 5.0 >= frqblue <= 21.0 ) { + if ( frqred >= 30.0 and frqred <= 500.0) { + + if( frqgreen >= 0.0 and frqgreen <= 20.0 ) { + + if ( frqblue >= 5.0 and frqblue <= 29.0 ) { + //printf ( "tiende a rojo \n" ); mybuzzer.period_us(DO); mybuzzer.write(0.5); wait(5); mybuzzer.write(0); - printf ( "tiende a rojo" ); + sel_color=1; + } } } //////////////////////////////////////////////////////////////////////////////// - /*°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Color verde°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°*/ - /////////////////////////////////////////////////////////////////////////////// - if ( frqgreen >= 57.0 and frqgreen <= 80.0) { - printf ( "entro al 1" ); - if( frqred >= 9.0 and frqred <= 27.0 ) { - printf ( "entro al 2" ); - if ( 8.0 >= frqblue <= 28.0 ) { +/*°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Color verde°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°*/ +//////////////////////////////////////////////////////////////////////////////// + if ( frqgreen >= 11.0 and frqgreen <= 21.0) { + + if( frqred >= 8.0 and frqred <= 20.0 ) { + + if ( frqblue >= 10.0 and frqblue <= 22.0 ) { + printf ( "tiende a verde \n" ); mybuzzer.period_us(RE); mybuzzer.write(0.5); wait(5); mybuzzer.write(0); - printf ( "tiende a verde" ); + sel_color=2; + } } } //////////////////////////////////////////////////////////////////////////////// - /*°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Color azul°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°*/ +/*°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Color azul°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°*/ /////////////////////////////////////////////////////////////////////////////// - if ( frqblue >= 61.0 and frqblue <= 84.0) { - printf ( "entro al 1" ); - if( frqgreen >= 22.0 and frqgreen <= 43.0 ) { - printf ( "entro al 2" ); - if ( 0.0 >= frqred <= 6.0 ) { + if ( frqblue >= 10.0 and frqblue <= 70.0) { + + if( frqgreen >= 5.0 and frqgreen <= 26.0 ) { + if ( frqred >= 5.0 and frqred <= 25.0 ) { + + //printf ( "tiende a azul \n" ); mybuzzer.period_us(MI); mybuzzer.write(0.5); wait(5); mybuzzer.write(0); - printf ( "tiende a azul" ); + sel_color=3; + } } } ///////////////////////////////////////////////////////////////////////////////// /*°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Color amarillo°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°*/ //////////////////////////////////////////////////////////////////////////////// - if ( frqblue >= 0.0 and frqblue <= 12.0 ) { - printf ( "entro al 1" ); - if( frqgreen >= 20.0 and frqgreen <= 60.0 ) { - printf ( "entro al 2" ); - if ( 0.0 >= frqred <= 6.0 ) { + if ( frqblue >= 0.0 and frqblue <= 25.0 ) { + + if( frqgreen >= 20.0 and frqgreen <= 40.0) { + + if ( 20.0 >= frqred <= 46.0 ) { + printf ( "tiende a amarillo \n" ); mybuzzer.period_us(FA); mybuzzer.write(0.5); wait(5); mybuzzer.write(0); - printf ( "tiende a amarillo" ); - + sel_color=4; + } } } ///////////////////////////////////////////////////////////////////////////////// /*°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Color no found°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°*/ //////////////////////////////////////////////////////////////////////////////// - if ( frqclear >= 12.5 and frqclear <= 19.7 ) {} - else { - - mybuzzer.period_us(DO); - mybuzzer.write(0.5); - wait(5); - mybuzzer.write(0); - printf( "Color no found" ); + + switch ( sel_color ) { + + case 1: + + int32_t enviar = RESPUESTA1 ; + char txt [6] ; + printf ( txt, "%04X" , RESPUESTA1 ); + + break; + + case 2: + + int32_t enviar = RESPUESTA2 ; + char txt [6] ; + printf ( txt, "%04X" , RESPUESTA2 ) ; + + break; + + case 3: + int32_t enviar = RESPUESTA3; + char txt [6] ; + printf ( txt, "%04X" , RESPUESTA3 ); + + break; + + case 4: + + int32_t enviar = RESPUESTA4; + char txt [6] ; + printf ( txt, "%04X" , RESPUESTA4 ); + break; + + default:{ + + int32_t enviar = RESPUESTA4; + char txt [6] ; + printf ( txt, "%04X" , RESPUESTA4 ); + } + + } +} +