Arduino Forum upgrade scheduled for Monday, October 20th, 11am-4pm (CEST). Sorry for the inconvenience!
Pages: 1 [2]   Go Down
Author Topic: Problema con 3 sensores Ping Parallax  (Read 3684 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 15
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Muchas gracias FM. Le echaré un vistazo cuando tenga un momento para respirar y os digo el que... smiley-cry
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 15
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Primero de todo, perdón por el retraso, pero no tengo mucho tiempo y le echo horas cuando puedo...
FM he intentado realizar tu recomendación pero me es imposible... Creo que las funciones no son lo mío...  smiley-sweat

Code:
/*
                ÚLTIMA MODIFICACIÓN: 25 DE FEBRERO DEL 2012, POR ISAAC FERRES MELENDRES
   

   PROYECTO FINAL DE
   ISAAC FERRES MELENDRES
                                                                           NOTA: NOS FALTAN PUERTOS LIBRES. SE DEBERÍA AMPLIAR A UN ARDUINO MEGA O A OTRA PLACA ARDUINO.
                                                                           HABRÍA QUE TENER EN CUENTA LA ALIMENTACIÓN NECESARIA DE SER 1 O 2 ARDUINOS Y FUTURAS
                                                                           AMPLIACIONES COMO GPS, TRANSFORMADOR DE OCR, ETC.
Codigo PIN para:
3 sensor
3 motores vibrador
     
   El circuito:
* +V connection of the PING))) attached to +5V
* GND connection of the PING))) attached to ground
* SIG connection of the PING))) attached to digital pin 7

Estas constantes no cambian. */

// Vibradores conectados al PIN correspondiente y a GND
// Estos pines estan conectados a PWM ya que son analalogicos y nos permite modificar los pulsos de energia
// http://arduino.cc/es/Tutorial/PWM y http://arduino.cc/es/Tutorial/SecretsOfArduinoPWM
int vibrador = 11;
int vibrador2 = 10;
int vibrador3 = 9;

//Sensores de ultrasonido
const int pingPin = 7;
const int pingPin2 = 4;
const int pingPin3 = 2;

void setup()
{
  // Iniciamos la comunicación por serial:
  Serial.begin(14400);
}

void vibraMotor ( int 9 unsigned int cm )
{
   analogWrite ( 9, map ( cm, 255, 0, 0, 60 ) ); // transformo mi distancia en un valor entre 255 y 0 para el vibrador
}


void loop()
{
  /* Establevemos variables para la duración del ping
     y mostramos el resultado de la distancia en centrimetros*/

 //Distancia espacio/tiempo     
  long duration, duration2, duration3, cm, cm2, cm3;
  int vibraMotor;
 
 /*Dentro del Loop vamos a activar los vibradores
   en las distancias correspondientes */
 
    // ----------PING 1-------
    // The PING))) envia un pulso alto (HIGH) con duracion de 2 microsegundos.
    // Luego envia un pulso bajo (LOW) para hacer una limpieza del pulso alto (LOW)
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin, LOW);
 
    //Especificamos los sensores como entrada de datos
  pinMode(pingPin,INPUT);
  duration = pulseIn(pingPin,HIGH);
  cm = microsecondsToCentimeters(duration);



    // ----------PING 2-------
    // The PING))) envia un pulso alto (HIGH) con duracion de 2 microsegundos.
    // Luego envia un pulso bajo (LOW) para hacer una limpieza del pulso alto (LOW)
  pinMode(pingPin2, OUTPUT);
  digitalWrite(pingPin2, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin2, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin2, LOW);

  //Especificamos los sensores como entrada de datos
 
  pinMode(pingPin2,INPUT);
  duration2 = pulseIn(pingPin2, HIGH);
  cm2 = microsecondsToCentimeters2(duration2);
 
 

    // ----------PING 3-------
    // The PING))) envia un pulso alto (HIGH) con duracion de 2 microsegundos.
    // Luego envia un pulso bajo (LOW) para hacer una limpieza del pulso alto (LOW)
  pinMode(pingPin3, OUTPUT);
  digitalWrite(pingPin3, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin3, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin3, LOW);
 
 //Especificamos los sensores como entrada de datos
  pinMode(pingPin3,INPUT);
  duration3 = pulseIn(pingPin3, HIGH);
  cm3 = microsecondsToCentimeters3(duration3);
 

   
    //Especificamos los vibradores como salida de datos
  pinMode(vibrador,OUTPUT);
  pinMode(vibrador2,OUTPUT);
  pinMode(vibrador3,OUTPUT);
 

   // una vez leidas las distancias en cm, cm2 y cm3 usamos la función
   vibraMotor ( vibrador, cm );
   vibraMotor ( vibrador2, cm2 );
   vibraMotor ( vibrador3, cm3 );


  Serial.print(cm);
  Serial.print("cm");
  Serial.print("   ");
  Serial.print(cm2);
  Serial.print("cm2");
  Serial.print("   ");
  Serial.print(cm3);
  Serial.print("cm3");
  Serial.println();


  //Tiempo de muestreo expresado en milisegundos
  delay(10);
} //Cerramos el LOOP



  //Convertimos las medidas de microsegundos a centimetros
