Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tarea6 Raspberry S HD FD
Tarea6 Raspberry S HD FD
Abstract: UART es un bloque de circuitería responsable de En esta práctica, crearemos un circuito simple para la operación
la aplicación de comunicación en serie asíncrono. Toma del transmisor UART entre dos Raspberry Pi y demostraremos
bytes de datos y transmite los bits individuales de forma cómo lograr la comunicación con Python como lenguaje de
secuencial. programación.
Fig01: Transmisión
Fig02: Sistema operativo Raspbian
La función de Rufus es la de crear USBs de arranque. Con ellos por muchas de las cosas que su PC de escritorio hace, como
se puede hacer varias cosas, como crear medios de instalación hojas de cálculo, procesadores de texto y juegos.
de otros sistemas operativos mediante imágenes ISO. También
puedes montar el sistema operativo en el USB para trabajar con
él en cualquier ordenador que no lo tenga, e incluso grabar datos
con los que actualizar el firmware o la BIOS de un ordenador.
Fig05: Raspberry Pi
Fig02.01: Rufus
Fig03: Python
4. RECEPTOR
2. HALF DUPLEX
Para la transmisión Half Duplex nosotros usamos el código que
se muestra en la siguiente figura (Código entero en anexos)
V. SIMULACIONES
1. SIMPLEX
3. FULL DUPLEX
A continuación se muestra la simulación de la comunicación de
Fig 12: Simulación de la representación de la comunicación Full duplex, en el software de Indralogic.
Simplex de dos Raspberry.
modo de transmisión y además se tiene los códigos que podrían
ser probados fácilmente en caso de contar con el material.
X. REFERENCIAS
• 1. SIMPLEX
• 1.1 CÓDIGO
#Ahora vamos a mostrar el comportamiento de
#la transmisión SIMPLEX
#Comenzamos poniendo la librería que nos ayuda
#A controlar los pines de salida de las RaspBerry Pi3
import RPi.GPIO as GPIO
import time #Librería usada para jugar con el tiempo
#Logica de programación
while True:
GPIO.output(PinA, GPIO.HIGH)
time.sleep(1) #Esperamos un segundo para cambiar de estado
GPIO.output(PinA, GPIO.LOW)
time.sleep(1) #Esperamos un segundo para retornar al estado inicial
GPIO.cleanup() #Comando para poder terminar el ciclo con ctrl+c en cualquier momento
• .2 SIMULACIÓN
• 2. HALF DUPLEX
• 2.1 CÓDIGO
#Ahora vamos a mostrar el comportamiento de
#la transmisión HALF DUPLEX
#Comenzamos poniendo la librería que nos ayuda
#A controlar los pines de salida de las RaspBerry Pi3
import RPi.GPIO as GPIO
import time #Librería usada para jugar con el tiempo
#Logica de programación
while True:
GPIO.output(PinA, GPIO.HIGH) and GPIO.output(PinB, GPIO.LOW) # A not B
time.sleep(1) #Esperamos un segundo para cambiar de estado
GPIO.output(PinA, GPIO.LOW) and GPIO.output(PinB, GPIO.HIGH) #A not B
time.sleep(1) #Esperamos un segundo para retornar al estado inicial
GPIO.cleanup()
• 2.2 SIMULACIÓN
• 3. FULL DUPLEX
• 3.1 CÓDIGOS
#Ahora vamos a mostrar el comportamiento de
#la transmisión FULL DUPLEX
#Comenzamos poniendo la librería que nos ayuda
#A controlar los pines de salida de las RaspBerry Pi3
import RPi.GPIO as GPIO
import time #Librería usada para jugar con el tiempo
#Logica de programación
while True:
GPIO.output(PinA, GPIO.LOW) and GPIO.output(PinB, GPIO.LOW) #A=0 B=0
time.sleep(1) #Esperamos un segundo para cambiar de estado
GPIO.output(PinA, GPIO.LOW) and GPIO.output(PinB, GPIO.HIGH) #A=0 B=1
time.sleep(1) #Esperamos un segundo para cambiar de estado
GPIO.output(PinA, GPIO.HIGH) and GPIO.output(PinB, GPIO.LOW) #A=1 B=0
time.sleep(1) #Esperamos un segundo para cambiar de estado
GPIO.output(PinA, GPIO.HIGH) and GPIO.output(PinB, GPIO.HIGH) #A=1 B=1
time.sleep(1) #Esperamos un segundo para retornar al estado inicial
GPIO.cleanup()
• 3.2 SIMULACIÓN
• 4. RECEPTOR
#Logica de programación
if GPIO.output(PinA, GPIO.HIGH):
GPIO.output(PinB, GPIO.HIGH) #Pin3 = High por condicional
else:
GPIO.output(PinB, GPIO.LOW) #Pin3 = Low por condicional
GPIO.cleanup() #Comando para poder terminar el ciclo con ctrl+c en cualquier momento