Você está na página 1de 12

Universidad Tecnolgica de Chihuahua Raspberry Pi TSU en Mecatronica

Instalacin de Repositorios para el uso del puerto GPIO


Raspberry Pi. Al terminar esta prctica el alumno ser capaz de: Comprender el concepto de repositorios y paquetes. Demostrar el funcionamiento del puerto GPIO del Raspberry Pi

PRACTICA 2

Objetivo de la prctica: Adquisicin de repositorios para el correcto funcionamiento del

Material y equipo
Raspberry Pi Cable de alimentacin Raspberry

Introduccin
Puerto GPIO de Raspberry Pi El puerto GPIO (General Purpose Input/Output = Entrada/Salida de Propsito General) es un pin genrico en un chip, cuyo comportamiento se puede controlar por el usuario en tiempo de ejecucin. Se clasifican en dos tipos, los de entrada (IN), que responden ante la presencia de un voltaje en la misma; y los de salida (OUT), que funcionan como interruptores normalmente abiertos. La tarjeta Raspberry Pi puede comunicarse con dispositivos externos mediante el conector GPIO incorporado. En dicho conector se integran patillas de alimentacin (+5 y +3.3 V) , masa, y entradas/salidas capaces de implementar diferentes protocolos. Las especificaciones de las entradas/salidas GPIO se detallan a continuacin en las siguientes imgenes:

Figura 2.1 Puertos GPIO revisiones 1 y 2. Practica #2 Instalacin de Repositorios para el uso del puerto GPIO Ing. Sergio Gonzlez Duarte Ing. Joel Caldern Flores

Universidad Tecnolgica de Chihuahua Raspberry Pi TSU en Mecatronica

Algo de teora sobre entradas y salidas.

Cuando un ordenador, un microprocesador o cualquier dispositivo microcontrolador efecta un control va I/O el software se comunica con un dispositivo hardware externo, y las posibilidades de hacerlo son, tpicamente, dos: OUTPUT: Genera una salida lgica (escribe) en una patilla configurada como SALIDA. INPUT: Obtiene un entrada lgica (lee) en una patilla configurada como ENTRADA. En esta entrada vamos a tomar un par de patillas para efectuar las correspondientes lecturas/escrituras y conseguir as controlar un dispositivo externo, es decir, activar o desactivar mediante la patilla de salida y recibir una seal lgica mediante la patilla de entrada. Repositorio

Cuando se usa un sistema basado en Windows y quieres instalar algn programa, es muy comn que vayas a una pgina a descargarlo, esto en muchas ocasiones te genera virus o algunos problemas en tu OS (Sistema Operativo) ya que al descargarlo te arriesgas a que el programa no sea genuino. Pero una de las grandes ventajas en Linux son los llamados repositorios, pero Qu son los repositorios? Bsicamente un repositorio es un servidor en donde se encuentras los programas especficos para tu OS Linux, la mayora de distribuciones de Linux tiene su lista de repositorios, los programas que se encuentran en estos repositorios estn verificados por la gente detrs de la administracin de tu distribucin por lo que no tendrs ningn problema al momento de instalar estos programas.

Desarrollo
Instalacin de repositorios GPIO

Para comenzar debemos de asegurar que nuestro dispositivo cuente con la librera GPIO para poder dar uso de los pines del mismo, de no ser as, se tiene que instalar dicha librera; eso se realiza de la siguiente manera: En la terminal del Raspberry Pi se pondr la siguiente lnea: pi@raspberrypi ~ $: sudo apt-get python-rpi.gpio Despus de la instalacin de la librera Python-rpi.gpio se puede dar uso de la misma ejecutando el siguiente cdigo en la terminal pi@raspberrypi ~ $: sudo idle3

Practica #2 Instalacin de Repositorios para el uso del puerto GPIO Ing. Sergio Gonzlez Duarte Ing. Joel Caldern Flores

Universidad Tecnolgica de Chihuahua Raspberry Pi TSU en Mecatronica

Realice lo siguiente:
Describa que es un repositorio (con sus propias palabras). Explique qu es GPIO. Cul es la diferencia entre descargar un programa de internet y descargarlo desde un repositorio? Con sus propias palabras describa a que se refiere ENTRADA y SALIDA. De acuerdo con la informacin recabada durante la prctica, redacte una conclusin de los que obtuvo en la misma, para qu le puede servir el puerto GPIO del Raspberry Pi?