long microsecondsToCentimeters(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}

long microsecondsToCentimeters2(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}

long microsecondsToCentimeters3(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}


Pero me está dando un error.
"vibraMotor cannot be used as a función."
Logged

Málaga, Spain
Offline Offline
Edison Member
*
Karma: 41
Posts: 2182
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quita el "int 9" y verás.
Logged

   

Offline Offline
Newbie
*
Karma: 0
Posts: 15
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Gracias FM lo he probado peor no hay manera, me da el mismo error. Lo he probado tal y como tu me has puesto pero que va..

Code:
int vibrador = 11;
int vibrador2 = 10;
int vibrador3 = 9;

//Sensores de ultrasonido
const int pingPin = 7;
const int pingPin2 = 4;
const int pingPin3 = 2;

void setup()
{
  // Iniciamos la comunicación por serial:
  Serial.begin(14400);
}

void vibraMotor ( int pin, unsigned int distancia )
{
   analogWrite ( pin, map ( distancia, 255, 0, 0, 60 ) ); // transformo mi distancia en un valor entre 255 y 0 para el vibrador
}


void loop()
{
  /* Establevemos variables para la duración del ping
     y mostramos el resultado de la distancia en centrimetros*/

 //Distancia espacio/tiempo     
  long duration, duration2, duration3, cm, cm2, cm3;
  int vibraMotor;
 
 /*Dentro del Loop vamos a activar los vibradores
   en las distancias correspondientes */
 
    // ----------PING 1-------
    // The PING))) envia un pulso alto (HIGH) con duracion de 2 microsegundos.
    // Luego envia un pulso bajo (LOW) para hacer una limpieza del pulso alto (LOW)
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin, LOW);
 
    //Especificamos los sensores como entrada de datos
  pinMode(pingPin,INPUT);
  duration = pulseIn(pingPin,HIGH);
  cm = microsecondsToCentimeters(duration);



    // ----------PING 2-------
    // The PING))) envia un pulso alto (HIGH) con duracion de 2 microsegundos.
    // Luego envia un pulso bajo (LOW) para hacer una limpieza del pulso alto (LOW)
  pinMode(pingPin2, OUTPUT);
  digitalWrite(pingPin2, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin2, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin2, LOW);

  //Especificamos los sensores como entrada de datos
 
  pinMode(pingPin2,INPUT);
  duration2 = pulseIn(pingPin2, HIGH);
  cm2 = microsecondsToCentimeters2(duration2);
 
 

    // ----------PING 3-------
    // The PING))) envia un pulso alto (HIGH) con duracion de 2 microsegundos.
    // Luego envia un pulso bajo (LOW) para hacer una limpieza del pulso alto (LOW)
  pinMode(pingPin3, OUTPUT);
  digitalWrite(pingPin3, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin3, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin3, LOW);
 
 //Especificamos los sensores como entrada de datos
  pinMode(pingPin3,INPUT);
  duration3 = pulseIn(pingPin3, HIGH);
  cm3 = microsecondsToCentimeters3(duration3);
 

   
    //Especificamos los vibradores como salida de datos
  pinMode(vibrador,OUTPUT);
  pinMode(vibrador2,OUTPUT);
  pinMode(vibrador3,OUTPUT);
 

   // una vez leidas las distancias en cm, cm2 y cm3 usamos la función
   vibraMotor ( vibrador, cm );
   vibraMotor ( vibrador2, cm2 );
   vibraMotor ( vibrador3, cm3 );


  Serial.print(cm);
  Serial.print("cm");
  Serial.print("   ");
  Serial.print(cm2);
  Serial.print("cm2");
  Serial.print("   ");
  Serial.print(cm3);
  Serial.print("cm3");
  Serial.println();


  //Tiempo de muestreo expresado en milisegundos
  delay(10);
} //Cerramos el LOOP



  //Convertimos las medidas de microsegundos a centimetros
