Ultrasonido no funciona



  • Hola,

    Antes de nada, me presento. Mi nombre es Alfonso y desde hace unos 15 días, tengo un PrintBot evolution. He estado trasteando un poco y por más que he intentado hacer funcionar el sensor ultrasonido, no hay manera por lo que sospecho que llegó averiado.
    No sé si me podéis ayudar...
    Por un lado a verificar si efectivamente funciona o no y por otro, si no funciona, a ver como gestionarlo con BQ para su reemplazo.

    Lo mismo me pasa con el Miniservo sobre el que se pone el sensor ultrasonido aunque en este caso, no sé como probarlo 😞

    Gracias! 



  • Hola amoneo!

    Veamos, en primer lugar pon por aquí, si puedes, una fotillo para ver cómo están conectados el miniservo y el sensor ultrasonidos.

    Por otra parte, ¿qué programa le has cargado al robotito?



  • Hola SGracia!
    Antes de nada, gracias por la respuesta.

    Ahora mismo tengo el robot montado con las sigueintes conexiones:

    VCC a pin analógico V (A0)
    GND a ping analógivo G (A0)
    TRI a ping digital S4
    ECH a ping digital S5

    Con respecto al Miniservo, lo tengo conectado al pin digital 11 (es un conector de 3 cables Verde Marron y Amarillo, conectando Verde a G, Marrón a V y Amarillo a S).

    Con respecto al programa, ahora mismo tengo uno muy sencillo indicando que me mande la medida de distancia que da el Ultrasonido por el puerto serie. El resultado (via Mostrar Serial Monitor) es siempre 999,0 ..... Da igual que ponga la mano delante o lo acerque a una pared, el resultado es siempre el mismo.

    Este es el programa actual:

    /***   Included libraries  /
    #include <Servo.h>
    #include <SoftwareSerial.h>
    #include <BitbloqSoftwareSerial.h>
    #include <BitbloqUS.h>
    #include <BitbloqLineFollower.h>


    /
       Global variables and function definition  /
    Servo servo_continuo_izda;
    Servo servo_continuo_dcha;
    Servo mini_servo;
    int led_13 = 13;
    US ultrasonidos_0(4, 5);
    LineFollower siguelineas_0(2, 3);
    int sensor_de_luz_0 = A3;
    int sensor_de_luz_1 = A2;
    bqSoftwareSerial puerto_serie_0(0, 1, 9600);

    /
       Setup  /
    void setup() {
        servo_continuo_izda.attach(8);
        servo_continuo_dcha.attach(9);
        mini_servo.attach(11);
        pinMode(led_13, OUTPUT);
        pinMode(sensor_de_luz_0, INPUT);
        pinMode(sensor_de_luz_1, INPUT);
    }

    /
       Loop  ***/
    void loop() {
        puerto_serie_0.println(ultrasonidos_0.read());
    }

    Saludos y gracias!



  • VCC y GND  deben ir a pin digital, por ejemplo: Naranja a digital 4 rojo y Negro a digital 4 negro

    Hola SGracia! Antes de nada, gracias por la respuesta.

    Ahora mismo tengo el robot montado con las sigueintes conexiones:

    VCC a pin analógico V (A0)
    GND a ping analógivo G (A0)
    TRI a ping digital S4
    ECH a ping digital S5

    Con respecto al Miniservo, lo tengo conectado al pin digital 11 (es un conector de 3 cables Verde Marron y Amarillo, conectando Verde a G, Marrón a V y Amarillo a S).

    Con respecto al programa, ahora mismo tengo uno muy sencillo indicando que me mande la medida de distancia que da el Ultrasonido por el puerto serie. El resultado (via Mostrar Serial Monitor) es siempre 999,0 ..... Da igual que ponga la mano delante o lo acerque a una pared, el resultado es siempre el mismo.

    Este es el programa actual:

    /***   Included libraries  /
    #include <Servo.h>
    #include <SoftwareSerial.h>
    #include <BitbloqSoftwareSerial.h>
    #include <BitbloqUS.h>
    #include <BitbloqLineFollower.h>


    /
       Global variables and function definition  /
    Servo servo_continuo_izda;
    Servo servo_continuo_dcha;
    Servo mini_servo;
    int led_13 = 13;
    US ultrasonidos_0(4, 5);
    LineFollower siguelineas_0(2, 3);
    int sensor_de_luz_0 = A3;
    int sensor_de_luz_1 = A2;
    bqSoftwareSerial puerto_serie_0(0, 1, 9600);

    /
       Setup  /
    void setup() {
        servo_continuo_izda.attach(8);
        servo_continuo_dcha.attach(9);
        mini_servo.attach(11);
        pinMode(led_13, OUTPUT);
        pinMode(sensor_de_luz_0, INPUT);
        pinMode(sensor_de_luz_1, INPUT);
    }

    /
       Loop  ***/
    void loop() {
        puerto_serie_0.println(ultrasonidos_0.read());
    }

    Saludos y gracias!