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:
- 6:35c069133c9a
- Parent:
- 5:d165935ba818
- Child:
- 7:5f332f47b38f
--- a/main.cpp Tue Apr 23 04:10:50 2019 +0000
+++ b/main.cpp Tue Apr 23 12:31:35 2019 +0000
@@ -81,7 +81,8 @@
int main() {
setup_uart();
- while(1){
+ while(1){
+
leer_datos();
funcionesrobot ( Lectura [ 1 ], Lectura [ 0 ] );
@@ -96,12 +97,14 @@
void leer_datos(){
- while(command.getc()!= INITCMD) ;
+ while ( command.getc()!= INITCMD ) ;
uint8_t i ;
+
for ( i = 0 ; i < 2 ; i++){
- Lectura [ i ] = command.getc();
+ Lectura [ i ] = command.getc ();
//printf ( " %4d ", Lectura [ i ]);
+
}
}
@@ -138,9 +141,9 @@
printf ( "tiende a rojo \n" );
mybuzzer.period_us(DO);
- mybuzzer.write(0.8);
- wait(5);
- mybuzzer.write(0);
+ mybuzzer.write (0.8);
+ wait (5);
+ mybuzzer.write (0);
sel_color = 1;
}
@@ -157,9 +160,9 @@
printf ( "tiende a verde \n" );
mybuzzer.period_us(RE);
- mybuzzer.write(0.5);
- wait(5);
- mybuzzer.write(0);
+ mybuzzer.write (0.5);
+ wait (5);
+ mybuzzer.write (0);
sel_color = 2;
}
@@ -175,10 +178,10 @@
if ( frqred >= 5.0 and frqred <= 20.0 ) {
printf ( "tiende a azul \n" );
- mybuzzer.period_us(MI);
- mybuzzer.write(1);
- wait(5);
- mybuzzer.write(0);
+ mybuzzer.period_us (MI);
+ mybuzzer.write (1);
+ wait (5);
+ mybuzzer.write (0);
sel_color = 3;
}
@@ -194,10 +197,10 @@
if ( frqred >= 20.0 and frqred <= 50.0 ) {
printf ( "tiende a amarillo \n" );
- mybuzzer.period_us(FA);
- mybuzzer.write(0.6);
- wait(5);
- mybuzzer.write(0);
+ mybuzzer.period_us (FA);
+ mybuzzer.write (0.6);
+ wait (5);
+ mybuzzer.write( 0);
sel_color = 4;
}
@@ -209,280 +212,140 @@
switch ( sel_color ) {
- case 0:
+ case 0 :
//int32_t enviar5 = RESPUESTA5 ;
//char txt5 [6] ;
//printf ( txt5 , "%02X" , enviar5 );
printf ( " FF00 \n " );
- break;
+ break ;
- case 1:
+ case 1 :
//int32_t enviar1 = RESPUESTA1 ;
//char txt1 [6] ;
printf ( "FE01 \n" );
sel_color = 0;
- break;
+ break ;
- case 2:
+ case 2 :
//int32_t enviar2 = RESPUESTA2 ;
//char txt2 [6] ;
printf ( "FE02 \n" ) ;
sel_color = 0;
- break;
- case 3:
+ break ;
+
+ case 3 :
//int32_t enviar3 = RESPUESTA3;
//char txt3 [6] ;
printf ( "FE03 \n" );
sel_color = 0;
- break;
+ break ;
- case 4:
+ case 4 :
//int32_t enviar4 = RESPUESTA4;
//char txt4 [6] ;
printf ( "FE04 \n" );
sel_color = 0;
- break;
+ break ;
}
}
void funcionesrobot ( uint8_t _Parametro, uint8_t _Comando ){
/* °°Declaración de contadores°° */
- uint8_t i ;
- uint8_t j ;
+ uint8_t i ;
+ uint8_t j ;
switch ( _Comando ){
// Acciones que ejerce el robot
case 0 :
- leer_color() ;
+
+ leer_color() ;
+
break ;
case 1 :
- printf ( "Frecuencia: 2000 Tiempo: %d s \n" , _Parametro ) ;
- mybuzzer.period_us ( DO ) ;
- mybuzzer.write ( 0.8 ) ;
- wait( _Parametro ) ;
- mybuzzer.write ( 0 ) ;
+
+ printf ( "Frecuencia: 2000 Tiempo: %d s \n" , _Parametro ) ;
+ mybuzzer.period_us ( DO ) ;
+ mybuzzer.write ( 0.8 ) ;
+ wait( _Parametro ) ;
+ mybuzzer.write ( 0 ) ;
+
break ;
case 2 :
- printf ( "Frecuencia: 2500 Tiempo: %d s \n" , _Parametro ) ;
- mybuzzer.period_us ( RE ) ;
- mybuzzer.write ( 0.8 ) ;
- wait ( _Parametro ) ;
- mybuzzer.write ( 0 ) ;
+
+ printf ( "Frecuencia: 2500 Tiempo: %d s \n" , _Parametro ) ;
+ mybuzzer.period_us ( RE ) ;
+ mybuzzer.write ( 0.8 ) ;
+ wait ( _Parametro ) ;
+ mybuzzer.write ( 0 ) ;
+
break ;
case 3 :
- printf ( " Frecuencia: 3000 " ); printf ( " Tiempo: %d s \n " , _Parametro ) ;
- mybuzzer.period_us ( MI ) ;
- mybuzzer.write ( 0.8 ) ;
- wait( _Parametro ) ;
- mybuzzer.write ( 0 ) ;
+
+ printf ( " Frecuencia: 3000 " ); printf ( " Tiempo: %d s \n " , _Parametro ) ;
+ mybuzzer.period_us ( MI ) ;
+ mybuzzer.write ( 0.8 ) ;
+ wait( _Parametro ) ;
+ mybuzzer.write ( 0 ) ;
+
break ;
- case 4:
- printf ( "Frecuencia: 3500 Tiempo: %d s \n" , _Parametro ) ;
- mybuzzer.period_us ( FA );
- mybuzzer.write ( 0.8 );
- wait ( 5 );
- mybuzzer.write ( 0 );
+ case 4 :
+
+ printf ( "Frecuencia: 3500 Tiempo: %d s \n" , _Parametro ) ;
+ mybuzzer.period_us ( FA );
+ mybuzzer.write ( 0.8 );
+ wait ( 5 );
+ mybuzzer.write ( 0 );
+
break ;
case 5 :
- steppeer_dir = 1 ;
- steppeer_dir2 = 0 ;
- wait_us ( 1 );
- for ( j = 1 ; j <= _Parametro ; j++){
-
- for ( i= 0 ; i <= 200 ; i++ ){
-
- stepper_step = 1 ;
- stepper_step2 = 1;
- wait_us( VELOCITY );
- stepper_step = 0;
- stepper_step2 = 0;
- wait_us ( VELOCITY );
-
- }
- }
-
- break;
-
- case 6 :
- steppeer_dir = 0;
- steppeer_dir2 = 1;
- wait_us ( 1 );
-
- for ( j = 1 ; j <= _Parametro ; j++){
-
- for ( i= 0 ; i <= 200 ; i++ ){
-
- stepper_step = 1 ;
- stepper_step2 = 1 ;
- wait_us( VELOCITY ) ;
- stepper_step = 0 ;
- stepper_step2 = 0 ;
- wait_us ( VELOCITY ) ;
-
- }
-
- }
-
- break;
- case 7:
-
- steppeer_dir = 0;
- wait_us ( 1 );
-
- for ( j = 1 ; j <= _Parametro ; j++){
-
- for ( i= 0 ; i <= 50 ; i++ ){
-
- stepper_step = 1 ;
- //stepper_step2 = 1 ;
- wait_us(VELOCITY) ;
- stepper_step = 0 ;
- //stepper_step2 = 0 ;
- wait_us(VELOCITY) ;
-
- }
- }
+ steppeer_dir = 1 ;
+ steppeer_dir2 = 0 ;
+ wait_us ( 1 );
+ for ( j = 1 ; j <= _Parametro ; j++){
- break;
-
- case 8 :
-
- steppeer_dir2 = 1;
- wait_us ( 1 );
-
- for ( j = 1 ; j <= _Parametro ; j++){
-
- for ( i= 0 ; i <= 50 ; i++ ){
-
- //stepper_step = 1 ;
- stepper_step2 = 1 ;
- wait_us( VELOCITY ) ;
- //stepper_step = 0 ;
- stepper_step2 = 0 ;
- wait_us ( VELOCITY ) ;
-
- }
-
- }
-
- break;
-
- case 9 :
-
- switch ( _Parametro ){
-
- case 1:
-
- VELOCITY = 400 ;
-
- break;
-
- case 2:
-
- VELOCITY = 2500 ;
-
- break;
-
- case 3:
-
- VELOCITY = 5000 ;
-
- break;
-
- }
-
- break;
-
- case 10:
-
- int8_t Exit = 0 ;
- if ( _Parametro == 1){
-
- while ( !Exit ){
-
- In [ 0 ] = analog_value0.read(); // Converts and read the analog input value (value from 0.0 to 1.0)
- //printf(" X = %.04f \n", In[0]);
- In [ 1 ] = analog_value1.read(); // Converts and read the analog input value (value from 0.0 to 1.0)
- //printf(" X = %.04f \n", In[0]);
-
- if ( In [ 0 ] > 0.5 ){
-
- steppeer_dir = 1;
- wait_us( 1 );
-
- for ( i= 0 ; i <= 50 ; i++ ){
+ for ( i= 0 ; i <= 200 ; i++ ){
stepper_step = 1 ;
- //stepper_step2 = 1 ;
- wait_us( VELOCITY ) ;
- stepper_step = 0 ;
- //stepper_step2 = 0 ;
- wait_us( VELOCITY ) ;
- }
- }
-
- if ( In[ 0 ] < 0.5 ){
-
- steppeer_dir2 = 1;
- wait_us( 1 );
-
- for ( i= 0 ; i <= 50 ; i++ ){
-
- //stepper_step = 1 ;
- stepper_step2 = 1 ;
- wait_us( VELOCITY ) ;
- //stepper_step = 0 ;
- stepper_step2 = 0 ;
- wait_us( VELOCITY ) ;
-
- }
- }
-
- if (In [ 1 ] > 0.5 ){
-
- steppeer_dir = 1 ;
- steppeer_dir2 = 0 ;
- wait_us( 1 );
-
- for ( i= 0 ; i <= 50 ; i++ ){
-
- stepper_step = 1 ;
- stepper_step2 = 1 ;
- wait_us( VELOCITY ) ;
- stepper_step = 0 ;
- stepper_step2 = 0 ;
- wait_us( VELOCITY ) ;
+ stepper_step2 = 1;
+ wait_us( VELOCITY );
+ stepper_step = 0;
+ stepper_step2 = 0;
+ wait_us ( VELOCITY );
}
}
- if ( In [ 1 ] < 0.5 ){
-
- steppeer_dir = 0 ;
- steppeer_dir2 = 1 ;
- wait_us( 1 );
-
- for ( i= 0 ; i <= 50 ; i++ ){
+ break ;
+
+ case 6 :
+
+ steppeer_dir = 0;
+ steppeer_dir2 = 1;
+ wait_us ( 1 );
+
+ for ( j = 1 ; j <= _Parametro ; j++){
+
+ for ( i= 0 ; i <= 200 ; i++ ){
- stepper_step = 1 ;
+ stepper_step = 1 ;
stepper_step2 = 1 ;
wait_us( VELOCITY ) ;
stepper_step = 0 ;
@@ -490,23 +353,178 @@
wait_us ( VELOCITY ) ;
}
-
- }
- wait ( 1 );
-
- if ( command.readable () == 1 ){
-
- leer_datos();
-
- if ( Lectura [ 1 ] == 02 ){
-
- Exit = 1 ;
- }
+
}
- }
+ break ;
+
+ case 7 :
+
+ steppeer_dir = 0;
+ wait_us ( 1 );
+
+ for ( j = 1 ; j <= _Parametro ; j++){
+
+ for ( i= 0 ; i <= 50 ; i++ ){
+
+ stepper_step = 1 ;
+ //stepper_step2 = 1 ;
+ wait_us(VELOCITY) ;
+ stepper_step = 0 ;
+ //stepper_step2 = 0 ;
+ wait_us(VELOCITY) ;
+
+ }
+ }
+
+ break ;
+
+ case 8 :
+
+ steppeer_dir2 = 1;
+ wait_us ( 1 );
+
+ for ( j = 1 ; j <= _Parametro ; j++){
+
+ for ( i= 0 ; i <= 50 ; i++ ){
+
+ //stepper_step = 1 ;
+ stepper_step2 = 1 ;
+ wait_us( VELOCITY ) ;
+ //stepper_step = 0 ;
+ stepper_step2 = 0 ;
+ wait_us ( VELOCITY ) ;
+
+ }
+
+ }
+
+ break ;
+
+ case 9 :
+
+ switch ( _Parametro ){
+
+ case 1:
+
+ VELOCITY = 400 ;
+
+ break ;
+
+ case 2:
+
+ VELOCITY = 2500 ;
+
+ break ;
+
+ case 3:
+
+ VELOCITY = 5000 ;
+
+ break ;
+
+ }
+
+ break ;
+
+ case 10:
+
+ int8_t Exit = 0 ;
+ if ( _Parametro == 1){
+
+ while ( !Exit ){
+
+ In [ 0 ] = analog_value0.read(); // Converts and read the analog input value (value from 0.0 to 1.0)
+ //printf(" X = %.04f \n", In[0]);
+ if ( In [ 0 ] > 0.5 ){
+
+ steppeer_dir = 1;
+ wait_us( 1 );
+
+ for ( i= 0 ; i <= 50 ; i++ ){
+
+ stepper_step = 1 ;
+ //stepper_step2 = 1 ;
+ wait_us( VELOCITY ) ;
+ stepper_step = 0 ;
+ //stepper_step2 = 0 ;
+ wait_us( VELOCITY ) ;
+ }
+ }
+
+ if ( In[ 0 ] < 0.5 ){
+
+ steppeer_dir2 = 1;
+ wait_us( 1 );
+
+ for ( i= 0 ; i <= 50 ; i++ ){
+
+ //stepper_step = 1 ;
+ stepper_step2 = 1 ;
+ wait_us( VELOCITY ) ;
+ //stepper_step = 0 ;
+ stepper_step2 = 0 ;
+ wait_us( VELOCITY ) ;
+
+ }
+ }
+
+ In [ 1 ] = analog_value1.read(); // Converts and read the analog input value (value from 0.0 to 1.0)
+ //printf(" X = %.04f \n", In[0]);
+
+ if (In [ 1 ] > 0.5 ){
+
+ steppeer_dir = 1 ;
+ steppeer_dir2 = 0 ;
+ wait_us( 1 );
+
+ for ( i= 0 ; i <= 50 ; i++ ){
+
+ stepper_step = 1 ;
+ stepper_step2 = 1 ;
+ wait_us( VELOCITY ) ;
+ stepper_step = 0 ;
+ stepper_step2 = 0 ;
+ wait_us( VELOCITY ) ;
+
+ }
+ }
+
+ if ( In [ 1 ] < 0.5 ){
+
+ steppeer_dir = 0 ;
+ steppeer_dir2 = 1 ;
+ wait_us( 1 );
+
+ for ( i= 0 ; i <= 50 ; i++ ){
+
+ stepper_step = 1 ;
+ stepper_step2 = 1 ;
+ wait_us( VELOCITY ) ;
+ stepper_step = 0 ;
+ stepper_step2 = 0 ;
+ wait_us ( VELOCITY ) ;
+
+ }
+
+ }
+
+ wait(1);
+ if ( command.readable () == 1 ){
+
+ leer_datos();
+
+ if ( Lectura [ 1 ] == 02 ){
+
+ Exit = 1 ;
+ }
+ }
+
}
- break;
+ }
+
+ break ;
+
}
}