long microsecondsToCentimeters(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}

long microsecondsToCentimeters2(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}

long microsecondsToCentimeters3(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}

De todas formas no te preocupes. Como tu me recomiendas sería genial, pero no tengo conocimientos suficientes sobre Arduino, y no quiero estar dándote la tabarra por esto... Ahora pondré el zumbador para que se active y listo. Proyecto acabado :-)

Te comento conforme avance :-)
Logged

Málaga, Spain
Offline Offline
Edison Member
*
Karma: 41
Posts: 2182
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Revisa cualquier libro de programación en C o C++. El entorno arduino no es otra cosa que un compilador de C C++ y un conjunto de librerías.
Logged

   

Offline Offline
Newbie
*
Karma: 0
Posts: 15
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bueno chic@s ya he acabado el proyecto :-)

Como siempre gracias a todos los que me habéis ayudado (FM y Sergegsx). Esta tarde/noche colgaré todo el código y la foto del brazo por si a alguien le puede servir mi proyecto para alguna cosa persona o también de proyecto.  smiley
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 15
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Parte 1


Bueno, lo prometido es deuda, aunque tarde..
Aquí está todo el código del proyecto, por si a alguien le puede servir.

Cada trozo de código tiene comentada su función.

Code:
/*
                ÚLTIMA MODIFICACIÓN: 25 DE FEBRERO DEL 2012, POR ISAAC FERRES MELENDRES
  

   PROYECTO FINAL DE
   ISAAC FERRES MELENDRES
                                                                           NOTA: NOS FALTAN PUERTOS LIBRES. SE DEBERÍA AMPLIAR A UN ARDUINO MEGA O A OTRA PLACA ARDUINO.
                                                                           HABRÍA QUE TENER EN CUENTA LA ALIMENTACIÓN NECESARIA DE SER 1 O 2 ARDUINOS Y FUTURAS
                                                                           AMPLIACIONES COMO GPS, TRANSFORMADOR DE OCR, ETC.
Codigo PIN para:
3 sensor
3 motores vibrador
    
   El circuito:
* +V connection of the PING))) attached to +5V
* GND connection of the PING))) attached to ground
* SIG connection of the PING))) attached to digital pin 7

Estas constantes no cambian. */

// Vibradores conectados al PIN correspondiente y a GND
// Estos pines estan conectados a PWM ya que son analalogicos y nos permite modificar los pulsos de energia
// http://arduino.cc/es/Tutorial/PWM y http://arduino.cc/es/Tutorial/SecretsOfArduinoPWM

//Vibradores
int vibrador = 11;
int vibrador2 = 10;
int vibrador3 = 9;

