Electricidad Electrnica TCNICAS DE PROGRAMACIN DE SOFTWARE PARA

  • Slides: 38
Download presentation
Electricidad & Electrónica TÉCNICAS DE PROGRAMACIÓN DE SOFTWARE PARA HARDWARE NOMBRE: RODRIGO F. SANTIBÁÑEZ

Electricidad & Electrónica TÉCNICAS DE PROGRAMACIÓN DE SOFTWARE PARA HARDWARE NOMBRE: RODRIGO F. SANTIBÁÑEZ LIZAMA FECHA: ENERO 2019

Conociendo Raspberry Pi Introducción: ü Mini-Computador ü Capacidad máxima recomendada a carga completa 2

Conociendo Raspberry Pi Introducción: ü Mini-Computador ü Capacidad máxima recomendada a carga completa 2 A. ü No se recomiendan equipos inalámbricos a los puertos USB

Conociendo Raspberry Pi Introducción: ü Salida de 3. 3 V, al igual que sus

Conociendo Raspberry Pi Introducción: ü Salida de 3. 3 V, al igual que sus entradas, NO TIENEN PROTECCIÓN

Conociendo Raspberry Pi Introducción: https: //www. elinux. org/RPi_Verified. Peripherals#SD_cards ü Memoria SD

Conociendo Raspberry Pi Introducción: https: //www. elinux. org/RPi_Verified. Peripherals#SD_cards ü Memoria SD

Conociendo Raspberry Pi Introducción, Sistema Operativo: Ingrese a https: //www. raspberrypi. org/downloads/

Conociendo Raspberry Pi Introducción, Sistema Operativo: Ingrese a https: //www. raspberrypi. org/downloads/

Conociendo Raspberry Pi Introducción, Sistema Operativo: Descomprima el archivo Como sugerencia utilice balena hetcher

Conociendo Raspberry Pi Introducción, Sistema Operativo: Descomprima el archivo Como sugerencia utilice balena hetcher para cargar la iso directa en la memoria SD

Conociendo Raspberry Pi Introducción, Sistema Operativo: Conecte la Raspberry pi a una pantalla e

Conociendo Raspberry Pi Introducción, Sistema Operativo: Conecte la Raspberry pi a una pantalla e instale

Conociendo Raspberry Pi Introducción consideraciones usar Python 3: ü ü >>> línea de comandos

Conociendo Raspberry Pi Introducción consideraciones usar Python 3: ü ü >>> línea de comandos # comentarios una línea “”” comentarios varios Lineas”””

Conociendo Raspberry Pi Introducción consideraciones usar Python 3: ü Declaración de Variables nombre_de_la variable=valor

Conociendo Raspberry Pi Introducción consideraciones usar Python 3: ü Declaración de Variables nombre_de_la variable=valor ü Comprobar valor declarado: >>>Variable 1=20 >>>print (Variable 1)

Conociendo Raspberry Pi Introducción consideraciones usar Python 3: ü Declaración de cadenas de texto

Conociendo Raspberry Pi Introducción consideraciones usar Python 3: ü Declaración de cadenas de texto (string) >>>mi_string =“El string mío” >>>mi_string_multi =“”” muchas líneas En la cadena “””

Conociendo Raspberry Pi Introducción consideraciones usar Python 3: Declaración de valores enteros: >>>Mi_entero=20 Declaración

Conociendo Raspberry Pi Introducción consideraciones usar Python 3: Declaración de valores enteros: >>>Mi_entero=20 Declaración de valores enteros octal: >>>Mi_entero. O=024 Declaración de valores enteros hexadecimal: >>>Mi_enteroh=0 x 14 Declaración de valores enteros: >>>Mi_real=20. 1 Declaración de valores Booleanos: >>>Mi_booleano. V=True >>>Mi_booleano. F=False

Conociendo Raspberry Pi Introducción consideraciones usar Python 3: ü Siempre considerar el espacio en

Conociendo Raspberry Pi Introducción consideraciones usar Python 3: ü Siempre considerar el espacio en blanco antes y después:

Conociendo Raspberry Pi Introducción consideraciones usar Python 3: >>>Valor 1=150 >>>Valor 2=10. 5 >>>Valor

Conociendo Raspberry Pi Introducción consideraciones usar Python 3: >>>Valor 1=150 >>>Valor 2=10. 5 >>>Valor 3=11 >>>Suma_valores=Valor 1 + Valor 2 + Valor 3 >>>Div_valores=(Valor 1 / Valor 2 ) / Valor 3 >>>Print (Suma_valores) >>>Print (Div_valores)

Conociendo Raspberry Pi Introducción consideraciones usar Python 3: >>>a, b, c >>>print = ‘string’,

Conociendo Raspberry Pi Introducción consideraciones usar Python 3: >>>a, b, c >>>print = ‘string’, 20. 5, True (c) (b) (a)

Conociendo Raspberry Pi Introducción consideraciones usar Python 3:

Conociendo Raspberry Pi Introducción consideraciones usar Python 3:

