You are on page 1of 28

CENTRO DE INVESTIGACIN Y

DE ESTUDIOS AVANZADOS
DEL I.P.N
DEPARTAMENTO DE INGENIERA
ELCTRICA
SECCIN MECATRNICA

ASIGNATURA:

TIEMPO REAL
CATEDRTICO:

DR, GERARDO SILVA NAVARRO

Raspberry Pi
ALUMNOS:
ESCUDERO GMEZ ADRIANA PIEDAD
HERNNDEZ FLORES EFRAN
PONCE ROJAS FERNANDO HORACIO
RODRGUEZ CARBAJAL LEONARDO

Contenido
INTRODUCCIN ................................................................................................................................... 2
HISTORIA ............................................................................................................................................. 2
Pre-lanzamiento .............................................................................................................................. 3
Lanzamiento .................................................................................................................................... 3
HARDWARE ......................................................................................................................................... 4
SoC (ARM vs X86) ............................................................................................................................ 5
CPU .................................................................................................................................................. 5
GPU.................................................................................................................................................. 5
RAM ................................................................................................................................................. 6
Almacenamiento ............................................................................................................................. 6
Salidas Video ................................................................................................................................... 6
Salidas Audio ................................................................................................................................... 6
Bus USB ........................................................................................................................................... 7
Tarjeta de red .................................................................................................................................. 7
Pines de entrada y salida de propsito general (Conector GPIO) ................................................... 7
Energa y Alimentacin.................................................................................................................... 7
(ARM vs X86) ................................................................................................................................... 7
S.O. soportados (Linux vs Windows/OS X) ...................................................................................... 8
PYTHON Y RASPBERRY....................................................................................................................... 10
RASPBERRY PI Y LA ELETRONICA DIGITAL ..................................................................................... 11
ACCESORIOS / PERIFERICOS .............................................................................................................. 12
ESPECIFICACIONES TCNICAS Y COMPARATIVA ENTRE VERSIONES ................................................. 14
EJEMPLOS BASICOS ........................................................................................................................... 16
Ejemplo 1. configuracin de pines GPIO ....................................................................................... 16
Ejemplo 2. Modulacin de ancho de pulso (PWM)....................................................................... 18
DIAGRAMAS ESQUEMTICOS DE ALGUNAS TARJETAS RASPBERRY PI. ............................................ 22
RASPBERRY PI 1 MODELO A Y B .................................................................................................... 22
RASPBERRY PI MODEL0 B+ ............................................................................................................ 26
RASPBERRY PI 3 MODEL0 B .......................................................................................................... 27

INTRODUCCIN
Raspberry PI es una placa computadora (SBC) de bajo coste, se podra decir que es un ordenador
de tamao reducido, del orden de una tarjeta de crdito, desarrollado en el Reino Unido por la
Fundacin Raspberry PI (Universidad de Cambridge) en 2011, con el objetivo de estimular la
enseanza de la informtica en las escuelas, aunque no empez su comercializacin sino hasta el
ao 2012.
El concepto es el de un ordenador desnudo de todos los accesorios que se pueden eliminar sin que
afecte al funcionamiento bsico. Est formada por una placa que soporta varios componentes
necesarios en un ordenador comn y es capaz de comportarse como tal.
A la raspberry Pi la han definido como una maravilla en miniatura, que guarda en su interior un
importante poder de cmputo en un tamao muy reducido. Es capaz de realizar cosas
extraordinarias.
Su sistema operativo oficial es una versin adaptada de Debian, denominada RaspBian, aunque
permite otros sistemas operativos, incluido una versin de Windows 10.

HISTORIA
Este proyecto fue ideado en 2006 pero no fue lanzado al mercado sino hasta febrero de 2012. Fue
desarrollado por un grupo de la Universidad de Cambridge y su misin era fomentar la enseanza
de las ciencias de la computacin a los nios. En enero de 2016 Google don ms de 15.000
Raspberry Pi para colegios en Reino Unido. La Raspberry Pi, es una excelente herramienta para
aprender electrnica y programacin
Los primeros diseos de Raspberry Pi se basaban en el microcontrolador Atmel ATmega644. Sus
esquemas y el diseo del circuito impreso estn disponibles para su descarga pblica.
En mayo de 2009, la Fundacin Raspberry Pi fue fundada en Caldecote, South Cambridgeshire,
Reino Unido como una asociacin caritativa que es regulada por la Comisin de Caridad de
Inglaterra y Gales.
La fundacin Raspberry Pi surge con un objetivo en mente: Desarrollar el uso y entendimiento de
los ordenadores en los nios. La idea es conseguir ordenadores portables y muy baratos que
permitan a los nios usarlos sin miedo, abriendo su mentalidad y educndolos en la tica del
brelo y mira cmo funciona. El idelogo del proyecto, David Braven, un antiguo desarrollador
de videojuegos, afirma que su objetivo es que los nios puedan llegar a entender el
funcionamiento bsico del ordenador de forma divertida, y sean ellos mismos los que desarrollen
y amplen sus dispositivos. El co-fundador de la fundacin es Eben Upton, un antiguo trabajador de
la empresa Broadcom, el cual es el responsable de la arquitectura de software y hardware de la
raspberry pi se puso en contacto con un grupo de profesores, acadmicos y entusiastas de la
informtica para crear un ordenador con la intencin de animar a los nios a aprender informtica
como lo hizo en 1981 el ordenador Acorn BBC Micro.
La fundacin da soporte para las descargas de las distribuciones para arquitectura ARM, Raspbian
(derivada de Debian), RISC OS y Arch Linux; y promueve principalmente el aprendizaje del lenguaje
de programacin Python, y otros lenguajes como Tiny BASIC, C y Perl.
2

