Einer Fabian Aponte Cubides
/
Final3
sensor color con joystick y motores paso a paso mas pantalla LCD
Diff: main.cpp
- Revision:
- 2:d168f964c331
- Parent:
- 1:334b40b47233
- Child:
- 3:3454cb7584e1
--- a/main.cpp Thu Feb 28 22:33:57 2019 +0000 +++ b/main.cpp Fri Mar 08 05:49:38 2019 +0000 @@ -49,7 +49,11 @@ #define INITELE 0xFE #define CMD 0x01 - +#define DO 1300 +#define RE 1500 +#define MI 1600 +#define FA 1800 +#define SO 2000 Serial command(USBTX, USBRX); @@ -60,8 +64,8 @@ void setup_uart(); void leer_datos(); void leer_color(); - uint8_t cmd; +PwmOut mybuzzer(PA_10); int main() { @@ -82,26 +86,111 @@ void leer_datos(){ while(command.getc()!= INITELE); - cmd=command.getc(); - - + cmd=command.getc(); } void leer_color(){ - - + mybuzzer.write(0); long red = scolor.ReadRed(); long green = scolor.ReadGreen(); long blue = scolor.ReadBlue(); long clear = scolor.ReadClear(); - + + long frqred; + long frqgreen; + long frqblue; + long frqclear; 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); + /////////////////////////////////////////////////////////////////////////////// + /*||||||||||||||||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 ) { + + mybuzzer.period_us(DO); + mybuzzer.write(0.5); + wait(5); + mybuzzer.write(0); + printf ( "tiende a rojo" ); + } + } + } +//////////////////////////////////////////////////////////////////////////////// + /*°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°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 ) { + + mybuzzer.period_us(RE); + mybuzzer.write(0.5); + wait(5); + mybuzzer.write(0); + printf ( "tiende a verde" ); + } + } + } +//////////////////////////////////////////////////////////////////////////////// + /*°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°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 ) { + + mybuzzer.period_us(MI); + mybuzzer.write(0.5); + wait(5); + mybuzzer.write(0); + printf ( "tiende a azul" ); + } + } + } +///////////////////////////////////////////////////////////////////////////////// +/*°°°°°°°°°°°°°°°°°°°°°°°°°°°°°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 ) { + + mybuzzer.period_us(FA); + mybuzzer.write(0.5); + wait(5); + mybuzzer.write(0); + printf ( "tiende a amarillo" ); + + } + } + } +///////////////////////////////////////////////////////////////////////////////// +/*°°°°°°°°°°°°°°°°°°°°°°°°°°°°°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" ); + } - - +} - - \ No newline at end of file