24 - PRÁCTICAS - Raspberry Pi

Volver al curso

24.1 - Entradas y salidas digitales → BASH

Si te llamas Juan o Jaime, estás exento de esta práctica.

Crea el script: touch scriptbash.sh (suelen llevar extensión “.sh”). Ponle permisos de ejecución con chmod a+x scriptbash.sh y edítalo con nano scriptbash.sh Ejemplo de código bash:

#!/bin/bash

echo "Encendiendo PC"
echo "21" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio21/direction
echo "1" > /sys/class/gpio/gpio21/value
sleep 1
echo "0" > /sys/class/gpio/gpio21/value
echo "21" > /sys/class/gpio/unexport

Ejecútalo con ./scriptbash.sh

Otro ejemplo:

echo "Pulsador en GPIO5 y LED en GPIO17"
echo "17" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio17/direction
echo "5" > /sys/class/gpio/export
echo "in" > /sys/class/gpio/gpio5/direction

while true; do
        read pulsador < /sys/class/gpio/gpio5/value
        if [ $(cat "/sys/class/gpio/gpio5/value") -eq 1 ]; then
                echo "1" > /sys/class/gpio/gpio17/value
                echo "on"
        else
                echo "0" > /sys/class/gpio/gpio17/value
                echo "off"
        fi
done

Ejecútalo con ./scriptpushbash.sh

24.1 - Entradas y salidas digitales → Python

Si te llamas Juan o Jaime, estás exento de esta práctica.

Para ver las dos numeraciones de pines (la de números y la Broadcom): gpio readall o bien pinout

En el medio tienes la numeración de la placa, en el exterior la GPIO Broadcom
En el medio tienes la numeración de la placa, en el exterior la GPIO Broadcom

Similar al anterior pero con fichero “.py”

#!/usr/local/bin/python

# PROGRAMA EN PYTHON PARA RASPBERRY CON LED Y PULSADOR
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD) # pines por numeración de placa, no BCM
# GPIO.setmode(GPIO.BCM)   # Para numeración GPIO Broadcom
GPIO.setup(3, GPIO.IN)
GPIO.setup(7, GPIO.OUT)

while True:
   if GPIO.input(3):
      GPIO.output(7, False)
   else:
      GPIO.output(7, True)

Tutorial https://raspi.tv/2013/rpi-gpio-basics-4-setting-up-rpi-gpio-numbering-systems-and-inputs

24.3 - Usar el UART de la Raspberry para conectarse a otro equipo

Las conexiones serie tienen dos roles:

El UART de la Raspberry se ajusta en /boot/cmdline.txt con el texto console=ttyAMA0,115200 console=tty1

Puedes ver el listado de puertos UART haciendo ls /dev/tty*

Información sobre los UARTs de las Raspberry: https://www.raspberrypi.org/documentation/configuration/uart.md

Más info: https://elinux.org/RPi_Serial_Connection

24.4 - Programar Arduino o ESP32 desde la línea de comandos

Instala arduino-cli. Cablea un Arduino por USB o una ESP32 por UART. Prueba a mandar un sketck, por ejemplo un “blink” desde la línea de comandos.

24.5 - OPCIONAL - Sense hat emulator

El sense hat es una placa de 30€. Es cara, pero emularla sale gratis: https://atareao.es/tutorial/raspberry-pi-400/sense-hat-emulator/politica-de-cookies/

24.6 -

En construcción


Volver al curso