Ilustracin 1 EBEN UPTON

El primer prototipo basado en ARM fue montado en un paquete del mismo tamao que una
memoria USB. Tena un puerto USB en un extremo y un puerto HDMI en el otro.

Pre-lanzamiento
En agosto de 2011, se fabricaron cincuenta placas Alpha del modelo inicial, el Model A (o modelo
A). En diciembre de 2011, 25 placas Beta del modelo B fueron ensambladas y probadas de un total
de 100 placas vacas. Durante las pruebas a las placas beta se encontr un error de diseo en los
pines que suministraban alimentacin a la CPU que sera arreglado en la versin final. Se hizo una
demostracin de la placa beta arrancando Linux.
Durante la primera semana de diciembre de 2011, se pusieron a subasta diez placas en eBay.
Debido al anticipado anuncio de puesta a la venta a final de febrero de 2012, la fundacin sufri
un colapso en sus servidores web debido a los refrescos de pginas desde los navegadores de
gente interesada en la compra de la placa.

Lanzamiento
El primer lote de 10.000 placas se fabric en Taiwn y China, en vez de Reino Unido, con esto se
consegua un abaratamiento en los costes de produccin y acortar el plazo de entrega del
producto, ya que, los fabricantes chinos ofrecan un plazo de entrega de 4 semanas y en el Reino
Unido de 12. Con este ahorro conseguido, la fundacin poda invertir ms dinero en investigacin
y desarrollo.
Las primeras ventas comenzaron el 29 de febrero de 2012 (Modelo B), al mismo tiempo se anunci
que el modelo A, que originalmente iba a tener 128 MB de RAM, tendra 256 MB. Las dos tiendas
que vendan las placas, Premier Farnell y RS Components, tuvieron una gran carga en sus
servidores inmediatamente despus del lanzamiento. En los seis meses siguientes llegaran a
vender 500.000 unidades.
El 16 de abril de 2012 los primeros compradores empezaron a informar que haban recibido su
Raspberry Pi. El 22 de mayo de 2012 ms de 20.000 unidades haban sido enviadas.
El 6 de septiembre se anunci que se llevara la produccin de placas al Reino Unido, a una fbrica
de Sony y que en ella se produciran 30.000 unidades cada mes, y se crearan 30 nuevos puestos
de trabajo.
El 4 de febrero de 2013, se lanz el modelo A, que vena con solo 256Mb de RAM y sin puerto
ethernet a un precio ms asequible que el modelo B.
3

En diciembre de 2015 se pueden comprar modelos con mejores prestaciones; Raspberry Pi 2


Model B - Placa base (ARM Quad-Core 900 MHz, 1 GB RAM, 4 x USB, HDMI, RJ-45) de
Raspberry Pi. Este modelo se puede comprar en Amazon por 41 euros. En febrero de 2016
sale a la venta un nuevo modelo, la versin 3 con las siguientes caractersticas: ARM QuadCore 1,2 GHz, 1 GB RAM, 4 x USB, HDMI, RJ-45 y una conectividad inalmbrica integrada de
802.11 b/g/n LAN y Bluetooth.

HARDWARE
El diseo general de la Raspberry Pi incluye:

Un Chipset Broadcom BCM2835, que contiene un procesador central (CPU) ARM1176JZF-S


a 700 MHz (el firmware incluye unos modos Turbo para que el usuario pueda hacerle
overclock de hasta 1 GHz sin perder la garanta),
Un procesador grfico (GPU) VideoCore IV
Un mdulo de 512 MB de memoria RAM (aunque originalmente al ser lanzado eran 256
MB).
Un conector de RJ45 conectado a un integrado lan9512 -jzx de SMSC que nos proporciona
conectividad a 10/100 Mbps
2 buses USB 2.0
Una Salida analgica de audio estreo por Jack de 3.5 mm.
Salida digital de video + audio HDMI
Salida analgica de video RCA
Pines de entrada y salida de propsito general
Conector de alimentacin microUSB
Lector de tarjetas SD

Ilustracin 2 Diseo General

Actualmente existen 2 modelos diferentes de Raspberry Pi. El primero, el modelo A, se diferencia


del modelo B, en que tiene un solo tiene un puerto USB, carece de controlador Ethernet, tiene
256MB de RAM por los 512MB del otro modelo y por supuesto cuesta menos que el modelo B, el
cual tiene dos puertos USB y controlador Ethernet 10/100. A pesar que el Modelo A no tiene un
4

puerto RJ45, se puede conectar a una red usando un adaptador USB-Ethernet suministrado por el
usuario. El Raspberry Pi no viene con reloj en tiempo real, por lo que el sistema operativo debe
usar un servidor de hora en red, o pedir al usuario la hora en el momento de arrancar el
ordenador. Sin embargo se podra aadir un reloj en tiempo real (como el DS1307) con una batera
mediante el uso de la interfaz IC.

Ilustracin 3 Modelo A

Modelo B

SoC (ARM vs X86)


El procesador en el interior de su Raspberry Pi es un procesador multimedia Broadcom BCM2835
system-on-chip (SoC). Esto quiere decir que la mayor parte de los componentes del sistema,
incluidos la CPU y la GPU junto con el audio y el hardware de comunicaciones, se encuentran
integrados dentro de aquel nico componente oculto ubicado justo debajo del chip de la memoria
de 512 MB en el centro de la placa. No es slo el diseo del SoC lo que hace al BCM2835 diferente
del procesador de un PC o porttil. Lo que lo hace tambin diferente es que utiliza una
arquitectura de conjunto de instrucciones distinta, conocida como ARM.

CPU
La CPU Contiene un ARM1176JZFS, con unidad de coma flotante, que funciona a 700Mhz y es
capaz de soportar overclock a 1GHZ en modo TURBO que hace que el SoC de ms rendimiento
sin reducir el tiempo de vida de la placa y sin perder la garanta. La CPU est basada en la versin 6
de la arquitectura ARM, la cual no es soportada por una gran cantidad de distribuciones Linux,
incluyendo Ubuntu.

GPU
La GPU utilizada es una Dual Core VideoCore IV Multimedia Co-Processor. Es capaz de mover
contenidos con calidad Bluray, usando H.264 hasta 40MBits/s. Dispone un ncleo 3D con soporte
para las libreras OpenGL ES2.0 y OpenVG. Es capaz de decodificar 1080p30.

RAM
La memoria RAM es de 512MB de SDRAM (en su modelo B), en un nico mdulo, el cual, funciona
a 400Mhz en su modo normal y alcanzando los 600Mhz en su versin TURBO.

Almacenamiento
La Raspberry Pi no tiene un disco duro tradicional, para ello dispone de un lector/ranura para
memorias SD, un sistema de almacenamiento en estado slido. El arranque del sistema se har
desde la propia tarjeta SD, con lo que debido a que tiene que albergar todo el sistema operativo,
es necesario que la tarjeta sea de al menos 2 GB de capacidad para almacenar todos los archivos
requeridos.
Estn disponibles Tarjetas SD con el sistema operativo precargado en la tienda oficial de la
Raspberry Pi, si no es as para poder arrancar el S.O. ser necesario primero instalar (flashear) un
sistema operativo en la tarjeta antes de poder trabajar con ella. Tras el arranque inicial de la SD se
puede trabajar con almacenamiento de algn dispositivo de disco por USB.

Salidas Video
Para la salida de video la Raspberry posee un Conector RCA o Video Compuesto (PAL y NTSC), un
conector HDMI (rev 1.3 y 1.4) y una Interfaz DSI para paneles LCD.
El video compuesto est diseado para conectar la Raspberry Pi a los antiguos dispositivos de
pantalla. Como su nombre lo indica, el conector crea una compuesto de colores que se encuentran
dentro de una imagen (rojo, verde y azul) y lo enva por un slo cable al dispositivo de
visualizacin, comnmente las viejas TV de tubo de rayos catdicos (CRT). La calidad, sin embargo,
no ser la mejor. Las conexiones de video compuesto son significativamente ms propensas a la
interferencia, faltas de claridad y funcionan a una resolucin limitada.
Una mejor calidad de imagen puede obtenerse usando el conector HDMI (High Definition
Multimedia Interface). A diferencia de la conexin analgica de video compuesto, el puerto HDMI
proporciona una conexin digital de alta velocidad para mostrar imgenes de pxeles perfectos
tanto en monitores de PC como en televisores de alta definicin. Al utilizar el puerto HDMI, la
Rasberry Pi puede desplegar imgenes a la resolucin de 19201080 Full HD. A esta resolucin, el
detalle sobre la pantalla es significativamente superior.
La ltima salida de video que tiene la Raspberry es la conocida como Display Serial Interface (DSI),
que se utiliza en los monitores de pantalla plana de las tablets y los smartphones.

