16
 Guia Rapida Raspberry Pi B+ 512M No de Parte: RASPBERRY-MODB+-512M Descripción: Esta tarjeta es casi de tamaño de una tarjeta de crédito que es capaz de hacer muchas de las tareas que hace una PC de escritorio, como hojas de c álculo, procesadores de texto y juegos. También reproduce vídeo de alta definición. Puede ejecutar varias versiones de Linux y est á siendo usado para enseñar a los niños de todo el mundo a programar. Introducción: A continuación se muestra una imagen de la Raspberry Pi B+, en la cual, se especifican sus partes.

Guia Rapida Raspberry

  • View
    77

  • Download
    2

Embed Size (px)

DESCRIPTION

Manual de raspberry b

Citation preview

  • Guia Rapida Raspberry Pi B+ 512M

    No de Parte: RASPBERRY-MODB+-512M

    Descripcin:

    Esta tarjeta es casi de tamao de una tarjeta de crdito que es capaz de hacer muchas de las tareas que hace una PC de escritorio, como hojas de clculo, procesadores de texto y juegos. Tambin reproduce vdeo de alta definicin. Puede ejecutar varias versiones de Linux y est siendo usado para ensear a los nios de todo el mundo a programar.

    Introduccin:

    A continuacin se muestra una imagen de la Raspberry Pi B+, en la cual, se especifican sus partes.

  • GPIOs: Puertos generales de entrada/salida. 40 pines programables en los cuales es posible conectar todo tipo de componentes, por ejemplo, LEDs, sensores, actuadores, motores, entre otros. De estos 40 pines, 4 son de alimentacin (3.3 y 5 V), 2 UART, 8 GND, 2 I2C y 5 SPI. A continuacin explicaremos cada uno de estos pines.

    UART (GPIO14 y GPIO15): Las funciones principales de chip UART son: manejar las interrupciones de los dispositivos conectados al puerto serie y convertir los datos en formato paralelo, transmitidos al bus de sistema, a datos en formato serie, para que puedan ser transmitidos a travs de los puertos y viceversa.

    I2C (GPIO2 y GPIO3): IC es un bus de comunicaciones en serie. La principal caracterstica de IC es que utiliza dos lneas para transmitir la informacin: una para los datos y otra para la seal de reloj. Tambin es necesaria una tercera lnea, pero esta slo es la referencia. Estos puertos son comnmente utilizados para conectar pantallas LCD, pero es necesario un hardware adicional.

  • SPI (GPIO7 GPIO11): SPI es un estndar de comunicaciones, usado principalmente para la transferencia de informacin entre circuitos integrados en equipos electrnicos. El bus de interfaz de perifricos serie o bus SPI es un estndar para controlar casi cualquier dispositivo electrnico digital que acepte un flujo de bits serie regulado por un reloj.

    PINOUT Raspberry

  • Puertos USB: En los puertos USB puedes conectar todo tipo de perifricos, recuerda que la Raspberry Pi B+ es una pequea computadora, por ende puedes conectar un teclado, un ratn, adaptadores WiFi, etc.

    Puerto Ethernet: Puedes conectar la Raspberry a Internet por medio de un conector RJ-45 comn, de ser necesario puedes configurar una direccin IP esttica.

    HDMI: Raspberry cuenta con un puerto HDMI para la conexin de una pantalla HD, en caso de no contar con una puedes usar un adaptador HDMI/VGA.

  • Cmara: Detrs del puerto Ethernet la Raspberry cuenta con un puerto especial para la conexin de una cmara, esta es muy pequea (aproximadamente el tamao de una moneda) y se conecta por medio una membrana.

    Audio/Video: Una de las diferencias ms notorias entre esta versin de Raspberry y la anterior es la unificacin del puerto de video RCA con el de audio, por ende usaremos un conector de 3.5mm como se muestra a continuacin.

  • Pantalla: Podemos conectar una pantalla TFT a la Raspberry, estas pantallas son montables, similares a los escudos para Arduino. La pantalla requiere de controladores, las versiones ms nuevas de Raspbian tienen precargados los controladores, las versiones ms antiguas requieren la instalacin de dichos controladores.

    Alimentacin: Raspberry Pi B+ requiere de una alimentacin por medio de un puerto micro USB, aqu conectaremos un eliminador comn (como el de tu celular), cabe resaltar que nicamente se alimentaran los circuitos de la Raspberry.

    IMPORTANTE: NUNCA CONECTES LA TARJETA RASPBERRY A UNA COMPUTADORA. ESTO PUEDE DAARLA PERMANENTEMENTE.

  • Instalacin: Raspberry es compatible con muchos sistemas operativos embebidos (sobre todo Linux), pero el ms popular es Raspbian, el cual est basado en Debian. Este sistema operativo es descargable desde la pgina oficial de Raspberry y deber ser montado en una tarjeta microSD, esta tarjeta deber ser insertada en el socket que se encuentra en la parte trasera de la Raspberry.

    Lo primero que necesitaremos es descargar la versin de Raspbian ms nueva, puede hacerlo en el siguiente link: https://www.raspberrypi.org/downloads/ Descargaras un archivo .zip, debemos descomprimirlo y montarlo en una memoria microSD, para ello, Raspberry recomienda usar Win32DiskImager (si usas SO Windows), puedes descargarlo en el siguiente link: http://sourceforge.net/projects/win32diskimager/. Si usas Linux o Mac OS puedes seguir las siguientes instrucciones: https://www.raspberrypi.org/documentation/installation/installing-images/README.md Una vez que has descargado Raspbian y tienes instalado Win32DiskImager, solo deber abrirlo y cargar la imagen de Raspbian en la unidad externa correspondiente a tu tarjeta microSD, esto puede tardar algunos minutos. Insertamos la memoria en la Raspberry Pi como se muestra en la imagen anterior, conectamos los perifricos y la alimentacin, la raspberry encender automticamente y comenzara a instalar Raspbian. Al concluir la instalacin veremos una pantalla similar a la siguiente:

  • Esta pantalla es la configuracin de Raspbian y al ser la primera vez en abrir el sistema ser lo primero que veremos, esta pantalla no volver a aparecer cuando iniciemos Raspbian pero si deseamos entrar a la configuracin podremos hacerlo escribiendo el siguiente comando en la terminal:

    sudo raspi-config En pantalla podemos ver 9 opciones diferentes, las cuales se enumeran a continuacin. 1 Expand Filesystem: Sirve para poder ocupar todo el espacio de la microSD. Raspbian utiliza poco ms de 3GB de memoria, por ende, si tenemos una microSD de 8GB o mas estaramos desperdiciando una gran cantidad de memoria. 2 Change User Password: El usuario por defecto es pi, con la contrasea raspberry. Si queremos cambiarla es aqu donde se hace y es altamente recomendable. 3 Enable Boot to Desktop/Scratch: Por defecto la Raspberry Pi arranca en la tpica consola negra con letras blancas, pero tienes otras 2 opciones ms. Escritorio: inicia un escritorio de toda la vida con su men de programas y dems (til si vamos a usar la RPi como una computadora normal). Scratch: es un entorno de programacin que facilita el aprendizaje autnomo, una herramienta muy til para crear juegos sencillos y aprender a programar sin conocimientos previos. 4 Internationalisation Options: El sistema viene por defecto en ingls y con disposicin americana de teclas, puedes cambiar esta configuracin en este men. 5 Enable Camera: Para poder utilizar la cmara (que debe estar conectada a un GPIO) debemos habilitarla desde aqu, si no tenemos conectada ninguna cmara es mejor no cambiar la configuracin aqu. 6 Add to Rastrack: Esto agrega la posicin GPS de nuestra Raspberry Pi a un mapa mundial que se puede consultar aqu: rastrack.co.uk. 7 Overclock: A Raspberry Pi se le puede hacer un overclock, es decir, aumentar la velocidad de procesamiento. En principio no es necesario hacerlo para casi nada, ms all de querer que vaya un poco ms fluido todo, pero esto puede producir que se caliente ms la RPi e incluso llegar a romperse. No es recomendable cambiar esta configuracin. 8 Advanced Options:

    8.1 Overscan: Al conectar la RPi a un monitor o un televisor antiguo puede que veas unos bordes negros que no deberan estar, con esta opcin se quitan. Habitualmente no hay que tocar esto porque en HDMI no ocurre.

    8.2 Hostname: Es el nombre que tendr tu Raspberry Pi a ojos del resto de la red.

    8.3 Memory Split: Es la cantidad de memoria que le damos a la GPU (a los grficos). Las Raspberry Pi B+ tiene 512 MB de RAM, de los cuales tiene 64 asignados a grficos, aqu podemos asignar mayor RAM a los grficos.

  • 8.4 SSH: SSH es el protocolo utilizado para conectarnos a nuestra Raspberry Pi desde cualquier otra computadora o desde nuestro smartphone para poder modificar, actualizar o instalar lo que queramos en ella sin necesidad ni de estar fsicamente delante ni de tener conectado ningn teclado por USB a la misma.

    8.5 SPI: Esto es un mdulo que sirve para utilizar perifricos que no vamos a usar, no hace falta activarlo.

    8.6 Audio: Por defecto viene configurado por HDMI. Si deseas configurar la salida del audio por el jack de 3.5mm elige esa opcin.

    8.7 Update: Actualiza raspi-config, la pantalla donde estamos, para tener las ltimas opciones de configuracin.

    9 About raspi-config: Explica lo que es el raspi-config, es decir el tpico about. Presionamos FINISH y nos preguntara si deseamos guardarlos cambios, seleccionamos SI y la Raspberry se reiniciara, al iniciar nos mostrara una pantalla en consola (Esto sino configuramos la opcin Enable Boot to Desktop/Scratch en Desktop). Veremos la siguiente pantalla:

    Si configuramos la Raspberry para iniciar en modo escritorio veremos la siguiente pantalla:

  • Como podemos ver, el modo escritorio es muy amigable ya que es muy similar a cualquier sistema operativo Linux, adems contamos con una terminal para poder realizar configuracin y comandos de consola. El modo escritorio cuenta por defecto con un explorador de Internet, herramientas de programacin e incluso juegos, esto hace a Raspberry ideal para nios.

    Programa en Python: Raspberry puede ser programada en Python, para ello es necesaria una librera, las versiones ms nuevas de Raspbian ya incluyen la librera Python, pero las versiones ms antiguas no y por ello es necesario descargarla e instalarla. Como no sabemos si tenemos instalado Python, debemos corroborar con los siguientes comandos en la terminal:

    sudo python Dentro de la consola de Python comprobamos la versin:

    import RPi.GPIO RPi.GPIO.VERSION

    Si tenemos una versin inferior a la 0.5.4 deberemos actualizarla. Escribiremos los siguientes comandos:

    sudo apt-get update sudo apt-get upgrade

    Descargaremos la librera escribiendo el siguiente comando en la terminal:

    wget 'http://downloads.sourceforge.net/project/raspberry-gpio-python/RPi.GPIO-0.5.4.tar.gz'

    Una vez descargada, debemos descomprimirla:

    tar zxvf RPi.GPIO-0.5.4.tar.gz Entramos en el directorio:

    cd RPi.GPIO-0.5.4/ Instalamos la librera:

    sudo apt-get install python-dev sudo python setup.py install

    Ahora la Raspberry cuenta con una librera Python para controlar los GPIOS, gracias a esto es posible realizar programas en lenguaje Python, para realizar un programa es necesario crear un archivo .py en una direccin dentro de la RB , dentro de este archivo podremos escribir cdigo. Crearemos el archivo con el siguiente comando:

    sudo nano blink.py El archivo creado ser abierto y escribiremos el siguiente cdigo en Python, es un cdigo muy sencillo, con el cual podremos encender y apagar un par de LEDs: import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(17, GPIO.OUT) ## GPIO 17 como salida GPIO.setup(27, GPIO.OUT) ## GPIO 27 como salida

  • def blink(): print "Ejecucion iniciada..." iteracion = 0 while iteracion < 30: ## Segundos que durara la funcin GPIO.output(17, True) ## Enciendo el 17 GPIO.output(27, False) ## Apago el 27 time.sleep(1) ## Esperamos 1 segundo GPIO.output(17, False) ## Apago el 17 GPIO.output(27, True) ## Enciendo el 27 time.sleep(1) ## Esperamos 1 segundo iteracion = iteracion + 2 ## Sumo 2 porque he hecho dos parpadeos print "Ejecucion finalizada" GPIO.cleanup() ## Hago una limpieza de los GPIO blink() ## Hago la llamada a la funcin blink NOTA: Recuerda que en Python las tabulaciones son muy importantes. Cerramos el archivo .py y guardamos los cambios. De nuevo en consola escribiremos el siguiente comando para ejecutar el archivo Python:

    sudo python blink.py Previo a la ejecucin del archivo Python deberemos construir el siguiente circuito:

    Observaremos una oscilacin de 1 segundo entre los LEDs, la cual comenzara inmediatamente despus de ejecutar el archivo Python que acabamos de crear.

  • Controlar un servomotor con RB Pi:

    Antes de comenzar a programar explicaremos que es un servomotor; Un servomotor o servo es un motor electrnico de baja inercia al que se le puede controlar tanto la velocidad de giro como la posicin dentro de su rango de operacin. El cuerpo de los servomotores est formado por un motor elctrico, una caja reductora con engranajes y un circuito electrnico de control. Los servomotores son comnmente utilizados en modelismo para controlar los sistemas de direccin, por ejemplo el timn de un barco o los alerones de un avin. Los servos usan la modulacin por ancho de pulsos (PWM) para controlar la posicin del motor elctrico. Crearemos el siguiente circuito, tomemos en cuenta que los cables rojos son voltaje, los negros GND y los amarillos son de seal:

    Creamos un archivo Python con el comando que vimos anteriormente, en este caso lo llamaremos control_servo:

    sudo nano control_servo.py Dentro del archivo Python escribimos el siguiente cdigo, el cual usa los puertos GPIO de Raspberry para controlar el servo en 3 posiciones (Izquierda, Derecha y Centro).

  • import RPi.GPIO as GPIO #Importamos la libreria RPi.GPIO import time #Importamos time para poder usar time.sleep GPIO.setmode(GPIO.BOARD) #Ponemos la Raspberry en modo BOARD GPIO.setup(21,GPIO.OUT) #Ponemos el pin 21 como salida p = GPIO.PWM(21,50) #Ponemos el pin 21 en modo PWM y enviamos 50 pulsos por segundo p.start(7.5) #Enviamos un pulso del 7.5% para centrar el servo try: while True: #iniciamos un loop infinito p.ChangeDutyCycle(4.5) #Enviamos un pulso del 4.5% para girar el servo hacia la izquierda time.sleep(0.5) #pausa de medio segundo p.ChangeDutyCycle(10.5) #Enviamos un pulso del 10.5% para girar el servo hacia la derecha time.sleep(0.5) #pausa de medio segundo p.ChangeDutyCycle(7.5) #Enviamos un pulso del 7.5% para centrar el servo de nuevo time.sleep(0.5) #pausa de medio segundo except KeyboardInterrupt: #Si el usuario pulsa CONTROL+C entonces... p.stop() #Detenemos el servo GPIO.cleanup() #Limpiamos los pines GPIO de la Raspberry y cerramos el script Guardamos y cerramos el archivo, despus ejecutamos nuestro programa con el comando:

    sudo python control_servo.py Y listo. Ahora podermos controlar un servomotor por medio de la RB Pi usando Python.

  • Aplicacin con cmara: Usaremos la cmara ADA-1367 de Adafruit para tomar una fotografa y un video, esta cmara se conecta a un slot especial de la RB Pi.

    Primero conectamos la cmara en su slot, procurando hacerlo de manera adecuada, la siguiente imagen muestra la conexin de la cmara.

    Usaremos Python para controlar la cmara, por ende debemos descargar la librera python para la cmara, lo hacemos usando el siguiente comando:

    sudo apt-get install python-picamera Vista Previa: Haremos un programa en el cual podremos ver aquello que est capturando la cmara, para ello crearemos un programa en Python con el nombre que nosotros queramos y con terminacin .py, escribimos el siguiente cdigo:

  • #!/usr/bin/python import time import picamera with picamera.PiCamera() as picam: picam.start_preview() time.sleep(10) picam.stop_preview() picam.close() Lo guardamos y ejecutamos como cualquier archivo Python que hemos creado. Tomar una fotografa: Para tomar una fotografa solo necesitamos usar una funcin, es un programa muy simple pero bastante didctico, igualmente debemos crear un archivo Python, guardarlo y ejecutarlo, a continuacin el cdigo: !/usr/bin/python import time import picamera with picamera.PiCamera() as picam: picam.start_preview() time.sleep(5) picam.capture('nombre.jpg') picam.stop_preview() picam.close() La fotografa se guarda en formato .jpg. Filmar video: Grabar un video es igualmente simple q tomar una fotografa, solo requiere una funcin, a continuacin el cdigo: #!/usr/bin/python import time import picamera with picamera.PiCamera() as picam: picam.start_preview() picam.start_recording('video.h264') picam.wait_recording(20) picam.stop_recording() picam.stop_preview() picam.close()

  • Todos los ejemplos anteriores son usados con una cmara Adafruit con nmero de parte ADA-1367, puedes encontrar su PDF en el siguiente enlace: http://www.agspecinfo.com/pdfs/A/ADA-1367.PDF Los ejemplos de cdigos, circuitos y conexiones son fines didcticos, la Raspberry Pi B+ cuenta con una gran cantidad de aplicaciones, funciones y libreras, con las cuales es posible realizar una cantidad muy grande de proyectos interesantes, en AG Electrnica creamos esta gua con el fin de hacer ms fcil la asimilacin de la Raspberry y recomendamos documentarse para crear aplicaciones ms robustas e interesantes, tu limite puede ser tu imaginacin. Raspberry ha demostrado ser una gran herramienta educativa en cuanto a sistemas embebidos por su gran capacidad y flexibilidad. Si deseas ms informacin sobre Raspberry puedes consultar su pgina oficial, de donde tambin podrs descargar Raspbian: https://www.raspberrypi.org/documentation/ https://www.raspberrypi.org/downloads/

    Descripcin: Raspberry Pi B+ 512M

    http://www.agelectronica.com/

    AG Electrnica S.A. de C.V. Repblica del Salvador N 20 Segundo Piso Telfono: 5130 - 7210

    Acotacin:

    NA

    Tolerancia: NA

    Tolerancia: NA

    Escala

    Fecha: 09/06/2015

    Rev 1. Rev 1.ASS

    Rev 2. EAE

    Nmero de parte:

    RASPBERRY-MODB+- 512M

    NA