Conociendo Raspberry Pi Introducción consideraciones usar Python 3 (condicionales): >>>if valor== valordecomp: >>> print

Conociendo Raspberry Pi Introducción consideraciones usar Python 3 (condicionales): >>>if valor== valordecomp: >>> print (“cruzar la calle”) >>>else: >>> print (“¿que paso? ”)

Conociendo Raspberry Pi Introducción consideraciones usar Python 3 (condicionales): >>>if valor== valordecomp: >>> print

Conociendo Raspberry Pi Introducción consideraciones usar Python 3 (condicionales): >>>if valor== valordecomp: >>> print (“cruzar la calle”) >>>elseif: >>> print (“¿que paso? ”) >>>else: >>> print (“casi me chocan”)

Conociendo Raspberry Pi Introducción consideraciones usar Python 3 (condicionales): Después continuaremos con mas información

Conociendo Raspberry Pi Introducción consideraciones usar Python 3 (condicionales): Después continuaremos con mas información relevante.

Conociendo Raspberry Pi Librería GPIO: Entramos a la consola y escribimos el siguiente código

Conociendo Raspberry Pi Librería GPIO: Entramos a la consola y escribimos el siguiente código para instalar o comprobar la librería GPIO sudo apt-get install python 3 -rpi. gpio

Conociendo Raspberry Pi Rutina Led Python: import RPi. GPIO as GPIO #Llamar librería GPIO

Conociendo Raspberry Pi Rutina Led Python: import RPi. GPIO as GPIO #Llamar librería GPIO import time #Llamar rutina temporizador GPIO. setmode(GPIO. BOARD) #configurar GPIO, si colocamos BCM debe llamar el puerto 4 GPIO. setup(7, GPIO. OUT) #Configurar el Pin 7 como salida “”” Inicio rutina while infinito””” while True: GPIO. output(7, True) time. sleep(1) GPIO. output(7, False) time. sleep(1)

Conociendo Raspberry Pi Rutina Led Python, Diagrama:

Conociendo Raspberry Pi Rutina Led Python, Diagrama:

Conociendo Raspberry Pi Rutina Led Python, Ejercicio: 1. Guarde el ejercicio anterior y cree

Conociendo Raspberry Pi Rutina Led Python, Ejercicio: 1. Guarde el ejercicio anterior y cree una rutina agregando al circuito 3 led más(considerando una resistencia para cada led), en los puertos GPIO 17(11), 22(15) y 18(12), usted juegue con los tiempos de encendido y apagado. 2. Guarde el archivo, y cree uno en donde deberá cambiar la descripción board a bcm GPIO. setmode(GPIO. BOARD) deberá cambiar a GPIO. setmode(GPIO. BCM), tome en cuenta los valores a cambiar.

Conociendo Raspberry Pi Rutina Led Python, problemas típicos: Uno de los problemas típicos con

Conociendo Raspberry Pi Rutina Led Python, problemas típicos: Uno de los problemas típicos con la primera rutina es que no limpiamos el canal una vez que salimos del programa, aunque lo aconsejable es que el loop tenga un condicional de salida siempre al finalizar al programa o secuencia utilizar el comando GPIO. cleanup() , si no constantemente nos mostrará un mensaje al iniciar la nueva rutina.

Conociendo Raspberry Pi Rutina Led Python, Ejercicio: 1. Comprobar la entrada: Para poder configurar

Conociendo Raspberry Pi Rutina Led Python, Ejercicio: 1. Comprobar la entrada: Para poder configurar un puerto como entrada debemos configurar el puerto de la siguiente manera: GPIO. setup(PIN, GPIO. IN) Realice una rutina en la cual pueda comprobar el micro swtich conectado desde los 3. 3 V pasando por el switch y luego a la entrada(GPIO 23, 16).

Conociendo Raspberry Pi Rutina switch Python, Ejercicio:

Conociendo Raspberry Pi Rutina switch Python, Ejercicio:

Conociendo Raspberry Pi Rutina switch Python, Ejercicio: import RPi. GPIO as GPIO import time

Conociendo Raspberry Pi Rutina switch Python, Ejercicio: import RPi. GPIO as GPIO import time GPIO. setmode(GPIO. BOARD) GPIO. setup(16, GPIO. IN) Entrada=GPIO. input(16) while True: Print (Entrada) Time. sleep(0. 05)

Conociendo Raspberry Pi Rutina switch Python, Ejercicio: 10 K Ω

Conociendo Raspberry Pi Rutina switch Python, Ejercicio: 10 K Ω

Conociendo Raspberry Pi Rutina switch Python, Ejercicio: import RPi. GPIO as GPIO import time

Conociendo Raspberry Pi Rutina switch Python, Ejercicio: import RPi. GPIO as GPIO import time pull_up_down=GPIO. PUD_DOWN GPIO. setmode(GPIO. BOARD) GPIO. setwarnings(False) alternativa GPIO. setup(16, GPIO. IN, pull_up_down=GPIO. PUD_UP) while True: Entrada=GPIO. input(16) Print (Entrada) Time. sleep(0. 05)

Conociendo Raspberry Pi Rutina switch Python, Ejercicio:

Conociendo Raspberry Pi Rutina switch Python, Ejercicio:

Conociendo Raspberry Pi Rutina PWM Python, Ejercicio: Para poder regular la salida “análoga”, dado

Conociendo Raspberry Pi Rutina PWM Python, Ejercicio: Para poder regular la salida “análoga”, dado a que no incorpora una, podemos utilizar el recurso de la regulación mediante PWM, lo cual es la regulación del ancho de pulso de porcentaje alto y bajo en un lapso de tiempo determinado, en primer lugar, vamos a regular la intensidad de un led y luego la posición de un servo motor pequeño con esta técnica.

Conociendo Raspberry Pi Rutina PWM Python, Ejercicio: Los comando que se incorporan son: GPIO.

Conociendo Raspberry Pi Rutina PWM Python, Ejercicio: Los comando que se incorporan son: GPIO. setup(PIN, GPIO. OUT) Variable = GPIO. PWM(pin_declarado_como_salida, frecuencia de ciclo) Variable. start(porcentaje inicial) Variable. Change. Duty. Cycle( valor de modificación del pulso)#desde 0 hasta 100

Conociendo Raspberry Pi Rutina PWM Python, Ejercicio: import RPi. GPIO as GPIO import time

Conociendo Raspberry Pi Rutina PWM Python, Ejercicio: import RPi. GPIO as GPIO import time GPIO. setmode(GPIO. BOARD) GPIO. setwarnings(False) GPIO. setup(12, GPIO. OUT) Salida. PWM=GPIO. PWM(12, 100) Salida. PWM. start(100) while True: Inicio Genera valores, descontado el declarado Diferencia entre cada numero de la secuencia for resta in range(100, -1): Salida. PWM. Change. Duty. Cycle(100 – resta) Time. sleep(0. 5)

Conociendo Raspberry Pi Rutina switch Python, Ejercicio:

Conociendo Raspberry Pi Rutina switch Python, Ejercicio:

Conociendo Raspberry Pi Rutina PWM Python, Ejercicio: En los servomotores pequeños, comúnmente la frecuencia

Conociendo Raspberry Pi Rutina PWM Python, Ejercicio: En los servomotores pequeños, comúnmente la frecuencia de ciclos es de 50 Hz, y las variaciones de pulsos altos y bajos comienzan desde un porcentaje desde el 5% para su posición mas baja (0°), y 10% del ciclo de si posición más alta (180°).

Conociendo Raspberry Pi Rutina PWM Python, Ejercicio: Los comando que se incorporan son: GPIO.

Conociendo Raspberry Pi Rutina PWM Python, Ejercicio: Los comando que se incorporan son: GPIO. setup(PIN, GPIO. OUT) Variable = GPIO. PWM(pin_declarado_como_salida, frecuencia de ciclo) Variable. start(% inicial) Variable. Change. Duty. Cycle( valor de modificación del pulso)#desde 0 hasta 100

Conociendo Raspberry Pi Rutina PWM Python, Ejercicio: import RPi. GPIO as GPIO import time

Conociendo Raspberry Pi Rutina PWM Python, Ejercicio: import RPi. GPIO as GPIO import time GPIO. setmode(GPIO. BOARD) GPIO. setwarnings(False) GPIO. setup(12, GPIO. OUT) Salida. PWM=GPIO. PWM(12, 50)#Frecuencia de ciclo Salida. PWM. start(7, 5)#Inicia en 15° while True: Salida. PWM. Change. Duty. Cycle(5)#Aprox. 0° Time. sleep(1) Salida. PWM. Change. Duty. Cycle(6)#Aprox 80° Time. sleep(1) Salida. PWM. Change. Duty. Cycle(8)#Aprox 105° Time. sleep(1) Salida. PWM. Change. Duty. Cycle(10)#Aprox 160° Time. sleep(1)

Conociendo Raspberry Pi Rutina PWM Python, mejoras: import RPi. GPIO as GPIO import time

Conociendo Raspberry Pi Rutina PWM Python, mejoras: import RPi. GPIO as GPIO import time try: while True: Salida. PWM. Change. Duty. Cycle(5) Time. sleep(1) Salida. PWM. Change. Duty. Cycle(6) Time. sleep(1) Salida. PWM. Change. Duty. Cycle(8) Time. sleep(1) Salida. PWM. Change. Duty. Cycle(10) Time. sleep(1) GPIO. setmode(GPIO. BOARD) GPIO. setwarnings(False) GPIO. setup(12, GPIO. OUT) Salida. PWM=GPIO. PWM(12, 50) Salida. PWM. start(7. 5) except Keyboard. Interrupt: # interrumpimos mediante Salida. PWM. stop () #detiene la señal al servo GPIO. cleanup()

Conociendo Raspberry Pi Rutina switch Python, Ejercicio: Desde Fuente 5 V

Conociendo Raspberry Pi Rutina switch Python, Ejercicio: Desde Fuente 5 V