Salidas Audio
Para la salida de audio posee un conector de audio Jack de 3,5mm, adems del propio HDMI. Si se
est usando el puerto HDMI de la Raspberry Pi, obtener el audio es sencillo: cuando est
configurado apropiadamente, el puerto HDMI transporta ambas seales, la de video y la de audio.
Esto significa que conectando un nico cable a la pantalla es suficiente para sacar video y audio. Si
el display no tiene entrada HDMI se tendra que utilizar la salida de audio Jack.

Bus USB
El modelo B posee 2 puertos USB 2.0 (va hub USB integrado), por 1 solo puerto del modelo A.

Tarjeta de red
Tenemos a nuestra disposicin un conector RJ-45 conectado a un integrado lan9512 -jzx de SMSC
que nos proporciona conectividad a 10/100 Mbps.
Es posible conectar la raspberry directamente a un PC sin pasar por un router conectando ambos
equipos de manera directa con un cable RJ45, sin tener que utilizar un cable cruzado, ya que el
conector de red incluye una caracterstica conocida como auto-MDI, lo que le permite
reconfigurarse automticamente.
Los modelos actuales de la Raspberry Pi no cuentan con la caracterstica integrada para gestionar
redes inalmbricas, pero (igual que con el cable Ethernet aadido en el Modelo A) es posible
aadir soporte Wi-Fi a cualquier Raspberry utilizando un adaptador USB para red inalmbrica
(incluyendo las del estndar 802.11n).

Pines de entrada y salida de propsito general (Conector GPIO)


Posee un conector de GPIO de 8 pines, sin un propsito especfico, cuyo comportamiento
(incluyendo si es un pin de entrada o salida) se puede controlar (programar) por el usuario en
tiempo de ejecucin.

Energa y Alimentacin
La placa carece de botn de encendido y apagado, con lo que la energa le llega mediante un
conector micro USB estndar de 5V. El consumo de la placa es de 700mA, (3,5W).
Muchos cargadores diseados para smartphones funcionarn con la Raspberry Pi, pero no todos,
ya que, algunos solo suministran hasta 500mA y la Raspberry consume ms energa que la mayora
de los dispositivos micro-USB y requiere de al menos 700mA para funcionar.

(ARM vs X86)
Desarrollada por Acorn Computers aos atrs a finales de 1980, la arquitectura ARM es
relativamente poco conocida en el mundo de las computadoras de escritorio. En donde destaca,
sin embargo, es en los dispositivos mviles: el telfono de vuestro bolsillo es casi seguro que
cuenta con al menos un ncleo de procesamiento basado en ARM escondido en su interior.
La combinacin de la arquitectura RISC (Simple Reduced Instruction Set) y su bajo consumo
energtico lo convierten en la opcin perfecta frente a los chips de computadoras de escritorio
que demandan altos consumos y arquitecturas CISC (Complex Instruction Set).
El BCM2835 basado en ARM es el secreto que explica cmo la Raspberry Pi es capaz de funcionar
con tan slo una fuente de alimentacin de 5V 1A suministrada por el puerto micro-USB a bordo.
Es tambin la razn por la cual no hay ningn disipador trmico sobre el dispositivo: el bajo
7

consumo de energa del chip se traduce directamente en muy poco calor residual, incluso durante
las tareas de procesamiento ms complejas.
Todo esto, sin embargo, significa que la Raspberry Pi no es compatible con el software de los PC
tradicionales. La mayora del software para ordenadores de escritorio y porttiles se construyen
teniendo en cuenta la arquitectura de conjunto de instrucciones x86, presente en los
procesadores como AMD, Intel y VIA. Por consiguiente, este software no funciona en la Raspberry
Pi que se basa en la arquitectura ARM.
El BCM2835 utiliza una generacin del diseo del procesador ARM conocida como ARM11, que a
su vez est diseada en torno a una versin de la arquitectura de conjunto de instrucciones
conocida como ARMv6. Vale la pena recordar que ARMv6 es una arquitectura ligera y potente,
pero tiene un rival en la arquitectura ms avanzada, el ARMv7 utilizada por la familia de
procesadores ARM Cortex. El software desarrollado para la ARMv7, al igual que el desarrollado
para la x86, es por desgracia incompatible con el BCM2835 de la Raspberry Pi, aunque los
desarrolladores generalmente pueden convertir el software para adecuarlo.
Esto no quiere decir que vaya a estar limitada en sus opciones. Como se descubrir ms adelante,
hay un montn de software disponible para el conjunto de instrucciones ARMv6, y en tanto que la
popularidad de la Raspberry Pi sigue aumentado, el software disponible va a seguir creciendo.