Practica #2 Instalacin de Repositorios para el uso del puerto GPIO Ing. Sergio Gonzlez Duarte Ing. Joel Caldern Flores

Universidad Tecnolgica de Chihuahua Raspberry Pi TSU en Mecatrnica

Instalacin de VNC server

PRACTICA 3

Objetivo de la prctica: Instalacin de escritorio remoto para el Raspberry con VNC Server.
Al terminar esta prctica el alumno ser capaz de: Comprender el concepto de escritorio remoto. Demostrar el funcionamiento del Raspberry con escritorio remoto gracias al software VNC

Material y equipo
Raspberry Pi Cable de alimentacin Raspberry Pantalla

Introduccin
Escritorio Remoto VNC

VNC (Virtual Network Computing) es un programa de software libre basado en la estructura cliente servidor el cual permite tomar el control del ordenador servidor remotamente a travs de un ordenador cliente

Figura 3.1 Logo del escritorio remoto VNC

Algo de teora sobre VNC.

VNC fue creado en el Olivetti & Oracle Research Lab., que entonces era propiedad de Olivetti y Oracle Corporation. En 1999 AT&T compr el laboratorio, y en 2002 cerr los esfuerzos del laboratorio de investigacin. Los desarrolladores que trabajaron en VNC cuando an estaba en el Laboratorio de Investigacin de AT&T son: Tristan Richardson (inventor) Andy Harter (director del proyecto) Quentin Stafford-Fraser James Weatherall

Practica #3 Instalacin de VNC Server Ing. Sergio Gonzlez Duarte Ing. Joel Caldern Flores

Universidad Tecnolgica de Chihuahua Raspberry Pi TSU en Mecatrnica

Funcionamiento de VNC

Un sistema de VNC se compone de un cliente, un servidor, y un protocolo de comunicacin. El VNC servidor es el programa en el equipo que comparte su pantalla. El servidor de forma pasiva permite al cliente tomar el control de la misma. El VNC cliente (o espectador) es el programa que vigila, controla e interacta con el servidor. El cliente controla al servidor. El VNC protocolo (RFB) es muy simple, basado en una primitiva grfica del servidor al cliente y mensajes de eventos desde el cliente al servidor.

Tngase en cuenta que la mquina donde se ejecuta el servidor VNC no necesita tener una pantalla fsica.

Desarrollo
Instalacin de VNC Server para Raspberry Pi

Para poder utilizar el Raspberry Pi a distancia es necesario contar con el repositorio de VNC server instalado dentro de nuestro sistema operativo; primero debemos de ver si hay algo nuevo por instalaren los repositorios y paquetes: En la terminal de nuestro Raspberry Pi pondremos la siguiente lnea: pi@raspberrypi ~ $: sudo apt-get update Despus de nuestro update, procedemos a la instalacin de nuestro repositorio pi@raspberrypi ~ $: sudo apt-get install tightvncserver Despus de la instalacin del VNC Server solo queda ejecutar el programa con la siguiente instruccin dentro de nuestra terminal. pi@raspberrypi ~ $: vncserver :1 Nos pedir que coloquemos una contrasea para poder acceder remotamente la cual debemos dar una confirmacin.

VNC server AUTORUN

Si queremos que nuestro programa VNC server inicie al conectar nuestro Raspberry Pi, se debe editar un archivo de configuracin, eso se realizar de la siguiente manera, primero cercirese que se encuentre dentro del directorio /home/pi con el siguiente comando desde la terminal del Raspberry pi: pi@raspberrypi ~ $: pwd

Practica #3 Instalacin de VNC Server Ing. Sergio Gonzlez Duarte Ing. Joel Caldern Flores

Universidad Tecnolgica de Chihuahua Raspberry Pi TSU en Mecatrnica

