0% encontró este documento útil (0 votos)
45 vistas44 páginas

Programación de Raspberry Pi con Python

Este documento describe la introducción a la programación con Python en Raspberry Pi. Explica cómo instalar Python en el sistema operativo Raspbian de Raspberry Pi usando comandos APT y describe las opciones para acceder a Python en un entorno gráfico a través de IDLE. También cubre conceptos básicos de programación como variables, bucles, entrada de datos por teclado y operadores matemáticos.

Cargado por

Maria Paula
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPS, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
45 vistas44 páginas

Programación de Raspberry Pi con Python

Este documento describe la introducción a la programación con Python en Raspberry Pi. Explica cómo instalar Python en el sistema operativo Raspbian de Raspberry Pi usando comandos APT y describe las opciones para acceder a Python en un entorno gráfico a través de IDLE. También cubre conceptos básicos de programación como variables, bucles, entrada de datos por teclado y operadores matemáticos.

Cargado por

Maria Paula
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPS, PDF, TXT o lee en línea desde Scribd

Introducción a la

computación física
con Raspberry Pi y Python
Clase 2
Introducción a la
programación con Python
Objetivos

Describir las diferentes opciones y posibilidades de utilización


del sistema Raspbian.
Contenidos

Clase
Módulo 2 3
Instalación del lenguaje
Python en el sistema
Raspbian.
Introducción a Linux
Embebido, sus comandos
principales.
Uso del IDLE, el intérprete de
Python de Raspberry Pi.
Acceso al hardware mediante
las librerías de Python.
Acerca del lenguaje Python

es un lenguaje de programación:

Interpretado: no necesita compilación.

Multiparadigma: soporta programación funcional, imperativa y orientada a


objetos.
Tipado dinámico: las variables se comprueban en tiempo de ejecución.

Multiplataforma: disponible para Windows, Linux y Mac.

Software libre y OpenSource.

Dispone de una gran cantidad de librerías, tipos de datos y funciones incorporadas.

03
Acerca del lenguaje Python

permite escribir programas Existen dos formas de ejecutar


compactos y legibles por las siguientes código :::
razones:
•podemos escribir líneas de
•los tipos de datos de alto nivel código en el intérprete y obtener
permiten expresar operaciones una respuesta del intérprete para
complejas en una sola instrucción, cada línea (sesión interactiva),
•la agrupación de instrucciones se hace •o podemos escribir el código de
por sangría en vez de llaves de un programa en un archivo de
apertura y cierre, texto y ejecutarlo.
•no es necesario declarar variables ni
argumentos.
Instalación de Python en Raspbian
Pasos que se deben seguir con el gestor de paquetes Aptitude y sus comandos
APT (Advanced Packaging Tool) para descargar Python.

• Abrir la Terminal.

• El comando que se utiliza para actualizar los paquetes del repositorio es sudo
apt-get update.
Instalación de Python en Raspbian

• El comando que se utiliza para buscar un paquete en el repositorio es sudo apt-


get search python2.

• Instalar el paquete python2 con el comando sudo apt-get install python2-


picamera.

• Si fuera necesario desinstalar algún paquete, el comando sería de la siguiente


forma: sudo apt-get remove python2-picamera o sudo apt-get purge python2-
picamera.
Acceder a Python en un entorno gráfico

• El entorno de desarrollo de Python se


denomina IDLE (Integrated
DeveLopment Environment for Python),
permite editar y ejecutar los programas
en una interfaz gráfica.

• En el escritorio de Raspbian,
encontrarán dos iconos, IDLE e IDLE3,
correspondientes a la versión 2 y
versión 3, respectivamente.
Acceder a Python en un entorno gráfico

• Abrir IDLE que corresponde a Python


2.7.
• Aparece el Python Shell, mostrando la
cadena ‘>>>’ que indica que se puede
comenzar a escribir código.

• Escribir print (“Bienvenidos a Raspberry


Pi”).
Acceder a Python en un entorno gráfico

• Pulsar la tecla Enter para ejecutar.

• Para grabar el archivo, clic en File –


Save.
• Para ejecutar el script creado, pulsar la
tecla F5 o Menú Run- run Module.
Uso del IDLE, el intérprete de
Momento 2
Python de Raspberry Pi
Uso de IDLE