Ilustracin 4 Procesador ARM

S.O. soportados (Linux vs Windows/OS X)


Otra diferencia importante entre la Raspberry Pi y el PC de escritorio o porttiles, aparte de su
tamao y su coste, es el sistema operativo (el software que permite controlar el ordenador) que
utiliza.
La mayora de los PCs y porttiles disponibles hoy en da funcionan con alguno de estos dos
sistemas operativos: Microsoft Windows o Apple OS X. Ambas plataformas son de cdigo cerrado,
creados en un ambiente reservado utilizando tcnicas patentadas. Estos sistemas operativos son
conocidos como de cdigo cerrado por la naturaleza de su cdigo fuente, es decir, la receta en
8

lenguaje de computadora que le dice al sistema que hacer. En el software de cdigo cerrado, esta
receta es mantenida como un secreto muy bien guardado. Los usuarios pueden obtener el
software terminado, pero nunca ver cmo est hecho.
La Raspberry Pi, por el contrario, est diseada para ejecutar el sistema operativo GNU/Linux. A
diferencia de Windows u OS X, Linux es de cdigo abierto. Esto quiere decir que es posible
descargar el cdigo fuente del sistema operativo por completo y hacer los cambios que uno desee.
Nada es ocultado, y todos los cambios hechos estn a la vista del pblico. Este espritu de
desarrollo de cdigo abierto ha permitido a Linux rpidamente ser modificado para poder
ejecutarse sobre la Raspberry Pi, un proceso conocido como portabilidad.
Varias versiones de Linux (conocidas como distribuciones) han sido portadas al chip BCM2835 de
la Raspberry Pi, incluyendo Debian, Fedora Remix y Arch Linux. Las distintas distribuciones
atienden diferentes necesidades, pero todas ellas tienen algo en comn: son de cdigo abierto.
Adems, por lo general, todas son compatibles entre s: el software escrito en un sistema Debian
funcionar perfectamente bien en uno con Arch Linux y viceversa.
Igual que con la diferencia entre la arquitectura ARM y la x86, hay un punto clave que hace la
diferencia prctica entre Windows, OS X y Linux: el software escrito para Windows u OS X no
funciona en Linux. Afortunadamente, hay un montn de alternativas compatibles para la gran
mayora de los productos de software comunes y lo mejor, casi todos son de libre uso y de cdigo
abierto como lo es el propio sistema operativo. Actualmente existen todos los siguientes S.O.
compatibles, ya sean S.O. completos o versiones modificadas/portadas, que funcionan
perfectamente en el dispositivo Raspberry Pi:
Sistemas operativos completos:
Linux :
o Android97
o Arch Linux ARM
o Debian Whezzy Soft-Float, versin de Debian sin soporte para coma flotante por
hardware
o Firefox OS
o Gentoo Linux 98
o Google Chromium OS
o Kali Linux
o Open webOS99
o PiBang Linux100 , distribucin Linux derivada de Raspbian con diferente escritorio
y aplicaciones
o Pidora, versin Fedora Remix optimizada101
o QtonPi, distribucin linux con un framework de aplicaciones multiplataforma
basado en Qt framework
o Raspbian102 , versin de Debian Wheezy para ARMv6 con soporte para coma
flotante por hardware
o Slackware ARM, tambin conocida como ARMedslack
o Plan 9 from Bell Labs103 104

RISC OS 52
Unix:
o FreeBSD105
o NetBSD106 107

PYTHON Y RASPBERRY
Python es el lenguaje de programacin que es recomendado por los fundadores de la Raspberry
Pi, ya que al ser un lenguaje de programacin de alto nivel, es un lenguaje de sintaxis sencilla y
clara que puede venir bien en los temas de educacin. Otra de las razones, por las cuales fue
adoptado como lenguaje de programacin que utiliza la Raspberry Pi para aprender a programar,
ha sido la gran documentacin y herramientas que tiene, adems como ya habamos comentado
es muy fcil de aprender.
Es un lenguaje interpretado o de script, fuertemente tipado y dinmico, es multiplataforma y es
orientado a objetos. Adems, es un lenguaje bastante potente y con muchas libreras que nos
ayudan a realizar casi cualquier cosa.
Python viene instalado en la distribucin Raspbian, al igual que IDLE, un entorno de desarrollo
integrado para programar en lenguaje Python.

Ilustracin 5 IDLE viene instalado en la mayora de distribuciones para Raspberry

10

RASPBERRY PI Y LA ELETRONICA DIGITAL


