.. note:: ¡Hola, bienvenido a la Comunidad de Entusiastas de SunFounder Raspberry Pi, Arduino y ESP32 en Facebook! Profundiza en 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. - **Previews exclusivos**: Accede anticipadamente a anuncios de nuevos 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 de temporada. 👉 ¿Listo para explorar y crear con nosotros? Haz clic en [|link_sf_facebook|] y únete hoy mismo. .. _3.1.1_py: 3.1.1 Módulo Fotográfico ============================ Introducción ------------------- En este kit, equipado con un módulo de cámara, vamos a intentar tomar una foto con Raspberry Pi. Componentes necesarios --------------------------------- En este proyecto, necesitamos los siguientes componentes. .. image:: ../img/photo1.png :width: 800 Es definitivamente conveniente comprar un kit completo, aquí está el enlace: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - Nombre - ELEMENTOS EN ESTE KIT - ENLACE * - Kit Raphael - 337 - |link_Raphael_kit| También puedes comprarlos por separado en los enlaces a continuación. .. list-table:: :widths: 30 20 :header-rows: 1 * - INTRODUCCIÓN DEL COMPONENTE - ENLACE DE COMPRA * - :ref:`cpn_camera_module` - |link_camera_buy| Procedimientos experimentales --------------------------------- **Paso 1:** Accede al escritorio de Raspberry Pi. Puede que necesites una pantalla para una mejor experiencia, consulta: `Conecta tu Raspberry Pi `_. O accede al escritorio de Raspberry Pi de forma remota, para un tutorial detallado, consulta :ref:`remote_desktop`. **Paso 2:** Verifica si la cámara está habilitada. Para obtener instrucciones, consulta: :ref:`enable_camera`. **Paso 3:** Abre un terminal y accede a la carpeta del código. .. code-block:: cd ~/raphael-kit/python/ **Paso 4:** Ejecuta el código. .. code-block:: sudo python3 3.1.1_PhotographModule.py Después de ejecutar el código, la cámara tomará una foto. Ahora puedes ver la foto llamada ``my_photo.jpg`` en el directorio ``~``. .. note:: También puedes abrir ``3.1.1_PhotographModule.py`` en la ruta ``~/raphael-kit/python/`` con un IDE de Python, hacer clic en el botón de Ejecutar para ejecutar el código y detenerlo con el botón de Detener. Si deseas descargar la foto a tu PC, consulta :ref:`filezilla`. **Código** .. code-block:: python from picamera import PiCamera import os user = os.getlogin() user_home = os.path.expanduser(f'~{user}') camera = PiCamera() def setup(): camera.start_preview(alpha=200) def main(): camera.capture(f'{user_home}/my_photo.jpg') while True: pass def destroy(): camera.stop_preview() if __name__ == '__main__': setup() try: main() except KeyboardInterrupt: destroy() **Explicación del Código** .. code-block:: python from picamera import PiCamera camera = PiCamera() Importa la biblioteca ``picamera`` e instancia la clase ``PiCamera`` para utilizar el módulo de cámara. .. code-block:: python start_preview(**options) Muestra la superposición de vista previa y cambia el nivel de transparencia con ``alpha`` - de 0 a 255. Este método inicia una vista previa de la cámara como una superposición en la pantalla principal del Pi (HDMI o compuesto). Por defecto, el renderizador será opaco y a pantalla completa. Esto significa que la vista previa por defecto sobrescribe lo que esté visible en la pantalla. Más específicamente, la vista previa no depende de un entorno gráfico como X-Windows (puede funcionar perfectamente desde una consola TTY); es simplemente una superposición en la salida de video del Pi. Para detener la vista previa y revelar la pantalla nuevamente, llama a ``stop_preview()``. La vista previa puede iniciarse y detenerse varias veces durante la vida del objeto ``PiCamera``. .. code-block:: python camera.capture(f'{user_home}/my_photo.jpg') Captura una imagen con la cámara, almacenándola en ``~/``. .. note:: Puedes usar la función ``camera.capture()`` y el bucle ``for`` juntos para lograr disparos continuos. Y usa la función ``delay`` para ajustar el intervalo de tiempo entre tomas. .. code-block:: python for i in 5: camera.capture(f'{user_home}/my_photo%s.jpg' % i)