Proyecto de Tesis en Mecatrónica. Universidad Técnica del Norte. Ernesto Palacios <mecatronica.mid@gmail.com>

Dependencies:   EthernetNetIf HTTPServer QEI_hw RPCInterface mbed

Files at this revision

API Documentation at this revision

Comitter:
Yo_Robot
Date:
Sat Apr 21 14:50:06 2012 +0000
Parent:
13:649543aa8b1d
Child:
15:a1ffa32ce9d1
Commit message:
Version 1.1 Serial y HTTP. Se cambio los pines de SON y DIR, se aumento la resolucin del DAC. En HTTP mbed envia "Ok" o "AL" dependiendo del estado del pin_alm, y en serial y HTTP se ejecuta la rutina en modo .rise

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
setup.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Wed Apr 11 02:15:24 2012 +0000
+++ b/main.cpp	Sat Apr 21 14:50:06 2012 +0000
@@ -10,8 +10,8 @@
 
 Serial          pc( USBTX, USBRX );
 
-DigitalOut      pin_son( p30 );   // SON
-DigitalOut      pin_dir( p29 );   // SIGN+
+DigitalOut      pin_son( p26 );   // SON
+DigitalOut      pin_dir( p25 );   // SIGN+
 InterruptIn     pin_alm( p14 );   // ALM 
 AnalogOut       aout( p18 );      // 0.0 a 1.0 float
 
@@ -71,7 +71,7 @@
         
         printf("Listening...\n");
     }
-    else  // Caso Contrario Añadir modo Serial
+    else  // Caso Contrario Añadir modo Serial
     {
         pc.attach( &ISR_Serial );
         if( isFast ) //Configurar Serial a alta velocidad
@@ -82,10 +82,12 @@
     pin_son = 0;  // Servo Apagado por defecto
     aout = 0.5;   // Voltaje de salida 0V por defecto( +-10V! )
     
+    pin_alm.rise( &ISR_Alarm ); //Entrada de la alarma
+    
     while(1) 
     {
         if( isHTTP )
-            Net::poll();  // Revisa la red solo si la conección es HTTP
+            Net::poll();  // Revisa la red solo si la conección es HTTP
     }
 }
 
--- a/setup.cpp	Wed Apr 11 02:15:24 2012 +0000
+++ b/setup.cpp	Sat Apr 21 14:50:06 2012 +0000
@@ -58,7 +58,7 @@
     char command;     // Comando al que aplicar el nuevo valor
 
     pc.scanf( "%d-%c", &value, &command ) ;
-    pc.printf("\n %d-%c \n", value, command );
+    //pc.printf("\n %d-%c \n", value, command );
 
     // Establecer nueva frecuencia
     if( command == 'H')
@@ -71,13 +71,18 @@
     // Alguna formula para calcular el Vout necesario
     // -100% a +100%
     else if( command == 'A')
-        aout = (float)( value + 100.0 ) / 200.0;
+        aout = (float)( value + 10000.0 ) / 20000.0;
         
         
     // Cambiar la direccion
     else if( command == 'D')
+    {
+        stopTimer2();
         pin_dir = value;
-        
+        wait_us( 2 );
+        startTimer2();
+    }
+       
         
     //Encender el Servo
     else if( command == 'S')
@@ -112,12 +117,17 @@
         LPC_TIM2->TC = 0x00;            // Resetear Timer
         setMR2( getMRvalue( freq ) );  // Cambiar frefuencia
         startTimer2();                // Iniciar Timer
-        sprintf( output, "Ok, Freq = %d", freq );
-    
+        if( pin_alm == 0 )
+            sprintf( output,"Ok" );
+        else
+            sprintf( output,"AL" );    
     }else{
         stopTimer2();
         LPC_TIM2->TC = 0x00;  // Resetear Timer
-        sprintf( output, "Ok, ALTO" );
+        if( pin_alm == 0 )
+            sprintf( output,"Ok" );
+        else
+            sprintf( output,"AL" );
     }           
 }
 
@@ -128,7 +138,7 @@
     stopTimer2();
     aout =  0.5 ;
  
-    pc.printf( "\n\n ERROR: ALARMA \n\n " );
+    pc.printf( "ERROR_ALARMA" );
  
 }
 
@@ -167,8 +177,11 @@
 void setAout_eth( char * input, char * output )
 {
     int    vout = atoi( input );
-    aout = (float)( vout + 100 ) / 200;   
-    sprintf( output, " Ok, Aout = %f ", aout.read() );    
+    aout = (float)( vout + 10000 ) / 20000;   
+    if( pin_alm == 0 )
+        sprintf( output,"Ok" );
+    else
+        sprintf( output,"AL" );
 }
 
 
@@ -179,10 +192,10 @@
     
     pin_dir = value;
     
-    if( value == 0 )
-        sprintf( output,"Derecha" );
+    if( pin_alm == 0 )
+        sprintf( output,"Ok" );
     else
-        sprintf( output,"Izquierda" );
+        sprintf( output,"AL" );
 }
 
 
@@ -193,10 +206,10 @@
     
     pin_son = value;
     
-    if( value == 0 )
-        sprintf( output,"Servo OFF" );
+    if( pin_alm == 0 )
+        sprintf( output,"Ok" );
     else
-        sprintf( output,"Servo ON" );
+        sprintf( output,"AL" );
         
 }