Atajos de teclado:
• Alt+p para ver la instrucción anterior
• Alt+n para ver la instrucción siguiente

Los colores ayudan a identificar los distintos tipos de elementos:


• Naranja: Las palabras reservadas de Python.
• Verde: Las cadenas de texto.
• Azul: Los resultados de las órdenes.
• Rojo: Los mensajes de error. Python escribe un mensaje de error en inglés que
indica dónde se ha producido el error y por qué.
• Púrpura: Las funciones.

Las cadenas de texto deben delimitarse con comillas dobles (") o con comillas simples
(').
Programar con Python

Entradas por teclado

raw_input
La función raw_input() guarda lo que se introduzca por teclado en formato string
(texto).

Sintaxis:
raw_input("texto")

Ejemplo de raw_input

print "Le muestro su nombre"


nombre = raw_input("Introduzca nombre: ") #Guardamos el nombre
print "Su nombre es:” nombre
Programar con Python

input
Sirve para capturar los datos ingresados por el usuario por medio del teclado.
Tener en cuenta la versión de Python cuando se quiere utilizar cadenas de texto o
valores numéricos.


Para Python 2.x:
• Para introducir una cadena:
cadena = raw_input(“Introduce una cadena de texto: “)
print “La cadena que ingreso es:\n”,cadena

• Para introducir un número:


numero = input(“Introduce un numero: “)
print “El numero que ingreso es:\n”,numero
Programar con Python

Para Python 3.x


• Para introducir una cadena:
cadena = input(“Introduce una cadena de texto: “)
print (“La cadena que ingreso es:\n”,cadena)

• Para introducir un número int:


numero = int(input(“Introduce un valor: “))
print (“El valor ingresado es:\n”,numero)

• Para introducir un número float:


numero = float(input(“Introduce un valor:“))
print (“El valor ingresado es:\n”,numero)

Ejemplo:

indicador = "¿Cuál es la velocidad de la luz?"


velocidad = input(indicador)
Variables en Python

Una variable es un espacio para almacenar datos modificables en la memoria de


un ordenador. En Python, una variable se define con la siguiente sintaxis:

nombre_de_la_variable = valor_de_la_variable

Cada variable tiene un nombre y un valor, el cual define, a la vez, el tipo de datos
de la variable.
Utilizar nombres descriptivos y en minúscula. Si los nombres son compuestos, se
debe separar las palabras con guiones bajos.
Antes y después del signo =, debe haber un (y solo un) espacio en blanco.

Ejemplo de variable:

mi_variable = 8
Variables en Python

Existe un tipo de “variable”, denominada constante, que se utiliza para definir valores fijos
que no requieran ser modificados. Para denominarlas, se utilizan nombres descriptivos y en
mayúscula, y se separan las palabras con guiones bajos.

Sintaxis:
NOMBRECONSTANTE = valor

Ejemplo de constante:
MI_CONSTANTE = 12

Sintaxis:
nombrevariable = valor
print nombrevariable

Ejemplo:
mi_variable = 8
print mi_variable
Bucle o estructura de control iterativa

Una estructura de control es un bloque de código que permite agrupar instrucciones. Este
código se ejecuta de manera repetida, mientras se cumpla una condición.
En Python, se pueden utilizar los bucles while y for.  
while

Ejecuta las líneas de código subsiguientes “mientras que” la condición sea verdadera.
(Presionar Ctrl + C para detener el programa).

Sintaxis:
#donde expresion es verdadero
while (expression):
#codigo…
“expression” es una evaluación lógica que da como resultado un valor verdadero. El ciclo
while se ejecutará continuamente hasta que la expresión cambie a un valor falso entonces,
el ciclo terminará.
Bucle o estructura de control iterativa

Ejemplo:

contador=0
while(contador<3):
print “el contador es:”, contador
contador=contador+1
print “fin del programa”

El ejemplo muestra un contador con un valor inicial de cero. Cada iteración del ciclo while
incrementa su valor en 1. Después de la primera iteración, el contador tendrá un valor de 1,
luego 2, y así sucesivamente. Cuando el contador llegue a tener un valor de 5, se evaluará la
condición “contador < 3″ y será falsa, por lo que el ciclo terminará.
Bucle o estructura de control iterativa
for
El bucle for tiene una variante respecto a los ciclos for de otros lenguajes. El ciclo for
en Python tiene la capacidad de recorrer una secuencia por medio de “iteraciones”,
una secuencia como una lista o una simple cadena de texto.

Sintaxis:
for iterador in secuencia
#codigo a ejecutar

Ejemplo con listas


Ejemplo con cadena de texto
Esto quiere decir que la variable iterada
En cada iteración, se imprimirá el Texto
tendrá el valor de un índice o lista, algo
“estamos en la letra” y una letra de la
así como un contador.
palabra.
meses = ['enero','febrero','marzo']
for letra in “hola”:
for mes in meses
print “Estamos en la letra:”, letra
print 'El mes es ',meses
Operadores matemáticos y de comparación

Entre los operadores aritméticos que Python utiliza, podemos encontrar los
siguientes:
Símbolo Significado Ejemplo Resultado
+ Suma a = 10 + 5 a es 15
- Resta a = 12 - 7 a es 5
- Negación a = -5 a es -5
* Multiplicación a = 7 * 5 a es 35
** Exponente a = 2 ** 3 a es 8
/ División a = 12.5 / 2 a es 6.25
// División entera a = 12.5 / 2 a es 6.0
% Módulo a = 27 % 4 a es 3

Siempre colocar un espacio en blanco, antes y después de un operador.


Entre los operadores de comparación que Python utiliza, podemos encontrar los
siguientes:
x != y # x no es igual a y
x > y # x es mayor que y
x < y # x es menor que y
x >= y # x es mayor o igual que y
x <= y # x es menor o igual que y
Condicionales

En Python, los condicionales tienen la siguiente estructura: la sentencia If (si) evalúa


básicamente una operación lógica (true or false), y ejecuta el código siguiente
siempre y cuando el resultado sea verdadero. Si no se cumple la condición, se aplican
2 palabras claves reservadas para seguir con el código elif (sino, si) y else (sino) que
corresponden a las acciones que el programa debe ejecutar porque no se cumple la
condición.

Sintaxis Ejemplo 1:
if semaforo == verde:
print "Cruzar la calle"
if condición: else:
código si se cumple print "Esperar"
elif condicion2: Ejemplo 2:
código si se cumple
elif condicion3: a = 7
if ( a > 5) : print "La variable es mayor a 5!"
código si se cumple print "fin"
...
else: Ejemplo 3:
código si no se cumple lo demás if compra <= 100:
print "Pago en efectivo"
elif compra > 100 and compra < 400:
print "Pago con tarjeta de débito"
else:
print "Pago con tarjeta de crédito"
Funciones

Una función es la forma de agrupar expresiones y sentencias (algoritmos) que


realicen determinadas acciones, pero estas solo se ejecutan cuando es llamada la
función.
En Python, las funciones se definen con la declaración "def", seguida del nombre de
la función y los paréntesis ().

Sintaxis:
Ejemplo:
def saludo():
def nombre_funcion(): print "<i>Estamos aprendiendo funciones en Python</i>"
# aquí el algoritmo saludo()
nombre_funcion()
 def saludo(): es como se define la función con el nombre saludo.
 print "Estamos aprendiendo funciones en Python": sentencia que está dentro
de la función e imprimiré el texto entre comillas cuando se la invoque.
saludo(): llamado a la función nombrada saludo.
Acceso al hardware mediante
Momento 2
las librerías de Python GPIO
Instalación de Python y librerías GPIO

Descripción:
• Iniciar Raspbian.
• Abrir Python 2.7.
• Descargar las librerías en Python para programar GPIO.
Materiales:
• Placa Raspberry Pi con periféricos de entrada y salida.
• Sistema operativo Raspbian instalado.

• Raspberry Pi puede conectarse a dispositivos físicos externos por medio de sus


puertos GPIO (General Purpose Input Output), que son pines cuyo comportamiento se
puede programar en tiempo de ejecución.
• GPIO, en las distribuciones Raspbian, viene pre-instalado, por lo que directamente se
puede utilizar colocando la siguiente línea de código en el script: import [Link] as
GPIO
Instalación de Python y librerías GPIO

Para verificar que está instalada la librería en el sistema, realizamos lo


siguiente:

•Abrir la Terminal y escribir: sudo python.


•Dentro de la consola de Python, comprobar la versión con estos dos
comandos:
1- import [Link]
2- [Link]

Si la versión es inferior a la 0.5.4, hay que actualizar mediante estos dos


comandos:

1- sudo apt-get update


2- sudo apt-get upgrade
Instalación de Python y librerías GPIO

Importante: si el sistema no tiene el módulo preinstalado, se debe descargar y luego


instalar con los siguientes pasos:

•Para descargar, ingresar a la página


[Link]

•O ejecutar el comando siguiente:


wget
[Link]
75e162eed29dbec684ecb3e/[Link]

• Para descomprimir el archivo • Para instalar


tar zxf [Link] sudo python [Link] install

• Entrar a la carpeta
cd [Link]
Actividad 1 - Parte 1 - Encender y apagar un LED
una determinada cantidad de veces
Componentes electrónicos
Componente Imagen Función
Permite construir circuitos electrónicos
Protoboard
sin tener que soldar los componentes.
 

Permiten conectar componentes uno a


Cables de conexión otro en el protoboard y con la placa.

Cambian el voltaje y la corriente. Tienen


distintos valores (Ω), que se identifican
Resistencias
según las bandas de colores.

Es un tipo de diodo que se ilumina


Diodos emisores de luz (LED) cuando recibe electricidad.
 
Actividad 1 - Parte 2 - Encender y apagar un LED
una determinada cantidad de veces

Nociones básicas del conexionado en la placa Protoboard

La Protoboard o tarjeta para prototipos se usa para ensamblar y probar circuitos


electrónicos.

Partes del Protoboard

•El canal central: se extiende en el medio del protoboard, allí se colocan los circuitos
integrados.

•Buses: se representan por las líneas rojas (buses positivos o de voltaje) y azules (buses
negativos o de tierra). Se localizan en ambos extremos del protoboard.

•Pistas: las pistas están formadas por un conjunto de 5 agujeros, que tienen la
capacidad de recibir la misma carga eléctrica.
Actividad 1 - Parte 2 - Encender y apagar un LED
una determinada cantidad de veces

Ejemplo de conexión de LED

El LED tiene dos patas, una es positiva


(ánodo) y otra negativa (cátodo). En el
protoboard se debe conectar cada pata
Partes de un LED Conexión de un LED al protoboard
a pistas distintas.
• Es importante calcular el voltaje de lo que se conecta a la placa, mediante la ley de
Ohm.
El LED de color rojo funciona a una tensión o voltaje de 2,1 Volt y corriente
máxima de 20 mA.(dependiendo de el fabricante) utilizar calculadora de
resistencias. Los pines GPIO ofrecen una tensión de 3,3 V y una intensidad de 3 mA.

• El voltaje del LED será de 3,3 V - 2,1 V = 1,2 V.

• La intensidad en el LED es 20 mA.


Por tanto, el valor de la resistencia que hay que aplicar es  
R = V / I = 1,2V / 20 mA = 60 Ω, redondeando a 100 Ω.

• Realizar las conexiones con Raspberry Pi apagada.

• Se agrega la resistencia a la pista donde se conecta el ánodo (+) y la pata del


cátodo (-) se debe conectar al GND (tierra). El ánodo se conecta al pin GPIO 4 (pin 7)
de la placa Raspberry Pi.
Actividad 1 - Parte 3 - Encender y apagar un LED
una determinada cantidad de veces

Conexión completa de un LED

Materiales necesarios:
•1 Resistencia 330 ohm.
•1 LED rojo.
•Cables conectores.
•El Voltaje del LED será de 3,3V - 2,1V = 1,2V.
•La Intensidad en el LED es 20mA.
•La Resistencia que hay que aplicar es R = V / I = 1,2V / 20mA = 60Ω, redondeando a
100Ω.
•Realizar las conexiones con Raspberry Pi apagada.
•Se agrega la resistencia a la pista donde se conecta el ánodo (+) y la pata del cátodo (-)
se debe conectar al GND (tierra). El ánodo se conecta al pin GPIO 4 (pin 7) de la placa
Raspberry Pi.
•Encender la Raspberry y comprobar que se enciende el LED.
Los LEDS se conectan generalmente en serie con las
resistencias, para poder saber qué resistencia corresponde
con cada tipo de LED, podemos acceder a una web
calculadora de resistencias , ingresando en:
[Link]

Una vez en la web vemos:


Datos para el cálculo donde vamos a encontrar
casilleros para ingresar los datos del LED que
tengamos.
Valores calculados, donde veremos los datos ya
calculados.
Circuito, donde veremos el dibujo del circuito ya
conectado con sus datos.
Actividad 1 - Parte 3 - Encender y apagar un LED
una determinada cantidad de veces

• Abrir el IDLE y escribir el


código para encender y
apagar el LED cada 3
segundos.

Conexión completa de un LED


Conexión completa de un LED
Actividad 1 - Parte 3 - Encender y apagar un LED
una determinada cantidad de veces
Explicación del código
Import [Link] as GPIO La expression permite cargar el módulo GPIO.
Import time El módulo time proporciona un conjunto de
funciones para trabajar con fechas y/u horas. Una de
sus funciones es sleep(secs).
[Link]([Link]) Permite especificar que se está refiriendo a los pines
por su número, es decir, los números impresos en
nuestra Raspberry Pi.
[Link](7,[Link]) Permite configurar el pin 7 como salida.
Speed=1 Función que indica el tiempo en segundos de espera
dormido.
While true Ciclo Hacer mientras (while) sea verdadero (true).

[Link](7,true) Permite configurar el pin 7 de salida con valor


verdadero, es decir encendido.
[Link](speed) Permite establece el tiempo de espera con el valor
asignado a la variable.
[Link](7,false) Configura el pin 7 de salida con valor verdadero, es
decir apagado.
Actividad 1 - Parte 3 - Encender y apagar un LED
una determinada cantidad de veces
Actividad 1 - Parte 4 - Encender varios LED de
distintos colores aplicando distintas secuencias de
encendido y apagado

Materiales necesarios:
•2 Resistencias 330 ohm
•2 LED de color rojo
•Cables conectores

Montaje de los
componentes en el
protoboard
Actividad 1 - Parte 4 - Encender varios LED de
distintos colores y aplicando distintas secuencias de
encendido y apagado

Detalles de la conexión en el protoboard


Componente En protoboard En Raspberry Pi

LED rojo Cable naranja en ánodo PIN 12 (BOARD)

LED rojo Cable amarillo en ánodo PIN 16 (BOARD)

Resistencias Una pata en serie con cátodo de cada LED  


Otra pata en línea negativa

  Línea negativa con cable negro GND – PIN 6 (BOARD)


Actividad 1 - Parte 5 - Encender varios LED de
distintos colores y aplicando distintas secuencias de
encendido y apagado
#Importamos la libreria y le cambiamos el nombre a GPIO
import [Link] as GPIO

#Necesario para los delays


Escribir el código import time
para que un LED se #Establecemos el sistema de numeracion
encienda y se [Link]([Link])

apague solamente #Configuramos el pin GPIO 12 como una salida


[Link](12, [Link])
una vez. Luego, el #Encendemos el led
otro LED se debe [Link](12, [Link])
#Apagamos el led
encender y [Link](4, [Link])

parpadear 5 veces. #Configuramos el pin GPIO 16 como una salida


[Link](16, [Link])

#Encendemos y apagamos el led 5 veces


for i in range(0,5):

[Link](16, [Link])
[Link](1)
[Link](16, [Link])
[Link](1)

#Y liberamos los GPIO


[Link]()
Actividad 1 - Parte 5 - Encender varios LED de
distintos colores y aplicando distintas secuencias de
encendido y apagado
Síntesis

Durante el desarrollo de la clase conociste los siguientes temas:

Qué es el lenguaje Python y su instalación en Raspbian.

Programar con Python y su intérprete. Variables, bucles o estructuras de control,


operadores matematicos y de comparación, condicionales, funciones.

Acceso al hardware mediante las librerías de Python GPIO.


Gracias

También podría gustarte