//Sensores de ultrasonido
const int pingPin = 7;
const int pingPin2 = 4;
const int pingPin3 = 2;

//Zumbador
int zumbador = 6;

void setup()
{
  // Iniciamos la comunicación por serial:
  Serial.begin(14400);
  //Especificamos el zumbador como salida de datos
  pinMode(zumbador, OUTPUT);
  //Especificamos los vibradores como salida de datos
  pinMode(vibrador,OUTPUT);
  pinMode(vibrador2,OUTPUT);
  pinMode(vibrador3,OUTPUT);
}

void loop()
{
  /* Establevemos variables para la duración del ping
     y mostramos el resultado de la distancia en centrimetros*/

 //Distancia espacio/tiempo    
  long duration, duration2, duration3, cm, cm2, cm3;
 
 /*Dentro del Loop vamos a activar los vibradores
   en las distancias correspondientes */
  
    // ----------PING 1-------
    // The PING))) envia un pulso alto (HIGH) con duracion de 2 microsegundos.
    // Luego envia un pulso bajo (LOW) para hacer una limpieza del pulso alto (LOW)
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin, LOW);
  
    //Especificamos los sensores como entrada de datos
  pinMode(pingPin,INPUT);
  duration = pulseIn(pingPin,HIGH);
  cm = microsecondsToCentimeters(duration);



    // ----------PING 2-------
    // The PING))) envia un pulso alto (HIGH) con duracion de 2 microsegundos.
    // Luego envia un pulso bajo (LOW) para hacer una limpieza del pulso alto (LOW)
  pinMode(pingPin2, OUTPUT);
  digitalWrite(pingPin2, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin2, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin2, LOW);

  //Especificamos los sensores como entrada de datos
  
  pinMode(pingPin2,INPUT);
  duration2 = pulseIn(pingPin2, HIGH);
  cm2 = microsecondsToCentimeters2(duration2);
  
  

    // ----------PING 3-------
    // The PING))) envia un pulso alto (HIGH) con duracion de 2 microsegundos.
    // Luego envia un pulso bajo (LOW) para hacer una limpieza del pulso alto (LOW)
  pinMode(pingPin3, OUTPUT);
  digitalWrite(pingPin3, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin3, HIGH);
  delayMicroseconds(5);
  digitalWrite(pingPin3, LOW);
  
 //Especificamos los sensores como entrada de datos
  pinMode(pingPin3,INPUT);
  duration3 = pulseIn(pingPin3, HIGH);
  cm3 = microsecondsToCentimeters3(duration3);
  
 
  
     //----------------------------------------
     //         VIBRADOR 1   (DELANTERO)
     //----------------------------------------
//Si Sensor 1 es menor a 50cm y mayor a 10cm activamos Vibrador 1.

  //Si esta entre 10cm y 60cm
  if((cm>=10)&&(cm<=60))
  {
      // Si esta entre 25cm y 60cm
      if((cm>=25)&&(cm<=60))
        {      
              //Si esta entre 45cm y 60cm
              if((cm>=45)&&(cm<=60))
              {
                    for(int fadeValue = 0 ; fadeValue <= 64; fadeValue +=5)
                       {
                        analogWrite(vibrador, fadeValue);  
                        analogWrite(zumbador, fadeValue);
                          digitalWrite(zumbador, HIGH);   // enciende el zumbador (on)
                          delay(40);                  // espera 0,4seg.
                          digitalWrite(zumbador, LOW);    // apaga el zumbador (off)
                          delay(40);                  // espera 0,4seg                  
                       }
              }
              else
              {    //Si NO esta entre 45cm y 60cm, esta entre 25cm y 45cm
                    for(int fadeValue = 0 ; fadeValue <= 127; fadeValue +=5)
                       {
                        analogWrite(vibrador, fadeValue);
                        analogWrite(zumbador, fadeValue);  
                          digitalWrite(zumbador, HIGH);   // enciende el zumbador (on)
                          delay(20);                  // espera 0,2seg.
                          digitalWrite(zumbador, LOW);    // apaga el zumbador (off)
                          delay(20);                  // espera 0,2seg.                                                      
                       }
              }
        }
       else
        {
          //Si NO esta entre 25cm y 60cm, esta entre 10cm y 25cm
          for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5)
               {
                analogWrite(vibrador, fadeValue);  
                analogWrite(zumbador, fadeValue);
                          digitalWrite(zumbador, HIGH);   // enciende el zumbador (on)
                          delay(10);                  // espera 0,1seg.
                          digitalWrite(zumbador, LOW);    // apaga el zumbador (off)
                          delay(10);                  // espera 0,1seg.                      
               }
        }    
  }
  else
  {
        //Si NO esta entre 10cm y 60cm, esta a menos de 10cm o a mas de 60cm, APAGAMOS vibrador.
         for(int fadeValue = 0 ; fadeValue <= 0; fadeValue +=5)
           {
            analogWrite(vibrador, fadeValue);
            analogWrite(zumbador, fadeValue);              
           }    
  }
  
  
  
  
  
  


