En este tutorial, te mostraré cómo instalar el paquete de expansión ScratchGPIO, cómo ensamblar una placa de pruebas con LED y botones, y ejecutar un juego Scratch simple que usa los LED y los botones de la placa para jugar..
Con el énfasis de Raspberry Pi en la educación, tiene mucho sentido que Scratch esté preinstalado en la versión Raspbian predeterminada y esté disponible como un ícono en el escritorio.
Simon Walters, @cymplecy en Twitter, ha creado una expansión para Scratch que le permite a su programa leer y escribir el estado de los pines GPIO de la Raspberry Pi. Simon escribe sobre su creación, ScratchGPIO en Cymplecy y continúa manteniéndolo en su repositorio de github..
El tablero alojará los LED y los botones con la bruja ScratchGPIO interactuarán. Los LED necesitan una resistencia limitadora de corriente de 220 OHM y los botones necesitan las resistencias de 1K OHM para garantizar que las clavijas no pasen demasiada corriente..
Usando la imagen de abajo, configure la placa y los puentes a los pines GPIO que se muestran en el diagrama. Los números de pin que utilizan el módulo GPIO y el código Scratch son los números de pin físicos, no los números GPIO o lógicos. Consulte las imágenes en la página de periféricos de bajo nivel de RPi para identificar los números de pin.
Existen varias guías para comprar e instalar un sistema operativo en su Raspberry Pi. Instala el último sistema operativo Raspbian. Una vez que su Raspberry Pi esté configurada y arrancada al escritorio gráfico, continúe con el siguiente paso.
El software ScratchGPIO no cambia ni reemplaza el scratch, agrega un conjunto de scripts de Python que se integran con Scratch y agregan la capacidad de controlar y leer los pines GPIO en el nivel de hardware. Scratch continuará funcionando normalmente después de la instalación.
Sin embargo, habrá un nuevo ícono en el escritorio gráfico de la Raspberry Pi que lanzará los scripts de soporte de GPIO y Scratch juntos. El instalador es simple y fácil de usar. Siga las instrucciones a continuación para descargar e instalar el paquete ScratchGPIO.
wget https://raw.github.com/cymplecy/scratch_gpio/master/install_scratchgpio4.sh -O isgh.sh sudo sh isgh.sh
El tema de escribir programas de Scratch es amplio y profundo. Este tutorial no cubre los detalles de la programación de Scratch, pero el sitio web de Scratch realiza un excelente trabajo al presentar y enseñar Scratch si desea obtener más información..
En los pasos a continuación, descargará y ejecutará un juego desde cero que aprovecha las extensiones GPIO y la configuración de tablero que creó. El juego establece los pines de salida 11, 12 y 13 para iluminar los LED y mostrar la salud del héroe del juego, Cat..
A medida que Cat pierde salud, los LED se apagan uno por uno hasta que todos están apagados y el juego termina. Durante el juego, el programa verifica el estado de los pines de entrada 3 y 5 y cuando los pines están bajos o conectados a tierra, Cat se mueve hacia arriba y hacia abajo para tratar de evitar que el oponente se cargue, Rex.
A medida que juegues, verás cómo los tres LED de la placa de pruebas reflejan el nivel de salud de Cat y que los botones realmente mueven a Cat hacia arriba y hacia abajo. Señalaré los bits de código que interactúan con los pines GPIO de Pi, a continuación. Como referencia, puede encontrar la documentación completa en el paquete ScratchGPIO en el blog de los autores.
Los LED se encienden cuando los pines a los que están conectados están encendidos o encendidos. El LED se iluminará y la resistencia evitará que pase demasiada corriente. Haga clic en el Escenario Icono en el panel inferior izquierdo de la ventana de Scratch. Esto traerá el script para el objeto de escenario al editor en el centro de la ventana.
El fragmento de código a continuación es la rutina de manejo de LED y estado. Cuando el bloque de código recibe el UpdateHealth mensaje de difusión, evalúa la variable de salud y establece los pines bajos cuando se pierde la salud.
Los pulsadores momentáneos conectan los pines 3 y 5 a tierra a través de la resistencia limitadora de corriente cuando se presionan. La Raspberry Pi reconoce el pin como bajo o 0 en Scratch. Haga clic en el gato icono en el panel inferior derecho de la ventana para llevar el código al panel central.
En el bloque de código superior, después de algunas tareas de configuración, el código comprueba el estado de los pines 3 y 5. Cuando se detecta que cualquiera de los dos es bajo o 0, aparece el mensaje arriba o abajo se ha enviado. Más abajo en el gato Los scripts son bloques de código que reciben los mensajes direccionales y mueven el sprite..
Mi puntaje más alto fue 34. Mira si puedes vencer eso!
Scratch es un marco de programación muy accesible y fácil de aprender para niños pequeños y adultos. Su estrecha asociación con la Raspberry Pi y su énfasis educativo ha sido una combinación perfecta. El proyecto ScratchGPIO trae el control y la detección de los pines GPIO de bajo nivel de los PIO a Scratch de una manera muy poderosa. El autor continúa mejorando el paquete para admitir pantallas LCD, motores, componentes de brújula, sensores de distancia y otros componentes electrónicos y robóticos.
El nivel de control de hardware que ofrece el paquete ScratchGPIO permite que incluso los programadores principiantes puedan interactuar con el mundo físico con un marco de programación simple y familiar..
Al seguir este tutorial, ha aprendido cómo instalar el paquete ScratchGPIO, dónde buscar más información sobre él y Scratch. Además, ha montado un circuito de tablero de pruebas fácil de usar que le permitirá experimentar de manera segura con el control Scratch y GPIO para entrada y salida.
Finalmente, instaló un juego que puede usarse como ejemplo y como base para ser modificado para aprender y experimentar. A medida que el proyecto ScratchGPIO continúa madurando y expandiéndose, puede esperar ver una nueva generación de robótica Raspberry Pi controlada por Scratch.