Einer Fabian Aponte Cubides / Mbed 2 deprecated Primeraentrega

Dependencies:   mbed

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 ); 
+       
     }
+ 
+
 }
 
+}
+