PD: Como bien dicen los expertos (y no es ironía  smiley-kitty) el código se puede mejorar bastante mediante funciones, pero yo no se más ni tengo más tiempo, así que así os lo entrego.

Espero que a alguien le pueda servir.


Un saludo y muchas gracias de nuevo a tod@s los que habéis echo posible que apruebe el proyecto  smiley-mr-green
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 15
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Parte 2

Code:
 
     //----------------------------------------
     //         VIBRADOR 2   (DERECHO)
     //----------------------------------------
//Si Sensor 1 es menor a 50cm y mayor a 10cm activamos Vibrador 1.
if((cm2>=10)&&(cm2<=60))
  {
      // Si esta entre 25cm y 60cm
      if((cm2>=25)&&(cm2<=60))
        {      
              //Si esta entre 45cm y 60cm
              if((cm2>=45)&&(cm2<=60))
              {
                    for(int fadeValue = 0 ; fadeValue <= 64; fadeValue +=5)
                       {
                        analogWrite(vibrador2, fadeValue);
                        analogWrite(zumbador, fadeValue);
                          digitalWrite(zumbador, HIGH);   // enciende el zumbador (on)
                          delay(40);                  // espera 0,4seg.
                          digitalWrite(zumbador, LOW);    // apaga el zumbador (off)
                          delay(40);                  // espera 0,4seg                        
                       }
              }
              else
              {    //Si NO esta entre 45cm y 60cm, esta entre 25cm y 45cm
                    for(int fadeValue = 0 ; fadeValue <= 127; fadeValue +=5)
                       {
                        analogWrite(vibrador2, fadeValue);  
                        analogWrite(zumbador, fadeValue);  
                          digitalWrite(zumbador, HIGH);   // enciende el zumbador (on)
                          delay(20);                  // espera 0,2seg.
                          digitalWrite(zumbador, LOW);    // apaga el zumbador (off)
                          delay(20);                  // espera 0,2seg.                        
                       }
              }
        }
       else
        {
          //Si NO esta entre 25cm y 60cm, esta entre 10cm y 25cm
          for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5)
               {
                analogWrite(vibrador2, fadeValue);  
                analogWrite(zumbador, fadeValue);
                          digitalWrite(zumbador, HIGH);   // enciende el zumbador (on)
                          delay(10);                  // espera 0,1seg.
                          digitalWrite(zumbador, LOW);    // apaga el zumbador (off)
                          delay(10);                  // espera 0,1seg.                
               }
        }    
  }
  else
  {
        //Si NO esta entre 10cm y 60cm, esta a menos de 10cm o a mas de 60cm, APAGAMOS vibrador.
         for(int fadeValue = 0 ; fadeValue <= 0; fadeValue +=5)
           {
            analogWrite(vibrador2, fadeValue);                                    
           }    
  }
 
 
 
 
 
 
 
 
  

     //----------------------------------------
     //         VIBRADOR 3   (IZQIUERDO)
     //----------------------------------------    