Una de las grandes bondades de la Raspberry PI, es su puerto GPIO, puertos de entrada-salida
programables que pueden ser controlados por el usuario, vamos que podemos aplicar 0 1
cuando nos plazca, adems claro est, poder leer en qu estado se encuentran los mismos. As
pues es posible conectarle todo tipo de dispositivos para realizar pruebas y prcticas de
electrnica digital, como pueden ser, diodos LED, displays, LCD, rels, etc.

Ilustracin 6 Raspberry PI conectada a un display de 7 segmentos

Una de las formas de programar el puerto GPIO de la raspberry ms utilizado y sencillo, es hacer
por medio de QT creator. Qt es una biblioteca multiplataforma ampliamente usada para
desarrollar aplicaciones con interfaz grfica de usuario, como herramientas para la lnea de
comandos y consolas para servidores.

Ilustracin 7 Interfaz de QT creator

Pero tambin es posible controlar el puerto GPIO por ejemplo, directamente con python si no
necesitamos ninguna interfaz grfica, las libreras (python) para el control del puerto GPIO vienen
ya pre-instaladas en el sistema operativo Raspbian.

11

ACCESORIOS / PERIFERICOS
Gracias al xito y las ventas Raspberry PI, numerosos perifricos y carcasas son comercializados
por empresas ajenas a la fundacin.
Por ejemplo la Gertboard, que ha sido creada con propsito educativo, sirve para hacer uso del
puerto GPIO y poder interaccionar con LEDs, interruptores, seales analgicas, sensores, y otros
dispositivos. Tambin incluye un controlador opcional para Arduino para poder interaccionar con
el Raspberry Pi.
Muchos fabricantes ofrecen carcasas de todo tipo, que se pueden comprar en tiendas online por
todo internet, para proteger la Raspberry y no dejarla como una placa desnuda.

Ilustracin 8 Carcasa transparente para Raspberry PI

En noviembre del 2012, se present un mdulo de cmara para Raspberry PI, con un sensor de 5
megapixels y que podra grabar vdeo a 1080p H.264 a 30 fotogramas por segundo. Finalmente el
mdulo se puso a la venta el 14 de mayo de 2013 en los principales proveedores. Ms tarde, a
finales de octubre de 2013 se puso a la venta tambin, un mdulo de cmara de infrarrojos. La
cmara. Al igual que la placa, viene sin carcasa protectora.

Ilustracin 9 Cmara para Raspberry PI

12

Tambin es posible aumentar las capacidades de Raspberry PI comprando placas de expansin. Se


conectan al socket de la Raspberry Pi. Una serie de pines en la placa se utilizan para configurar la
placa segn las necesidades, ya sea para detectar pulsadores, voltajes analgicos, controlar
motores o rels por ejemplo. Estas placas ofrecen mucho potencial para sacarle ms partido a
Raspberry Pi.

Ilustracin 10 PIaca de expansin Getboard para Raspberry PI

Adems la reciente aparicin de Raspberry Pi ha supuesto una autntica revolucin para


proyectos que necesitan mucha potencia y complejidad, como puede ser hacer pequeos robots.
La Raspberry dispone de un conector que permite conectarle hardware externo pero no permite
conectar directamente motores. Eso es precisamente lo que hace esta placa, la RaspiRobot,
permite conectar hasta 2 motores de corriente continua de forma fcil y rpida convirtiendo
Raspberry Pi en una potente controladora de robots.

Ilustracin 11 Placa RaspiRobot para Raspberry PI

13

ESPECIFICACIONES TCNICAS Y COMPARATIVA ENTRE VERSIONES


Raspberry Pi 1

Raspberry

Raspberry

Raspberry Pi

Raspberry Pi 3 Modelo

Modelo A

Pi 1 Modelo

Pi 1 Modelo

2 Modelo B

B+

Broadcom BCM2835

Broadcom

Broadcom BCM2837

(CPU + GPU + DSP+ SDRAM + puerto USB)

BCM2836

(CPU + GPU + DSP +

(CPU + GPU +

SDRAM + Puerto USB

SoC

DSP +
SDRAM +
Puerto USB)

CPU:

ARM 1176JZF-S a 700 MHz (familia ARM11)

900 MHz

1.2GHz 64-bit quad-

quad-core

core ARMv8

ARM Cortex
A7

Juego de

RISC de 32 bits

instrucciones:

GPU:

Broadcom VideoCore IV, OpenGL ES 2.0, MPEG-2 y VC-1 (con licencia), 1080p30 H.264/MPEG-4
AVC

Memoria

256 MiB(compartidos

512 MiB (compartidos con

(SDRAM):

con la GPU)

la GPU) desde el 15 de

1 GB (compartidos con la GPU)

octubre de 2012

Puertos USB2.0:

2 (va hub

USB
integrado)

Entradas de

Conector MIPI CSI que permite instalar un mdulo de cmara desarrollado por la RPF

vdeo:

14

Salidas de vdeo:

Conector RCA (PAL y NTSC), HDMI (rev1.3 y 1.4), Interfaz DSI para panel LCD

Salidas de audio:

Conector de 3.5 mm, HDMI

Almacenamiento

SD / MMC / ranura para SDIO

MicroSD

integrado:

Conectividad de

Ninguna

10/100 Ethernet (RJ-45) via hub USB

10/100 Ethernet (RJ-45)

red:

va hub USB, Wifi


802.11n, Bluetooth 4.1

Perifricos de

8 x GPIO, SPI, IC, UART

17 x GPIO y un bus HAT ID

bajo nivel:

Reloj en tiempo

Ninguno

real:

Consumo
energtico:

Fuente de

500 mA, (2.5 W)

700 mA,

600 mA,

(3.5 W)

(3.0 W)

800 mA, (4.0 W)

5 V va Micro USB o GPIO header

alimentacin:

Dimensiones:

85.60mm 53.98mm (3.370 2.125 inch)

Sistemas

GNU/Linux: Debian (Raspbian), Fedora (Pidora), Arch Linux (Arch Linux ARM), Slackware Linux.

operativos
soportados:

RISC OS

15

EJEMPLOS BASICOS
Ejemplo 1. configuracin de pines GPIO
El objetivo de este ejemplo es configurar los pines GPIO de Raspberry PI 3 modelo B; para ello es
necesario instalar la librera RPi.GPIO y se utilizara Python para programar las salidas de los pines.

Los chips y circuito de la Raspberry PI 3 modelo B funcionan con 3.3 volts, si se llegara a conectar
un sensor que envi una seal de 5v a travs de los GPIO es probable que la tarjeta sufra una
descompostura. Cada uno de los pines tiene dos nombres, segn su sistema de numeracin: BCM
y Board. A continuacin, se muestra un esquema de los puertos de la tarjeta.

Para poder ubicar cada uno de los pines se tiene que el pin 1 ser el que est ms cerca de la
tarjeta SD
En especial para este ejemplo es necesario contar con

Una Raspberry PI 3 modelo B. Con Raspbian instalado o alguna versin de Linux.


16

Cable Ethernet o antena WiFi


Adaptador de corriente
LED, pulsadores y resistencia de 150 ohmios aproximadamente.
Perifricos (cable, ratn, pantalla, etc.)

Como primer punto se tiene la comprobacin de la instalacin de la librera RPi.GPIO y saber que
versin se tiene instalada, se tiene que abrir la terminal y escribir lo siguiente:
Sudo Python
Dentro de la consola de Python se comprueba la versin
Import RPi.GPIO
RPi.GPIO.VERSION
Si no se tiene instalada la librera o se tiene una versin sin actualizacin se puede obtener la
instalacin de la siguiente manera
sudo apt-get update
sudo apt-get upgrade
Para actualizar la versin de la librera
Wget https://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.5.4.tar.gz
tar zxf RPi.GPIO-0.5.4.tar.gz
cd RPi.GPIO-0.5.4.tar.gz
sudo python setup.py install
Para interactuar con los pines se tiene el siguiente cdigo y se necesita el montado del circuito
mostrado en la ilustracin, el cdigo mostrado en la imagen encender y apagara LED.

Para ejecutar el programa tenemos que poner la siguiente instruccin


17

sudo python blink.py


Si est todo bien, deberamos ver como se apaga y se enciende el LED en intervalos de un
segundo. Esto significa que la librera funciona correctamente y est todo preparado para realizar
proyectos de mayor complejidad.

Ejemplo 2. Modulacin de ancho de pulso (PWM)

En la figura anterior se muestra el circuito en el cual, si el interruptor est cerrado de forma


continua durante un perodo de tiempo, el LED estar en ON durante este tiempo de forma
continua. Si el interruptor est abierto por un segundo, entonces estar el LED estar en
OFF. Ahora la proporcin del tiempo en que el LED est encendido durante el tiempo total se
denomina el ciclo de trabajo, y se puede calcular de la siguiente manera:
= / ( + )
= (1 / (1 + 1)) = 50%
As la tensin de salida promedio ser 50% de la tensin de la batera.
Se va a programar en la Raspberry PI 3 modelo B un PWM y se conectar un LED para mostrar su
trabajo.

Hay 40 pines de salida GPIO en la Raspberry PI 3 modelo B. Pero de los 40, slo 26 pines GPIO
(GPIO2 a GPIO27) se pueden programar.
18

Componentes necesarios para la implementacin


Aqu estamos utilizando Raspberry Pi 3 Modelo B con Raspbian. Todos los requisitos bsicos de
hardware y software se encuentran en la tarjeta, Aparte de la tarjeta solo se necesita

clavijas de conexin

220 o 1Kresistor

LED

el tablero de pan

Como se muestra en el diagrama del circuito que se


necesita conectar un LED entre el PIN35 (GPIO19) y
PIN39 (tierra). Como se dijo anteriormente, no
podemos llegar a ms de 15 de cualquiera de
estos pines, por lo que para limitar la corriente
estamos conectando una resistencia de 220 o 1 kW
en serie con el LED.

Funcionamiento general del proyecto:


Una vez que el circuito se encuentra cableado y la tarjeta conectada, se puede encenderla
Raspberry Pi 3 Modelo B y se puede empezar a escribir el programa en pyhton y ejecutarlo.
Para la ejecucin del programa es necesario la aclaracin de la implementacin de algunos
comandos que se van a utilizar en el programa en Python. De la misma forma que en el ejemplo
anterior vamos a importar el archivo de la biblioteca de GPIO, por debajo de la funcin nos
permite programar pines GPIO de la Frambuesa Pi 3 Modelo B. Tambin est cambiando el
nombre "GPIO" a "IO", por lo que en el programa cada vez que queremos hacer referencia a los
pines GPIO que vamos a utilizar la palabra 'IO'.

Importacin RPi.GPIO como IO


Podemos referirnos a los pines GPIO de la Raspberry Pi 3 Modelo B, ya sea por el nmero de pin a
bordo o por su nmero de funcin. En el diagrama pasador, se puede ver 'PIN 35' en el tablero es
'GPIO19'. As que decimos aqu tampoco vamos a representar el pasador aqu por "35" o "19".
19

IO.setmode (IO.BCM)
Estamos estableciendo GPIO19 (o PIN35) como pin de salida. Vamos a obtener una salida PWM
de este pin.
IO.setup (19, IO.IN)

Despus de configurar el pin como salida tenemos que configurar el pin como pin de salida PWM,

p = IO.PWM (canal de salida, la frecuencia de la seal PWM)


El comando anterior es para configurar el canal y tambin para establecer la frecuencia de la
seal PWM. 'P' aqu es una variable que puede ser cualquier cosa. Estamos utilizando GPIO19
como el canal de salida PWM. 'Frecuencia de la seal PWM ha sido elegido 100,
El siguiente comando se utiliza para iniciar la generacin de la seal PWM, "ciclo de trabajo" se
utiliza para configurar el giro en relacin, 0 significa que el LED se encender el 0% del tiempo, el
30 significa que el LED se encender el 30% de las veces y 100 significa por completo en .

p.start (ciclo de trabajo)


Este comando se ejecuta el bucle 50 veces, siendo X incrementado 0-49.
for x in range (50):
Mientras que 1: se utiliza para el bucle infinito. Con este comando las sentencias dentro de este
bucle se ejecutarn de forma continua. Con el programa que est siendo ejecutado, el ciclo de
trabajo de los aumentos de seal PWM. Y luego disminuye despus de alcanzar el 100%. Con un
LED conectado a este PIN, el brillo de los LED aumenta primero y luego disminuye.

20

Cdigo:
importacin RPi.GPIO como IO #calling archivo de cabecera que nos ayuda a usar
GPIO de PI
tiempo de importacin tiempo #calling para proporcionar los retrasos en el
programa
IO.setwarnings (Falso) #No no mostrar ninguna advertencia
IO.setmode (IO.BCM) #we est programando el GPIO por nmeros de pin de
BCM. (PIN35 como 'GPIO19')
IO.setup (19, IO.OUT) # inicializar GPIO19 como una salida.
p = IO.PWM (19100) # GPIO19 como salida PWM, con frecuencia de 100 Hz
p.start (0) #generate seal PWM con ciclo de trabajo 0%
mientras que 1: #execute bucle infinito
for x in range (50): #execute bucle de 50 veces, siendo X incrementado 0 a 49.
ciclo de trabajo p.ChangeDutyCycle (x) #Cambiar para variar el brillo del LED.
time.sleep (0,1) #sleep para la segunda 100m
for x in range (50): #execute bucle de 50 veces, siendo X incrementado 0 a 49.
p.ChangeDutyCycle (50-x) #Cambiar ciclo de trabajo para cambiar el brillo de los
LED.
time.sleep (0,1) #sleep para la segunda 100m

21

DIAGRAMAS ESQUEMTICOS DE ALGUNAS TARJETAS RASPBERRY PI.


RASPBERRY PI 1 MODELO A Y B

22

23

24

25

RASPBERRY PI MODEL0 B+

26

RASPBERRY PI 3 MODEL0 B

27

You might also like