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
- Child:
- 4:7a06dce3de99
diff -r d168f964c331 -r 3454cb7584e1 main.cpp
--- 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 );
+
}
+
+
}
+}
+