Want to create interactive content? It’s easy in Genially!

Get started free

COMUNICACIÓN SERIAL

valeriadiscovery

Created on March 20, 2025

Start designing with a free template

Discover more than 1500 professional designs like these:

Audio tutorial

Pechakucha Presentation

Desktop Workspace

Decades Presentation

Psychology Presentation

Medical Dna Presentation

Geometric Project Presentation

Transcript

PrÁCTICA 3 COMUNICACIÓN SERIAL

Isaac Antonio Y VALERIA

XX/XX/20XX

comunicacion serial

La comunicación serial es un método de transmisión de datos en el cual los datos se envían de un bit a la vez, secuencialmente, a través de un solo canal o línea de comunicación. Es un método comúnmente utilizado para intercambiar datos entre ordenadores y dispositivos periféricos.

Microcontroladores

  • ATtiny86
  • Arduino Uno
  • ESP32-C6

CÓDIGO PYTHON

if response == b'a': # Verificar si la respuesta es correcta round_trip_time = (time.time() - start_time) * 1000 response_times.append(round_trip_time) print(f"Prueba {i+1}: {round_trip_time:.3f} ms") else: print(f"Prueba {i+1}: Error, no se recibió respuesta") time.sleep(0.01) # Pequeña pausa para estabilidad if response_times: avg_time = sum(response_times) / len(response_times) print(f"\nTiempo promedio de respuesta: {avg_time:.3f} ms") else: print("\nNo se obtuvieron respuestas válidas.") except KeyboardInterrupt: print("\nInterrupción manual. Cerrando conexión...") finally: ser.close()

import serial import time SERIAL_PORT = "COM4" BAUD_RATE = 115200 NUM_TESTS = 100 # Número de veces que se enviará "a" ser = serial.Serial(SERIAL_PORT, BAUD_RATE, timeout=1) time.sleep(2) # Esperar a que el puerto se estabilice response_times = [] try: for i in range(NUM_TESTS): start_time = time.time() ser.write(b'a') response = ser.read(1)

CÓDIGO ARDUINO IDE

#define SERIAL_BAUD 115200 void setup() { Serial.begin(SERIAL_BAUD); while (!Serial) { ; // Esperar a que el puerto serie esté disponible } } void loop() { if (Serial.available()) { char received = Serial.read(); // Leer el dato recibido if (received == 'a') { Serial.write('a'); // Responder con "a" } } }

TABLA COMARATIVA

conclusión

El ESP32-C6 es el microcontrolador con mejor rendimiento en términos de velocidad de respuesta en comunicaciones serie por sus capacidades de procesamiento superiores. El Arduino Uno, aunque es un microcontrolador más accesible, tiene un tiempo de respuesta ligeramente superior, lo que puede ser una limitación en aplicaciones de alta velocidad. Con el ATtiny86 no fue posible visualizar la salida correctamente en el Monitor Serial.