Introducción a la Programación con Python
y raspberry Pi
Víctor Suárez García - La jaquería
¿Cómo Funciona un Ordenador?
El ordenador solo entiende 2 cosas...
![](https://s3.amazonaws.com/media-p.slid.es/uploads/348909/images/5283429/binarycode.png)
¿Entonces como le damos ordenes al ordenador?
Lenguaje de programación
class BlogRenderer:
"""
Class BlogRenderer: This class provides the feature for render posts from Markdown to
HTML and search features.
:Author: Zerasul <suarez.garcia.victor@gmail.com>
Date: 2018-05-05
Version: 0.1.0
"""
postdir = None
"""
Posts Directory
"""
def __init__(self, postdir):
"""
This is the constructor of the blog renderer.
:param postdir: Posts Directory. See Settings py for more information.
"""
self.postdir = postdir
¿Qué es Python?
Python
Lenguaje de programación que nos va a permitir realizar programas para nuestro ordenador, movil, tablet, etc...
![](https://s3.amazonaws.com/media-p.slid.es/uploads/348909/images/5283450/1200px-Python-logo-notext.svg.png)
¿Qué podemos hacer con python?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/348909/images/5283456/python1.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/348909/images/5283458/upython-with-micro.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/348909/images/5283470/raspberry_pi_python.jpg)
Comenzar con Python
Instalar Python
Para Instalar Python, nos descargaremos el paquete python desde los repositorios de raspbian.
apt install python3
Ejecutar Python
python3
Python 3.7.3 (default, Apr 3 2019, 05:39:12)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
NOTA: para salir teclear quit()
Code-Oss
Si se ha instalado Visual Studio Code para Raspbian (Code-Oss), podeis utilizar la extensión de python para ejecutar el interprete
![](https://s3.amazonaws.com/media-p.slid.es/uploads/348909/images/6668188/codeoss2.png)
Programar con Python
Matematicas con Python
# Suma
2+2
# Resta
2-2
# Multiplicacion
2*2
# Division
2/2
# Resto de la division
2%2
Hola Mundo
print('Hola Mundo')
Variables
Podemos usar los números o letras para poder realizar acciones con python. Pero... A veces es necesario poder almacenar estos datos.
A
2
Variables
>>> A = 2
>>> A
2
>>> A+1
3
Variables
A = 1
a = 3
>>> a+A
A = '1'
Comparaciones
>>> A = 2
>>> B = 3
>>> A > 0
True
>>> B >= A
False
Instrucciones de Control
A veces, es necesario poder decidir la acción a realizar o repetir una serie de acciones por lo que vamos a utilizar las "instrucciones de control"
- Control condicional
- Control Repetitivo
Instrucciones de Control Condicional
Opcion 1
Opcion 2
Las instrucciones de control condicional permiten elegir que hacer en función de una condición
Instrucciones de Control Condicional
if a> 1:
printf("a es mayor que 1")
else:
printf("a es menor o igual que 1")
ATENCIÓN: En python los tabuladores son imporrtantes; indican cuando acaba y termina cada bloque.
Instrucciones de Control Condicional
![](https://i2.wp.com/farm9.staticflickr.com/8197/8210699419_0b503c8cae.jpg?resize=500%252C304)
En python para indicar cuando acaba un bloque y empieza otro, se debe de utilizar la tecla tabulador; la cual añade una sangria.
#Codigo correcto
if a>1:
a=a+1
#codigo incorrecto
if a>1:
a=a+1
Instrucciones de Control Condicional
Las instrucciones de control condicional son 3:
- if -> comprueba una codicion y realiza una serie de acciones.
- if-else-> comprueba una condición y realiza una serie de acciones u otras en caso de no cumplirse.
- if-elif-else-> comprueba una serie de condiciones y realiza las acciones que contemplen dichas condiciones.
Instrucciones de Control Condicional
#Ejemplo If
if a > 1:
a=a+1
Instrucciones de Control Condicional
#Ejemplo If-else
if a > 1:
a=a+1
else:
a=a-1
Instrucciones de Control Condicional
#Ejemplo If-elif-else
if a == 1:
a=a+1
elif a==1:
a=a+2
else:
a=a-1
Instrucciones de Control Repetitivo
Instrucciones que permiten repetir acciones a partir de una o varias condiciones.
Instrucciones de Control Repetitivo
#Ejemplo Mientras
while a>1:
a=a-1
Vamos a mostrar 2 intrudcciones de control repetitivo o Bucles:
- Mientras
- for
Instrucciones de Control Repetitivo
#Ejemplo Mientras
while a>1:
a=a-1
El bucle Mientras (while), permite ejecutar repetidamente unas instrucciones mientras ocurra una condición
Instrucciones de Control Repetitivo
#Ejemplo for
for i in range(1,10):
a=a+i
El bucle for, permite repetir una serie de acciones a partir de un contador o mientras se recorre una lista (se verá más adelante)
Listas
A
1
B
1
...
N
1
Supongamos que queremos guardar N numeros... Tendremos que guardar N Variables....
Listas
1
1
...
N
1
Sin embargo, podemos crear una Lista donde almacenar todos estos datos....
[
]
Listas
En python podemos crear una lista vacia.
Lista = []
o con datos...
Lista = [2, 3, 4, 5]
Para acceder a un dato de la lista usaremos un indice comenzando por 0.
Lista[0]
1
Lista[2]
4
Listas
Para recorrer una lista podemos usar el bucle for.
for n in lista:
print(n)
1
2
3
4
5
Listas
Operadores de Lista
Lista[:2]
[1,2,3]
Lista[1:3]
[2,3]
Lista2 = [7,8]
Lista+Lista2
[1,2,3,4,5,6,7,8]
Tuplas
Las tuplas se comportan de igual forma que las listas; excepto que son inmutables (no se pueden modificar).
Tupla = (1,2,3,4)
Tupla[0]
1
Tupla[:2]
(1,2)
Tupla[1:3]
(2,3)
Ejemplo de Python con Raspberry Pi Gpio
Uno de los ejemplos que podremos usar con raspberry pi y python, es poder interactuar con el exterior a través de los pines o GPIO que podemos encontrar en la placa.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/348909/images/6672254/pasted-from-clipboard.png)
Ejemplo con Python Y raspberry Pi
Para este ejemplo necesitaremos:
- 1 Breadboard
- 1 Led
- 1 Resistencia de al menos 220Ohmios
Ejemplo con Python Y raspberry Pi
Este es el esquema que vamos a montar:
![](https://s3.amazonaws.com/media-p.slid.es/uploads/348909/images/6672306/Esquemarpi.png)
Ejemplo con Python Y raspberry Pi
Por Último, el código fuente.
import RPi.GPIO as GPIO
import time
print('Hola Python')
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT)
while True:
GPIO.output(7,True)
time.sleep(1)
GPIO.output(7,False)
time.sleep(1)
Introducción a la Programación con Python
By zerasul
Introducción a la Programación con Python
Introduction to Python Programming languaje (Beginner)
- 1,615