1. Tienes 5v en el GPIO, en el pin 4
2 y 3. Lo suyo es que auto-arranque la aplicación y muestre el logo y las instrucciones, mientras el sensor no detecta nada.
Hay muchas formas de hacer un autostart, no tienes por qué arrancar al escritorio gráfico
RBPi + LCD + Sensor ultrasónico HC-SR04
- egrueda
- Pi God

- Mensajes: 3473
- Registrado: 10 Feb 2017, 19:31
- Agradecido: 8 veces
- Agradecimiento recibido: 289 veces
No respondo a privados ;-)
👉 Particiones en una MicroSD
👉 Cómo pedir ayuda en el foro
Invítame a un café
👉 Particiones en una MicroSD
👉 Cómo pedir ayuda en el foro
Invítame a un café
- egrueda
- Pi God

- Mensajes: 3473
- Registrado: 10 Feb 2017, 19:31
- Agradecido: 8 veces
- Agradecimiento recibido: 289 veces
Bueno, tengo la sensación de que esa documentación corresponde a la raspberry pi 1, la de la salida de vídeo amarilla, quizá la explicación no sea válida para la raspi 3 o la 4
No respondo a privados ;-)
👉 Particiones en una MicroSD
👉 Cómo pedir ayuda en el foro
Invítame a un café
👉 Particiones en una MicroSD
👉 Cómo pedir ayuda en el foro
Invítame a un café
- egrueda
- Pi God

- Mensajes: 3473
- Registrado: 10 Feb 2017, 19:31
- Agradecido: 8 veces
- Agradecimiento recibido: 289 veces
¡Ah, vale! que es el retorno, perdona
No respondo a privados ;-)
👉 Particiones en una MicroSD
👉 Cómo pedir ayuda en el foro
Invítame a un café
👉 Particiones en una MicroSD
👉 Cómo pedir ayuda en el foro
Invítame a un café
- egrueda
- Pi God

- Mensajes: 3473
- Registrado: 10 Feb 2017, 19:31
- Agradecido: 8 veces
- Agradecimiento recibido: 289 veces
Depura más el código, mete "print" para ver dónde entra.
Mete "print" en el if del final, uno antes de media_player.play() y otro antes de media_player.set_pause() para confirmar que entra en el primero
Crea un "else" para todos los demás casos y haz un print para ver si entras en él.
Una vez hecho eso, depura un poco más:
Deja que empiece a reproducir, dale unos segundos, y comprueba si está reproduciendo
Pero antes de nada, asegúrate de que entra en el if del media_player.play()
Mete "print" en el if del final, uno antes de media_player.play() y otro antes de media_player.set_pause() para confirmar que entra en el primero
Crea un "else" para todos los demás casos y haz un print para ver si entras en él.
Una vez hecho eso, depura un poco más:
Deja que empiece a reproducir, dale unos segundos, y comprueba si está reproduciendo
Código: Seleccionar todo
media_player.play()
time.sleep(5)
value = media_player.is_playing()
print("Is playing : ")
print(value)No respondo a privados ;-)
👉 Particiones en una MicroSD
👉 Cómo pedir ayuda en el foro
Invítame a un café
👉 Particiones en una MicroSD
👉 Cómo pedir ayuda en el foro
Invítame a un café
- egrueda
- Pi God

- Mensajes: 3473
- Registrado: 10 Feb 2017, 19:31
- Agradecido: 8 veces
- Agradecimiento recibido: 289 veces
Si quieres un loop, tienes que usar el método vlm_set_loop del player.
Ejemplo: https://www.geeksforgeeks.org/python-vl ... the-media/
Ejemplo: https://www.geeksforgeeks.org/python-vl ... the-media/
No respondo a privados ;-)
👉 Particiones en una MicroSD
👉 Cómo pedir ayuda en el foro
Invítame a un café
👉 Particiones en una MicroSD
👉 Cómo pedir ayuda en el foro
Invítame a un café
- egrueda
- Pi God

- Mensajes: 3473
- Registrado: 10 Feb 2017, 19:31
- Agradecido: 8 veces
- Agradecimiento recibido: 289 veces
Bueno, todos los proyectos tienen complicaciones, por eso me cabreo a veces cuando la gente cree que un proyecto se hace en media hora :-D
Por un lado, yo cambiaría el "elif" por un "else", así el vídeo se detiene en cualquier otra circunstancia y no sólo en el supuesto de > 31
Es decir, en cada loop debería asegurarse de que el vídeo está parado.
E incluso cuando arranca el vídeo, antes debería asegurarse de que está parado.
Por otro lado, para el loop, fíjate en el ejemplo que enlazo.
Ahí parten de una instancia diferente: player = vlc.Instance()
Mientras que tú usas algo como: media = vlc.MediaPlayer()
Es algo así como hacer referencia a un cine o a una película de ese cine ;-)
Por un lado, yo cambiaría el "elif" por un "else", así el vídeo se detiene en cualquier otra circunstancia y no sólo en el supuesto de > 31
Es decir, en cada loop debería asegurarse de que el vídeo está parado.
E incluso cuando arranca el vídeo, antes debería asegurarse de que está parado.
Por otro lado, para el loop, fíjate en el ejemplo que enlazo.
Ahí parten de una instancia diferente: player = vlc.Instance()
Mientras que tú usas algo como: media = vlc.MediaPlayer()
Es algo así como hacer referencia a un cine o a una película de ese cine ;-)
- Estos usuarios agradecieron al autor egrueda por el mensaje:
- grafenwalderr
No respondo a privados ;-)
👉 Particiones en una MicroSD
👉 Cómo pedir ayuda en el foro
Invítame a un café
👉 Particiones en una MicroSD
👉 Cómo pedir ayuda en el foro
Invítame a un café

