.. note::
¡Hola! Bienvenido a la comunidad de entusiastas de SunFounder para Raspberry Pi, Arduino y ESP32 en Facebook. Sumérgete en el mundo de Raspberry Pi, Arduino y ESP32 junto a otros apasionados.
**¿Por qué unirse?**
- **Soporte experto**: Resuelve problemas postventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo.
- **Aprender y compartir**: Intercambia consejos y tutoriales para mejorar tus habilidades.
- **Preestrenos exclusivos**: Obtén acceso anticipado a nuevos anuncios de productos y adelantos exclusivos.
- **Descuentos especiales**: Disfruta de descuentos exclusivos en nuestros productos más recientes.
- **Promociones y sorteos festivos**: Participa en sorteos y promociones especiales durante las festividades.
👉 ¿Listo para explorar y crear con nosotros? ¡Haz clic en [|link_sf_facebook|] y únete hoy mismo!
9. Aullido
==========
¡PiDog no es solo un adorable perrito, sino también un imponente guardián! ¡Ven a escucharlo aullar!
.. image:: img/py_9.gif
**Ejecutar el Código**
.. raw:: html
.. code-block::
cd ~/pidog/examples
sudo python3 9_howling.py
Después de ejecutar el programa, PiDog se sentará en el suelo y comenzará a aullar.
**Código**
.. note::
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 ``pidog\examples``. Después de modificar el código, puedes ejecutarlo directamente para ver el efecto.
.. raw:: html
.. code-block:: python
#!/usr/bin/env python3
from pidog import Pidog
from time import sleep
from preset_actions import howling
my_dog = Pidog()
sleep(0.5)
def main():
my_dog.do_action('sit', speed=50)
my_dog.head_move([[0, 0, 0]], pitch_comp=-40, immediately=True, speed=80)
sleep(0.5)
while True:
howling(my_dog)
if __name__ == "__main__":
try:
main()
except KeyboardInterrupt:
pass
except Exception as e:
print(f"\033[31mERROR: {e}\033[m")
finally:
my_dog.close()