//Si Sensor 1 es menor a 50cm y mayor a 10cm activamos Vibrador 1.
if((cm3>=10)&&(cm3<=60))
  {
      // Si esta entre 25cm y 60cm
      if((cm3>=25)&&(cm3<=60))
        {      
              //Si esta entre 45cm y 60cm
              if((cm3>=45)&&(cm3<=60))
              {
                    for(int fadeValue = 0 ; fadeValue <= 64; fadeValue +=5)
                       {
                        analogWrite(vibrador3, fadeValue);  
                        analogWrite(zumbador, fadeValue);
                          digitalWrite(zumbador, HIGH);   // enciende el zumbador (on)
                          delay(40);                  // espera 0,4seg.
                          digitalWrite(zumbador, LOW);    // apaga el zumbador (off)
                          delay(40);                  // espera 0,4seg                        
                       }
              }
              else
              {    //Si NO esta entre 45cm y 60cm, esta entre 25cm y 45cm
                    for(int fadeValue = 0 ; fadeValue <= 127; fadeValue +=5)
                       {
                        analogWrite(vibrador3, fadeValue);  
                        analogWrite(zumbador, fadeValue);  
                          digitalWrite(zumbador, HIGH);   // enciende el zumbador (on)
                          delay(20);                  // espera 0,2seg.
                          digitalWrite(zumbador, LOW);    // apaga el zumbador (off)
                          delay(20);                  // espera 0,2seg.                        
                       }
              }
        }
       else
        {
          //Si NO esta entre 25cm y 60cm, esta entre 10cm y 25cm
          for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5)
               {
                analogWrite(vibrador3, fadeValue);
                analogWrite(zumbador, fadeValue);
                          digitalWrite(zumbador, HIGH);   // enciende el zumbador (on)
                          delay(10);                  // espera 0,1seg.
                          digitalWrite(zumbador, LOW);    // apaga el zumbador (off)
                          delay(10);                  // espera 0,1seg.                
               }
        }    
  }
  else
  {
        //Si NO esta entre 10cm y 60cm, esta a menos de 10cm o a mas de 60cm, APAGAMOS vibrador.
         for(int fadeValue = 0 ; fadeValue <= 0; fadeValue +=5)
           {
            analogWrite(vibrador3, fadeValue);                                    
           }    
  }  

  Serial.print(cm);
  Serial.print("cm");
  Serial.print("   ");
  Serial.print(cm2);
  Serial.print("cm2");
  Serial.print("   ");
  Serial.print(cm3);
  Serial.print("cm3");
  Serial.println();

} //Cerramos el LOOP



  //Convertimos las medidas de microsegundos a centimetros
long microsecondsToCentimeters(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}

long microsecondsToCentimeters2(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}

long microsecondsToCentimeters3(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}
Logged

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1414
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

que tal fue el proyecto?
yo tengo un pfc con arduino y tengo curiosidad de ver que tal evaluan este tipo de proyectos.
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Málaga, Spain
Offline Offline
Edison Member
*
Karma: 41
Posts: 2182
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

De qué va tu proyecto?
Logged

   

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1414
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

De qué va tu proyecto?

Monitorización de los consumos de una vivienda
Esta enfocado en una vivienda pero la idea es que todo es extrapolable a industria.
Incluye entorno web, sistema de avisos, monitorización de temperaturas, calefacción, caldera, grupo presión, puertas, y un largo etc. Ya lo colgare cuando este terminado.
Esta preparado para realizar funciones domoticas tambien.

El tema es que soy Ing. Mecanico y quise aprender electronica poniendome un objetivo y por eso hago el pfc en electronica.
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Pages: 1 [2]   Go Up
Arduino Forum upgrade scheduled for Monday, October 20th, 11am-4pm (CEST). Sorry for the inconvenience!
Jump to: