Está en la página 1de 13

Instituto Tecnológico

Superior Progreso

Ingeniería Electromecánica

Electrónica Digital

5to. SEMESTRE

Unidad 1
Docente: Ing. Erick del Jesus

Tamayo Loeza; MTI

Alumnos: Manuel Jesús Peba Uc

Leandro Sibaja Chávez

Harold Honorato Saldaña

Oscar Patricio Ballote


Introducción
En esta práctica que se realizara el estudio de 5 letras, seleccionadas por nosotros
para poder analizar en cuantos bits se encuentran cada una de las letras. De tal
manera se programará y se enviarara al arduino para poder pasar la información al
osciloscopio y así ver el código binario que nos lanza el osciloscopio. Cada paso
tiene cierta dificultad, pero nos ayudara más adelante con la resolución de muchos
problemas acerca de la electrónica digital.
MARCO TEÓRICO.
Protocolo Serial.
El término "protocolo serial" se refiere a un conjunto de reglas y estándares
utilizados para la comunicación de datos en serie, es decir, la transmisión
secuencial de bits uno tras otro a lo largo de un solo canal de comunicación. Los
protocolos seriales son comunes en una variedad de aplicaciones, incluyendo la
comunicación entre dispositivos electrónicos, la transmisión de datos a través de
cables y conexiones inalámbricas, y la interacción entre computadoras y
periféricos.
Algunos ejemplos de protocolos seriales incluyen:
RS-232: Es un estándar de comunicación serial que se utiliza comúnmente en la
conexión de dispositivos periféricos, como mouses, teclados, impresoras y
módems a una computadora. También se utiliza en la comunicación entre
dispositivos industriales.
RS-485: Este protocolo serial se utiliza en aplicaciones industriales y de
automatización, ya que permite la comunicación en redes multipunto y es más
robusto en entornos ruidosos que RS-232.
UART (Universal Asynchronous Receiver/Transmitter): Es un componente
hardware que se utiliza en muchas computadoras y microcontroladores para
facilitar la comunicación serial. Puede configurarse para seguir varios protocolos
de comunicación.
SPI (Serial Peripheral Interface): Un protocolo serial síncrono que se utiliza para la
comunicación entre microcontroladores y dispositivos periféricos, como sensores,
memorias flash y pantallas LCD.
I2C (Inter-Integrated Circuit): Otro protocolo serial síncrono que se utiliza para la
comunicación entre componentes electrónicos, como sensores, memorias
EEPROM y dispositivos de pantalla.
USB (Universal Serial Bus): Aunque USB es más conocido por su conectividad de
alta velocidad, sigue siendo un protocolo serial subyacente. Se utiliza para
conectar una amplia variedad de dispositivos, desde unidades flash hasta
impresoras y cámaras.
Estos protocolos serial tienen diferentes características, velocidades de
transmisión, formatos de datos y requisitos de hardware, lo que los hace
adecuados para diferentes aplicaciones. La elección del protocolo serial adecuado
depende de los requisitos específicos de la aplicación y del tipo de dispositivos
que se están conectando.
Metodología.
PROTOCOLO SERIAL ARDUINO
Cuando se trabaja con Arduino y se necesita realizar comunicación serial,
generalmente se hace uso de las funciones y bibliotecas proporcionadas por el
entorno de desarrollo de Arduino. La comunicación serial en Arduino se usa
principalmente para la interacción entre la placa Arduino y otros dispositivos, como
sensores, pantallas, computadoras u otros microcontroladores.
El protocolo serial en Arduino generalmente se implementa a través de la
comunicación UART (Universal Asynchronous Receiver/Transmitter). Aquí tienes
una descripción básica de cómo funciona:
Serial. Begin(baudrate): Para iniciar la comunicación serial en Arduino, se utiliza la
función Serial.begin(baudrate), donde baudrate es la velocidad de transmisión en
baudios (bits por segundo). Por ejemplo, Serial.begin(9600) configura la velocidad
de transmisión en 9600 baudios.
Serial.print() y Serial.println(): Estas funciones se utilizan para enviar datos desde
Arduino a un dispositivo o terminal de comunicación serie. Por ejemplo,
Serial.print(¡”Hola, mundo!”) enviará la cadena "Hola, mundo!" a través del puerto
serie.
Serial.read(): Esta función se utiliza para recibir datos desde el puerto serie.
Puedes usarla para leer los datos que llegan desde otros dispositivos conectados
al Arduino.
Serial.available(): Esta función se utiliza para verificar si hay datos disponibles
para ser leídos en el búfer de recepción del puerto serie.
Ejemplo de comunicación serial: Aquí tienes un ejemplo sencillo de cómo enviar y
recibir datos mediante comunicación serial en Arduino:

arduino
void setup() {
// Inicializar la comunicación serial a 9600 baudios
Serial.begin(9600);
}

void loop() {
// Enviar un mensaje
Serial.println("Hola, mundo!");

// Leer datos si están disponibles


if (Serial.available()) {
char receivedChar = Serial.read();
// Hacer algo con los datos recibidos
}
}
En este ejemplo, Arduino enviará la cadena “Hola, ¡mundo!" una vez por segundo
y verificará si hay datos disponibles para ser leídos desde el puerto serie.
Este es un ejemplo básico, y la comunicación serial en Arduino se puede utilizar
para una amplia variedad de aplicaciones, desde recibir datos de sensores hasta
controlar actuadores y comunicarse con otros dispositivos. La biblioteca Serial de
Arduino proporciona muchas funciones útiles para trabajar con la comunicación
serie de manera eficiente y sencilla.
serial print
La función Serial.print() es una función importante en Arduino que se utiliza para
enviar datos desde el Arduino a través del puerto serie (UART). Puedes usar esta
función para imprimir valores y mensajes en el monitor serial de Arduino, que es
una herramienta útil para la depuración y la interacción con el Arduino desde tu
computadora.
La función Serial.print() tiene varias formas de uso, lo que te permite imprimir
diferentes tipos de datos. Aquí hay algunos ejemplos:
Imprimir una cadena de texto:

arduino
Serial.print("Hola, mundo!");
Esta línea enviará la cadena de texto "Hola, mundo!" a través del puerto serie.
Imprimir una variable numérica:
arduino
int valor = 42;
Serial.print(valor);
Esta línea imprimirá el valor de la variable valor, que en este caso es un entero
(int).
Imprimir un número decimal con decimales:
arduino
float temperatura = 25.5;
Serial.print(temperatura, 1); // Imprimir con 1 decimal
En este ejemplo, Serial.print() se utiliza para imprimir un número decimal con un
decimal de precisión.

Imprimir valores en línea:

arduino
Copy code
int dato1 = 10;
int dato2 = 20;
Serial.print("Dato 1: ");
Serial.print(dato1);
Serial.print(", Dato 2: ");
Serial.println(dato2);
Aquí se imprimen múltiples valores en una sola línea utilizando varias llamadas a
Serial.print(). La función Serial.println() se utiliza al final para agregar un salto de
línea.
La función Serial.print() es muy útil para visualizar datos y resultados mientras
programas y depuras tus proyectos de Arduino. Puedes abrir el Monitor Serie en el
entorno de desarrollo de Arduino para ver los datos enviados por Serial.print().
Esto es especialmente útil cuando trabajas con sensores, actuadores y otros
dispositivos para verificar que tu código funcione correctamente y para
diagnosticar problemas.

bit de inicio y bit final


En el contexto de la comunicación serial y los protocolos de transmisión de datos,
los "bits de inicio" y "bits de final" no son términos comunes o estándar. Sin
embargo, puedo explicarte conceptos relacionados que podrían ser relevantes:
Bits de inicio (Start Bits): En muchas comunicaciones seriales, se utiliza un bit de
inicio como parte del protocolo de transmisión. El bit de inicio marca el comienzo
de un byte de datos y permite que el receptor sincronice su reloj con el transmisor.
En una comunicación serial asincrónica típica, como la que se utiliza en UART
(Universal Asynchronous Receiver/Transmitter), se utiliza un bit de inicio para
indicar el inicio de un byte de datos. Por ejemplo, en un protocolo de 8 bits de
datos, 1 bit de parada y 1 bit de inicio, un byte se vería así:
arduino
1 start bit | 8 bits de datos | 1 bit de parada
El bit de inicio es siempre un nivel lógico bajo (0) y marca el comienzo de la
transmisión del byte.
Bits de final (Stop Bits): Los bits de final se utilizan en una comunicación serial
asincrónica para indicar el final de un byte de datos. Por lo general, se usa uno o
más bits de parada para dar tiempo al receptor para procesar el byte y prepararse
para el siguiente. El número de bits de parada suele ser configurable y
comúnmente es 1 o 2 bits de parada. Por ejemplo, en el mismo protocolo de 8 bits
de datos con 1 bit de inicio y 1 bit de parada, el byte se vería así:
arduino
1 start bit | 8 bits de datos | 1 bit de parada
Los bits de inicio y de parada ayudan al receptor a sincronizarse con el transmisor
y aseguran que los datos se transmitan y reciban correctamente.
Es importante mencionar que la configuración de los bits de inicio y de parada
puede variar según el protocolo y el hardware específicos que se estén utilizando.
Por ejemplo, en algunas comunicaciones seriales más complejas, como RS-485,
la configuración de bits puede ser diferente. Por lo tanto, es fundamental conocer y
configurar adecuadamente los parámetros de la comunicación serial según las
especificaciones de tu aplicación y hardware.
bit de parada arduino uno
En la placa Arduino Uno, la configuración predeterminada para la comunicación
serial (UART) utiliza 1 bit de inicio, 8 bits de datos y 1 bit de parada. Esto es
común en muchas configuraciones de comunicación serial asincrónica. Aquí está
la estructura típica de un byte transmitido en una comunicación serial en un
Arduino Uno:
Arduino
1 bit de inicio | 8 bits de datos | 1 bit de parada
Esta configuración es la que se usa por defecto cuando utilizas las funciones de
comunicación serial en Arduino, como Serial.begin() para inicializar la
comunicación serial y las funciones Serial.print() y Serial.read() para enviar y
recibir datos.
Puedes configurar el número de bits de parada y otros parámetros de
comunicación serial utilizando las funciones de configuración de la comunicación
serial en Arduino. Por ejemplo, si deseas utilizar 2 bits de parada, puedes hacerlo
de la siguiente manera:
arduino
Serial.begin(9600, SERIAL_8N2); // Configurar la comunicación serial con 2 bits de
parada
En este ejemplo, SERIAL_8N2 indica que se utilizan 8 bits de datos, sin bits de
paridad y 2 bits de parada.
En resumen, el Arduino Uno utiliza 1 bit de parada como configuración
predeterminada, pero puedes personalizar la configuración según tus necesidades
utilizando las funciones de comunicación serial adecuadas.
PROCEDIMIENTO.

Una vez investigado sobre el proceso serial, realizamos el código el cual esta elaborado para que
en vez de mandar 10bits ese solo mande los 8 bits necesarios, quedando de la siguiente manera:

void setup() {

Serial.begin(4800, SERIAL_8N2);

void loop() {

Serial.print("S");

delay(100); }

En su binario quedaria:

011001010

void setup() {

Serial.begin(4800, SERIAL_8N2)

void loop() {

Serial.print("i");

delay(100); }

En su binario quedaria:

010010110
void setup() {

Serial.begin(4800, SERIAL_8N2);

void loop() {

Serial.print("b");

delay(100); }

En su binario quedaria:

001000110

void setup() {

Serial.begin(4800, SERIAL_8N2);

void loop() {

Serial.print("a");

delay(100); }

En su binario quedaria:

010000110
void setup() {

Serial.begin(4800, SERIAL_8N2);

void loop() {

Serial.print("j");

delay(100); }

En su binario quedaría:

001010110

void setup() {

Serial.begin(4800, SERIAL_8N2);

void loop() {

Serial.print("a");

delay(100); }

En su binario quedaría:

010000110
Conclusiones
Harold Amulek Honorato Saldaña:

Esta práctica permitió observar la señal en bit que se manda cuando un dispositivo (Arduino)
está conectado a un osciloscopio (haciendo pasar por un módulo que manda señal) en el
cual pudimos apreciar la señal en firma de frecuencia tipo tren, en el cual se lee de derecha
a izquierda (como el manga) decifrando la señal en código binario, está se compone de 8
bit, es importa la programación correcta debido a que al no hacerlo lejos de apreciar los 8
bits, pudiera verse aún más de 8bits y ocasionaría un problema al leerlo.

Oscar Patricio Ballote Guerrero:

Al finalizar ésta práctica logramos visualizar como es representada una letra en el


osciloscopio, ésta señal binaria se representa con una onda rectangular que va de 5v a 0,
la señal se lee de derecha a izquierda, normalmente manda un bit de inicio, un byte de
información y un bit para finalizar, para mandar la señal desde arduino tambien se puede
utilizar serial.println, ésto agrega un salto de linea a la letra que se esté mandando, si no se
conociera ésto podría ser algo complicado reconocer donde se encuentra la letra que
mandamos, ya que en el osciloscopio se visualizan más bites.

Leando Sibaja chavez:

En conclusión de esta práctica aprendemos a como se interpreta una letra en el osciloscopio


qué es una señal en binario, este se lee de derecha a izquierda y por lo general manda 8
bits qué son el byte de la letra y 2 números más, hay una forma de hacer qué sólo mande
9 bits y eso facilita la lectura, también es importante que a la hora de mandar la letra el
arduino sea solo serial.print, ya que si se pone prinln eso hace que mande un enter y eso
ocupo más bits en el osciloscopio eso ocacionando una señal más grande y confusa si no
se tiene ese conocimiento. El sistema de bits es muy interesante a la hora de pensar que
millones de esos 0 y 1 hay oraciones sencillas para nosotros.

Manuel jesus peba uc:

Al concluir esta práctica del estudio de letras del código ASCII, usamos las mismas y las
pasamos a un Arduino mediante un código de programación en la cual se fueron analizando
letra por letra mediante un osciloscopio, en el cual ahí nos representó el código binario que
se leía de derecha a izquierda.

También podría gustarte