Ya que est dentro del directorio /home/pi se dirigir hacia otro directorio denominado .config para crear el directorio que contendr el archivo de configuracin para inicio automtico: pi@raspberrypi ~ $: cd .config Cuando est dentro del directorio .config, se crear un directorio el cual llevara el nombre de autostart. pi@raspberrypi ~ /.config $: mkdir autostart Cuando el directorio se haya creado se procede a ingresar a l. pi@raspberrypi ~ /.config $: cd autostart Todo lo que queda es editar un archivo de configuracin, se escribir el siguiente comando para poder editar: pi@raspberrypi ~ /.config/autostart $: sudo nano tightvnc.desktop Y procedemos a editar el contenido del archivo agregando el siguiente texto: [Desktop Entry] Type=Application Name=TightVNC EXec=vncserver :1 StartupNotify=false Despus de escribir el texto tal y como se mostr en la parte de arriba damos Ctrl+O para guardar y Ctrl+X para salir

Realice lo siguiente:
Qu es un escritorio remoto? Qu utilidad tiene tener un escritorio remoto instalado en el Raspberry Pi? De acuerdo con la informacin recabada durante la prctica, redacte una conclusin de los que obtuvo en la misma.

Practica #3 Instalacin de VNC Server Ing. Sergio Gonzlez Duarte Ing. Joel Caldern Flores

Universidad Tecnolgica de Chihuahua Raspberry Pi TSU en Mecatrnica

Blink de LED por puerto GPIO Objetivo de la prctica: Conocer el funcionamiento del puerto GPIO.
Al terminar esta prctica el alumno ser capaz de: Conocer el software de programacin Python IDLE.

PRACTICA 4

Realizar el parpadeo de un LED a travs del puerto GPIO.

Material y equipo
Raspberry Pi Resistencias LEDs Protoboard PC

Introduccin
Puerto GPIO

En este punto ya se tiene suficiente informacin para una pequea prueba. Lo que se har es conectar al puerto GPIO del Raspberry a un LED que encenderemos y apagaremos usando IDLE que se encuentra instalado dentro del OS (Sistema Operativo). A partir de este punto se requiere la conexin fsica de un par de cables al dispositivo. El puerto GPIO no proporciona ningn tipo de proteccin, como por ejemplo Arduino, por lo que si nos equivocamos y metemos corriente por el sitio equivocado puedes daar el puerto. Por lo tanto se debe de tener mucho cuidado sobre que revisin de GPIO se est utilizando.

Figura 4.1 Puerto GPIO con Flex de conexin externo.

Practica #4 Blink de LED por puerto GPIO Ing. Sergio Gonzlez Duarte Ing. Joel Caldern Flores

Universidad Tecnolgica de Chihuahua Raspberry Pi TSU en Mecatrnica

Lenguaje de programacin Python

Python es un lenguaje de programacin interpretado cuya filosofa hace hincapi en una sintaxis muy limpia y que favorezca un cdigo legible. Se trata de un lenguaje de programacin multiparadigma (fuerza a los programadores a adoptar un estilo particular de programacin), ya que soporta orientacin a objetos, programacin imperativa y, en menor medida, programacin funcional. Es un lenguaje interpretado, usa tipado dinmico y es multiplataforma.

Figura 4.2 Logotipo de software Python.

Desarrollo
1. Ingresar a IDLE Python y abrir una nueva ventana. 2. Colocar el cdigo para el Blink de LED (Tabla 1). import RPi.GPIO as GPIO ##importamos la librera del GPIO from time import sleep ##importamos la librera de retardo #Configuracin de Pines GPIO.setmode (GPIO.BOARD)##Usamos la numeracin de la tablilla LED = 7 ##Asignamos nombre al pin. GPIO.setup (LED, GPIO.OUT)##Pin 7 del GPIO como salida while True: ##Bucle Infinito GPIO.output(LED, True) ##Activamos el pin 7 del GPIO Sleep(1) ##Esperamos 1 segundo GPIO.output(LED, False)##Desactivamos el pin 7 del GPIO Sleep(1) ##Esperamos 1 segundo GPIO.cleanup() ##Para evitar algn corto

Tabla 4.1 Programa para Blink de LED por puerto GPIO

3. Guardar el programa en una carpeta.

Practica #4 Blink de LED por puerto GPIO Ing. Sergio Gonzlez Duarte Ing. Joel Caldern Flores

Universidad Tecnolgica de Chihuahua Raspberry Pi TSU en Mecatrnica

4. Realizar las conexiones pertinentes para el LED (Revisar la conexin con el instructor antes de energizar).

Figura 4.3 Diagrama de conexin en Puerto GPIO

5. De acuerdo con la informacin recabada durante la prctica, redacte una conclusin de los que obtuvo en la misma.

Practica #4 Blink de LED por puerto GPIO Ing. Sergio Gonzlez Duarte Ing. Joel Caldern Flores

Universidad Tecnolgica de Chihuahua Raspberry Pi TSU en Mecatrnica

Secuencia de LEDs por puerto GPIO Objetivo de la prctica: Conocer el funcionamiento del puerto GPIO.
Al terminar esta prctica el alumno ser capaz de: Conocer el software de programacin Python IDLE.

PRACTICA 5

Realizar una secuencia de 5 LEDs conectados al puerto GPIO del Raspberry Pi.

Material y equipo
Raspberry Pi Resistencias LEDs Protoboard

PC Desarrollo
1. Ingresar a IDLE Python y abrir una nueva ventana. 2. De acuerdo con la prctica anterior, realizar el cdigo para la activacin de 5 LEDs en secuencia y con un retardo de 500 ms entre cada LED, coloque el cdigo en la siguiente tabla.

Tabla 5.1 Cdigo para la secuencia de 5 LEDs

3. Realice el esquemtico que implementar para el programa. 4. De acuerdo con la informacin recabada durante la prctica, redacte una conclusin de los que obtuvo en la misma.
Practica #5 Secuencia de LEDs por puerto GPIO Ing. Sergio Gonzlez Duarte Ing. Joel Caldern Flores

Universidad Tecnolgica de Chihuahua Raspberry Pi TSU en Mecatrnica

PRACTICA 6 Manejo de entradas y salidas en puerto GPIO Objetivo de la prctica: Comprender la estructura para el manejo de entradas del puerto GPIO. Al terminar esta prctica el alumno ser capaz de: Implementar botones en el puerto GPIO. Usar de manera correcta las sentencias de control.

Material y equipo
Raspberry Pi Resistencias LEDs Protoboard

PC Desarrollo
1. Ingresar a IDLE Python y abrir una nueva ventana. 2. Colocar el cdigo para el Blink de LED (Tabla 1). import RPi.GPIO as GPIO GPIO.setmode (GPIO.BOARD) LED = 7 PUSH = 10 GPIO.setup (LED, GPIO.OUT) GPIO.setup (PUSH, GPIO.IN) while True: if GPIO.input(PUSH): GPIO.output(LED, True) else: GPIO.output(LED, False) GPIO.cleanup()

Tabla 6.1 Programa de manejo de entradas por puerto GPIO

3. Realizar el esquemtico que se implementara para el programa. 4. De acuerdo con la informacin recabada durante la prctica, redacte una conclusin de los que obtuvo en la misma.

Practica #6 Manejo de entradas y salidas en puerto GPIO Ing. Sergio Gonzlez Duarte Ing. Joel Caldern Flores

Universidad Tecnolgica de Chihuahua Raspberry Pi TSU en Mecatrnica

PRACTICA 7 Manejo de sentencias de control Objetivo de la prctica: Conocer el funcionamiento de sentencias de control . Al terminar esta prctica el alumno ser capaz de: Conocer el software de programacin Python IDLE.

Realizar programas capaces de comparar informacin ingresada por el usuario.

Material y equipo
Raspberry Pi Resistencias LEDs Protoboard

PC Desarrollo
1. Ingresar a IDLE Python y abrir una nueva ventana. 2. De acuerdo con la prctica anterior, realizar el cdigo de una comparacin de dos variables (X, Y, botn 1 y botn 2 respectivamente), cada vez que presione botn 1 se incrementar X, y si presiona el botn 2 se incrementara Y, el resultado se mostrar en dos LEDs (LED1, LED2), para cuando X>Y prende LED1, X<Y prende LED2 y X=Y parpadeo alternado de LED1 y LED2, coloque el cdigo en la siguiente tabla.

Tabla 7.1 Cdigo para la secuencia de 5 LEDs

3. Realice el esquemtico que implementar para el programa. 4. De acuerdo con la informacin recabada durante la prctica, redacte una conclusin de los
que obtuvo en la misma.
Practica #7 Manejo de sentencias de control Ing. Sergio Gonzlez Duarte Ing. Joel Caldern Flores

Você também pode gostar