Nota
Hola, bienvenido a la comunidad de entusiastas de SunFounder Raspberry Pi & Arduino & ESP32 en Facebook. ¡Explora más a fondo Raspberry Pi, Arduino y ESP32 con otros entusiastas!
¿Por qué unirse?
Soporte experto: Resuelve problemas postventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo.
Aprende y comparte: Intercambia consejos y tutoriales para mejorar tus habilidades.
Avances exclusivos: Obtén acceso anticipado a anuncios de nuevos productos y vistas previas.
Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más recientes.
Promociones festivas y sorteos: Participa en sorteos y promociones de temporada.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [aquí] y únete hoy mismo.
Lucha de Toros
¡Convierte a PiCrawler en un toro enojado! Usa su cámara para seguir y embestir la tela roja.
Ejecutar el Código
cd ~/picrawler/examples
sudo python3 bull_fight.py
Ver la Imagen
Después de ejecutar el código, el terminal mostrará el siguiente mensaje:
No desktop !
* Serving Flask app "vilib.vilib" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://0.0.0.0:9000/ (Press CTRL+C to quit)
Luego puedes ingresar http://<tu IP>:9000/mjpg en el navegador para ver la pantalla de video. Por ejemplo: https://192.168.18.113:9000/mjpg
Código
Nota
Puedes Modificar/Restablecer/Copiar/Ejecutar/Detener el código a continuación. Pero antes de eso, necesitas ir a la ruta del código fuente como picrawler\examples. Después de modificar el código, puedes ejecutarlo directamente para ver el efecto.
from picrawler import Picrawler
from time import sleep
from robot_hat import Music
from vilib import Vilib
crawler = Picrawler()
music = Music()
def main():
Vilib.camera_start()
Vilib.display()
Vilib.color_detect("red")
speed = 80
while True:
if Vilib.detect_obj_parameter['color_n']!=0:
coordinate_x = Vilib.detect_obj_parameter['color_x']
music.sound_play_threading('./sounds/talk1.wav')
if coordinate_x < 100:
crawler.do_action('turn left',1,speed)
sleep(0.05)
elif coordinate_x > 220:
crawler.do_action('turn right',1,speed)
sleep(0.05)
else :
crawler.do_action('forward',2,speed)
sleep(0.05)
else :
crawler.do_step('stand',speed)
sleep(0.05)
if __name__ == "__main__":
main()
¿Cómo funciona?
En general, este proyecto combina los puntos clave de conocimiento de Moverse, Visión por Computadora y Efectos de Sonido.
Su flujo se muestra en la figura a continuación: