Programación en Python con Raspberry Pi

Curso de introducción a la domótica e internet de las cosas con Raspberry Pi para profesores de educación secundaria.

Introducción

El siguiente curso presencial surge por la necesidad de aplicar lenguajes de programación textual como evolución a los lenguajes de programación por bloques realizados en cursos de iniciación.

Centro de Profesores y Recursos, Región de Murcia
Centro de Profesores y Recursos, Región de Murcia

Competencias profesionales

Esta actividad, catalogada de nivel A2 permite adquirir y/o desarrollar las siguientes áreas competenciales dentro del Marco Común de la Competencia Digital Docente.

  • Área 1: Información y alfabetización informacional
    • 1.1. Navegación, búsqueda y filtrado de información, datos y contenidos digitales
    • 1.2. Evaluación de la información, datos y contenidos digitales
  • Área 2: Comunicación y colaboración
    • 2.2. Compartir información y contenidos digitales
    • 2.4. Colaboración mediante canales digitales
  • Área 3: Creación de contenido digital
    • 3.1. Desarrollo de contenidos digitales
    • 3.2. Integración y reelaboración de contenidos digitales
    • 3.4. Programación
  • Área 5: Resolución de problemas
    • 5.3. Innovación y uso de la tecnología digital de forma creativa

Objetivos del curso

  1. Posibles usos de la Raspberry Pi en el aula.
  2. Aprender a programar en el lenguaje de programación Python.
  3. Conocer el mundo digital y físico con la Raspberry Pi.
  4. Introducción a la domótica e Internet de las Cosas.

Introducción a Raspberry Pi

Raspberry Pi es un pequeño ordenador destinado principalmente a estimular la enseñanza de las ciencias de la computación en los centros educativos. La ventaja principal que se puede destacar sobre un ordenador convencional es la posibilidad de utilizar los pines GPIO para conectar el mundo físico con el mundo digital.

Raspberry Pi
Raspberry Pi

Este curso se puede realizar con diferentes versiones de Raspberry Pi (2, 3 y 4).

El sistema operativo elegido y recomendado es Raspbian al estar optimizado para el procesador ARM (frente a los procesadores x86 que podemos encontrar en los PC de un aula convencional). Para más información sobre la arquitectura del procesador y modos de instalación accede al curso de instalación de Raspbian en Raspberry Pi de esta misma plataforma donde lo explicamos a través de videotutoriales.

Instalación de Raspbian

Para instalar Raspbian en nuestra Raspberry Pi disponemos de dos versiones; una más completa con entorno gráfico y otra más reducida sin entorno gráfico.

  • Raspbian Pixel: Versión completa con entorno gráfico de Raspbian, es decir, la versión de escritorio con menús, ventanas, iconos, fondos de pantalla, etc. utilizado por la mayoría de los usuarios como ordenador de sobremesa.
  • Raspbian Lite: Versión reducida sin entorno gráfico, es decir, la versión en modo consola sin gráficos. Esta opción generalmente es para usuarios avanzados con conocimientos de Linux que utilizan la Raspberry Pi como servidor.

Primeros pasos con Raspbian

Una vez instalado el sistema operativo podemos realizar una puesta a punto mediante la actualización e instalación del software recomendado para educación.

Es recomendable realizar una copia de seguridad en otra tarjeta SD a modo de respaldo en caso de catástrofe. Además, de esta forma podemos volcar el contenido de la imagen ya creada.


Aprende a programar en Python

Python es un lenguaje de programación interpretado de tipado dinámico cuya filosofía hace hincapié en una sintaxis que favorezca un código legible. Es decir, Python es el siguiente lenguaje de programación que debería estudiarse por su sencillez después de un lenguaje de programación por bloques.

Plataforma AprendeProgramando en Python
Plataforma AprendeProgramando en Python

Para el aprendizaje de Python utilizamos la plataforma de aprendizaje guiado Aprende Programando en Python.


Domótica con Raspberry Pi

Como iniciación a la domótica podemos realizar diferentes prácticas utilizando una sencilla webcam conectada por USB o la propia PICAM de Raspberry Pi. Desde controlar una estancia de nuestra casa de forma remota a través del móvil utilizando el programa Motion hasta crear un timelapse con el programa fswebcam.

Domótica con Raspberry Pi
Domótica con Raspberry Pi


Electrónica con MicroPython

Para aprender a progrmar en MicroPython se puede utilizar la placa de electrónica Micro:bit.

BBCs Micro:bit es una pequeña placa de electrónica programable diseñada para aprender a programar de forma sencilla. Cuenta con diferentes sensores y actuadores con los que poder interactuar mediante programación. Y para programarla vamos a utilizar el editor Mu.

Electrónica con MicroPython
Electrónica con MicroPython


Pines GPIO + Arduino IDE

Los pines GPIO de la Raspberry Pi son un sistema de entrada y salida de propósito general, es decir, consta de una serie de pines o conexiones que se pueden usar como entradas o salidas para múltiples usos.

Un problema que podemos encontrarnos al utilizar los pines GPIO directamente desde la Raspberry Pi es la posibilidad de equivocarnos y dañar nuestra placa. Por eso mismo recomendamos utilizar una placa de Arduino conectada por puerto serie.

Pines GPIO + Arduino IDE
Pines GPIO + Arduino IDE


Internet de las cosas (IoT)

Internet de las cosas es la próxima ola de Internet. Básicamente, si un dispositivo se puede conectar a Internet, puede participar en una red mundial de sensores y dispositivos de salida. El uso de este Internet de las cosas, hará posible a los dispositivos más pequeños estar conectados entre sí con sistemas mucho más grandes

Con Raspberry Pi se puede utilizar este llamado internet de las cosas como explicamos en los tutoriales de nuestra plataforma.

Internet de las cosas (IoT)
Internet de las cosas (IoT)


Videojuegos con PyGame

PyGame es un módulo del lenguaje de programación Python que permiten la creación de videojuegos en dos dimensiones de una manera sencilla. Mediante PyGame podemos utilizar sprites (objetos), cargar y mostrar imágenes en diferentes formatos, sonidos, etc. Además, al ser un módulo destinado a la programación de videojuegos se puede monitorizar el teclado o joystick de una manera bastante sencilla.

Mediante el módulo PyGame se pueden desarrollar videojuegos en Python similares a los que aparecen en la versión de Raspbian para Raspberry Pi.

Videojuegos con PyGame
Videojuegos con PyGame


Programando sobre Minecraft Pi

Minecraft es un videojuego de tipo indie sandbox en el que construyes estructuras, recolectas objetos, extraes minerales y peleas con monstruos para sobreviri. Minecraft Pi Edition es una versión reducida para procesadores ARM como el de la Raspberry Pi.

Con tan solo 4 funciones se puede crear y personalizar un mundo educativo para utilizar en el aula. Para más información puedes acceder al curso de programación con Python en Minecraft de esta misma plataforma.

Un reto propuesto consiste en realizar unas mejoras a un laberinto programado en Python y preparado con las instrucciones básicas de Minecraft Pi.

Programando sobre Minecraft Pi
Programando sobre Minecraft Pi

Pueden crearse diferentes mejoras e implementaciones además de la posibilidad de utilizar los pines GPIO para interactuar con Minecraft conectando el mundo físico con el mundo digital.

Laberinto en Minecraft Pi con Pines GPIO
Laberinto en Minecraft Pi con Pines GPIO

Síguenos


A menos que se especifique lo contrario, todos los contenidos de este proyecto están bajo una licencia de Creative Commons Reconocimiento-CompartirIgual 4.0 Internacional.

This project is Open Source on GitHub and made with by @migueabellan

2015-2019 Asociación Programo Ergo Sum