RASPBERRY PI ++: PROPUESTA DE USO DE RASPBERRY PI EN LA ASIGNATURA DE PROYECTO HARDWARE
AUTOR MIGUEL ÁLVAREZ AMADADIRECTOR FRANCISCO J. MARTÍNEZ DOMÍNGUEZ
JUNIO 2013
INDICE
• I. PROYECTO
• II. OBJETIVOS
• III. LA PLACA
• IV. RASPBIAN
• V.GPIO
• VI. PROGRAMACIÓN PERIFÉRICOS
• VII. DIFUSIÓN DE RESULTADOS
• VIII.CONCLUSIONES
E.U.P.T. 3
I. PROYECTO
• ORIGEN “PROYECTO HARDWARE”
• EJECUCIÓN 1/10/12 AL 5/06/2013
• METODOLOGÍA DE TRABAJO OPEN UP
• COSTE APROXIMADO 104,31 €
• + 850 VISITAS EL BLOG
JUNIO 2013
E.U.P.T. 4
II. OBJETIVOSBUSCAR ALTERNATIVAS A EMBEST IDE Y
S3CEV40
SOBRE RASPBERRY PI:• ANÁLISIS HARDWARE
– DOCUMENTACIÓN OFICIAL– HERRAMIENTAS
• SISTEMA OPERATIVO– INSTALAR Y CONFIGURAR– SSH , SAMBA Y ESCRITORIO REMOTO
JUNIO 2013
E.U.P.T. 5
II. OBJETIVOS
• PROGRAMACIÓN PERIFÉRICOS– COMPILADOR Y DEPURADOR C Y
ARM– PROGRAMAR EN C: LED, BOTÓN,
PANTALLA LCD, 7-SEGMENTOS Y TECLADO HEXADECIMAL
– PLANTEAR PRÁCTICAS PARA P.H.– DIFUNDIR RESULTADOS
JUNIO 2013
V. GPIO
• GENERAL PURPOSE INPUT/OUTPUT• 26 PINES• MÁXIMA INTENSIDAD 300 mA• TIPOS DE PINES
– PROGRAMABLES : INPUT / OUTPUT– BUS I2C, PERIFÉRICO SERIE,…
• PROBLEMA CON NOMBRES: NOMBRE GPIO, BCM, # RASPBERRY PI.
VI. PROGRAMACIÓN DE PERIFÉRICOSCOMPILADORES
• gcc, as y ld
PROGRAMA FUENTE (.C)
PROGRAMA ENSAMBLADOR (.S)
PROGRAMA EJECUTABLE
PROGRAMA OBJETO (.O)
gcc -S
as
ld gcc
gcc -c
gcc
VI. PROGRAMACIÓN DE PERIFÉRICOSDEPURADORES
• gdb– Línea de comandos– Necesita información de depuración
• A partir de .c: gcc –g• A partir de .s: as –gstabs
as –gstabs –o suma.o suma.s
ld -dynamic-linker /lib/ld-linux.so.3 -lc –o suma suma.o
– Información sobre registros, memoria, consultar registros, cambiar valor,…
VI. PROGRAMACIÓN DE PERIFÉRICOSDEPURADORES
• ddd– Entorno gráfico– Necesita información de depuración
• A partir de .c: gcc –g• A partir de .s: as –gstabs
– Información sobre registros, memoria, consultar registros, cambiar valor,…
– Tiene bastantes bug: no permite depurar programas .s, zonas de memoria,…
VI. PROGRAMACIÓN DE PERIFÉRICOSSYSFS, GPIO Y LIBRERÍA WIRING
PI• SYSFS
– PINES MAPEADOS /sys/class/gpio– NUMERACIÓN BCM– SÓLO PUEDE ROOT– EJEMPLO SOBRE PIN N
• echo n > /sys/class/gpio/export• echo out > /sys/class/gpio/gpion/direction• echo 1 > /sys/class/gpio/gpion/value• echo n > /sys/class/gpio/unexport
VI. PROGRAMACIÓN DE PERIFÉRICOSSYSFS, GPIO Y LIBRERÍA WIRING
PI• GPIO
– COMANDO FACILITADO POR LIBRERÍA WIRING PI
– OTRA NUMERACIÓN– NO HACE FALTA SER ROOT– EJEMPLO SOBRE PIN BCM N
• gpio -g mode N out• gpio -g write N 1
VI. PROGRAMACIÓN DE PERIFÉRICOSSYSFS, GPIO Y LIBRERÍA WIRING
PI• LIBRERÍA WIRING PI (RESUMEN)
– Desarrollada por Gordon Henderson
– Ejecutar programas como root
– Funciones constructoraswiringPiSetup , wiringPiSetupGpio, wiringPiSetupSys
– Funciones generalespinMode, digitalWrite, digitalRead, pullUpDnControl
– Programación ThreadpiThreadCreate
– Función de interrupciónwiringPiISR
VI. PROGRAMACIÓN DE PERIFÉRICOSMATERIALES EMPLEADOS
• PLACA DE PRUEBAS, PROTOBOARD O BREADBOARD
• CABLEADO• CINTA PARA LA GPIO• CONECTOR GPIO A LA PROTOBOARD• MULTÍMETRO• RESISTENCIAS
VI. PROGRAMACIÓN DE PERIFÉRICOSMATERIALES EMPLEADOS
• LED• BOTON• REGULADOR DE VOLTAJE• PANTALLA DE 7 SEGMENTOS DE 4
DÍGITOS• PANTALLA LCD 16 X 2• TECLADO DE MEMBRANA
VII. DIFUSIÓN
• SOURCEFORGE– PÁGINA DEL PROYECTO (VER)– DESCARGAS CÓDIGO
• BLOGGER – EXPERIENCIAS Y EXPERIMENTOS (
VER)– VENTAJAS DE PÁGINA DINÁMICA– NO HAY QUE PROGRAMARLA
VIII. CONCLUSIONES• Nuevos periféricos e infinitas posibilidades• Importancia de la electrónica• Problemática en la documentación: poca,
foros, inexactitudes• Técnica contador 4 dígitos 7-segmentos
pantalla• Eficiencia energética• Problemática en clase: dificultad circuitos,
encontrar piezas similares y conocimientos linux.