Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Investigación Comunicación Serial
Investigación Comunicación Serial
Maestro:
Elías Kaleb Arreola Aguilar
Grado:
5-C
Matricula:
220430
Materia:
Aplicaciones de IOT
Fecha de entrega:
11 de febrero de 2024
Comunicación Serial
Investigación acerca de la comunicación serial:
La comunicación serial es un método fundamental para que los microcontroladores,
como Arduino, intercambien datos con otros dispositivos, como computadoras,
sensores o actuadores. En el contexto de Arduino, la comunicación serial se refiere
principalmente al uso de puertos serie para enviar y recibir datos de y hacia otros
dispositivos.
Arduino utiliza principalmente dos protocolos de comunicación serial:
UART (Universal Asynchronous Receiver/Transmitter): Es un protocolo de
comunicación serial asíncrono, lo que significa que no se requiere una señal de reloj
sincronizada entre el transmisor y el receptor. En Arduino, los pines digitales 0 (RX) y
1 (TX) están conectados al UART del microcontrolador, lo que permite la
comunicación serial con otros dispositivos, como un ordenador a través del puerto
USB.
I2C (Inter-Integrated Circuit): Es un protocolo de comunicación serial síncrono que
permite la comunicación entre varios dispositivos utilizando solo dos cables: uno para
la línea de datos (SDA) y otro para la línea de reloj (SCL). Arduino puede actuar como
un maestro o un esclavo en una red I2C y puede comunicarse con múltiples
dispositivos utilizando direcciones únicas.
Para implementar la comunicación serial en Arduino, se utilizan las funciones
proporcionadas por la biblioteca Serial. Por ejemplo, para enviar datos a través del
puerto serie, se puede utilizar la función Serial.write() o Serial.print(). Para recibir
datos, se puede utilizar Serial.read().
Es importante destacar que la velocidad de transmisión (baud rate) es un parámetro
clave en la comunicación serial, ya que determina la velocidad a la que se transmiten
los datos entre los dispositivos. Este valor debe ser el mismo en el Arduino y en el
dispositivo con el que se comunica para garantizar una comunicación adecuada.
La comunicación serial es fundamental para una amplia gama de proyectos Arduino,
desde la adquisición de datos de sensores hasta el control de dispositivos externos.
Al comprender y utilizar efectivamente la comunicación serial, los desarrolladores
pueden crear sistemas más complejos e interactivos con sus proyectos de Arduino.
Simulación de un termostato que controle un dispositivo de calefacción
Código:
SKETCH.INO
// Definición de pines
const int sensorTemperatura = A0; // Pin analógico para el sensor de temperatura
const int pinCalefaccion = 2; // Pin digital para el control de la calefacción
// Variables de temperatura
const int temperaturaEncendido = 25; // temperatura para encender la calefacción (en
grados Celsius)
const int temperaturaApagado = 22; // temperatura para apagar la calefacción (en
grados Celsius)
void setup() {
// Inicialización de la comunicación serial
Serial.begin(9600);
void loop() {
// Lectura de la temperatura
int lecturaTemperatura = analogRead(sensorTemperatura);
DIAGRAM.JSON
{
"version": 1,
"author": "ErikaAnays",
"editor": "wokwi",
"parts": [
{ "type": "wokwi-breadboard", "id": "bb1", "top": 304.2, "left": -131.6, "attrs": {} },
{ "type": "wokwi-arduino-uno", "id": "uno", "top": 67.8, "left": 47.4, "attrs": {} },
{ "type": "wokwi-potentiometer", "id": "pot1", "top": 392.3, "left": -48.2, "attrs": {} },
{ "type": "wokwi-resistor", "id": "r1", "top": 465.6, "left": 306.65, "rotate": 90, "attrs": {
"value": "11000" } },
{ "type": "wokwi-resistor", "id": "r2", "top": 465.6, "left": 316.25, "rotate": 90, "attrs": {
"value": "11000" } },
{ "type": "wokwi-resistor", "id": "r3", "top": 465.6, "left": 287.45, "rotate": 90, "attrs": {
"value": "11000" } },
{ "type": "wokwi-led-rgb-common-anode", "id": "rgb1", "top": 388, "left": 308.3,
"attrs": {} }
],
"connections": [
["uno:2", "bb1:36b.j", "green", ["$bb"]],
["bb1:48b.h", "rgb1:R", "", ["$bb"]],
["bb1:47b.h", "rgb1:G", "", ["$bb"]],
["bb1:46b.h", "rgb1:B", "", ["$bb"]],
["pot1:SIG", "uno:A0", "orange", ["v0"]],
["pot1:VCC", "bb1:bp.9", "red", ["v0"]],
["pot1:GND", "bb1:bn.7", "black", ["v0"]],
["uno:5V", "bb1:bp.27", "red", ["v0"]],
["uno:GND.3", "bb1:bn.28", "black", ["v0"]],
["r1:1", "bb1:47b.h", "", ["$bb"]],
["r1:2", "bb1:bn.38", "", ["$bb"]],
["r2:1", "bb1:48b.h", "", ["$bb"]],
["r2:2", "bb1:bn.39", "", ["$bb"]],
["r3:1", "bb1:45b.h", "", ["$bb"]],
["r3:2", "bb1:bn.36", "", ["$bb"]]
],
"dependencies": {}
}
Evidencia: