From 00cbaa833eba7aef8d0bea235d73382176ec99bf Mon Sep 17 00:00:00 2001 From: Hannes Siebeneicher Date: Mon, 30 Oct 2023 14:25:22 +0100 Subject: [PATCH 1/4] Add UART learn article --- .../09.uart/assets/circuit.png | Bin 0 -> 87209 bytes .../09.uart/assets/dataBits.png | Bin 0 -> 25814 bytes .../09.uart/assets/message.png | Bin 0 -> 21599 bytes .../09.uart/assets/parallelSerial.png | Bin 0 -> 38674 bytes .../09.uart/assets/parityBit.png | Bin 0 -> 25880 bytes .../09.uart/assets/startBit.png | Bin 0 -> 25657 bytes .../09.uart/assets/stopBits.png | Bin 0 -> 25567 bytes .../learn/05.communication/09.uart/uart.md | 356 ++++++++++++++++++ 8 files changed, 356 insertions(+) create mode 100644 content/learn/05.communication/09.uart/assets/circuit.png create mode 100644 content/learn/05.communication/09.uart/assets/dataBits.png create mode 100644 content/learn/05.communication/09.uart/assets/message.png create mode 100644 content/learn/05.communication/09.uart/assets/parallelSerial.png create mode 100644 content/learn/05.communication/09.uart/assets/parityBit.png create mode 100644 content/learn/05.communication/09.uart/assets/startBit.png create mode 100644 content/learn/05.communication/09.uart/assets/stopBits.png create mode 100644 content/learn/05.communication/09.uart/uart.md diff --git a/content/learn/05.communication/09.uart/assets/circuit.png b/content/learn/05.communication/09.uart/assets/circuit.png new file mode 100644 index 0000000000000000000000000000000000000000..0fe65ab1654fd8726d0b99ee9d11aed08d473cd5 GIT binary patch literal 87209 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≈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 literal 0 HcmV?d00001 diff --git a/content/learn/05.communication/09.uart/assets/dataBits.png b/content/learn/05.communication/09.uart/assets/dataBits.png new file mode 100644 index 0000000000000000000000000000000000000000..181dece1787786fa170afae11cadf702c0770c6e GIT binary patch literal 25814 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 literal 0 HcmV?d00001 diff --git a/content/learn/05.communication/09.uart/assets/message.png b/content/learn/05.communication/09.uart/assets/message.png new file mode 100644 index 0000000000000000000000000000000000000000..a7d548e3f0f61025ad041f6a319353d0fcf26dc9 GIT binary patch literal 21599 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 Mu{fP~$|2%^0fR@aod5s; literal 0 HcmV?d00001 diff --git a/content/learn/05.communication/09.uart/assets/parallelSerial.png b/content/learn/05.communication/09.uart/assets/parallelSerial.png new file mode 100644 index 0000000000000000000000000000000000000000..5a36532fbe4cac2be844813251a1b6abd046ce05 GIT binary patch literal 38674 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 literal 0 HcmV?d00001 diff --git a/content/learn/05.communication/09.uart/assets/parityBit.png b/content/learn/05.communication/09.uart/assets/parityBit.png new file mode 100644 index 0000000000000000000000000000000000000000..8ae3c2c94c341c90f690a3346481a47cd63dde4e GIT binary patch literal 25880 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 GpZ+%%a+E>< literal 0 HcmV?d00001 diff --git a/content/learn/05.communication/09.uart/assets/startBit.png b/content/learn/05.communication/09.uart/assets/startBit.png new file mode 100644 index 0000000000000000000000000000000000000000..c2da20d67bb30f766ed9874d1e957866c07174a7 GIT binary patch literal 25657 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 Y+{oQ#v3=7M%)#BbW~fti<>B-H1|LT-egFUf literal 0 HcmV?d00001 diff --git a/content/learn/05.communication/09.uart/assets/stopBits.png b/content/learn/05.communication/09.uart/assets/stopBits.png new file mode 100644 index 0000000000000000000000000000000000000000..ab2160132f588062484609f5d214d56747ef6d3c GIT binary patch literal 25567 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 OFP=9wC_Q`Q{{H~`WH#9V literal 0 HcmV?d00001 diff --git a/content/learn/05.communication/09.uart/uart.md b/content/learn/05.communication/09.uart/uart.md new file mode 100644 index 0000000000..90c49e12a3 --- /dev/null +++ b/content/learn/05.communication/09.uart/uart.md @@ -0,0 +1,356 @@ +--- +title: "Universal Asynchronous Receiver-Transmitter (UART)" +description: "A serial communication protocol used to send data using two wires. " +author: "Hannes Siebeneicher" +--- + +## Introduction + +This article dives into the basics of Universal Asynchronous Receiver-Transmitter (UART), a serial communication protocol that can be used to send data between two Arduino boards using only two wires. + +UART is one of the most used device-to-device (serial) communication protocols. It’s the protocol used by Arduino boards to communicate with the computer. It allows an asynchronous serial communication in which the data format and transmission speed are configurable. It's among the earliest serial protocols and even though it has in many places been replaced by [SPI](/learn/communication/spi) and [I2C](/learn/communication/wire) it's still widely used for lower-speed and lower-throughput applications because it is very simple, low-cost and easy to implement. + +When sending UART messages between two Arduino boards we use `Serial1`. That is because `Serial` is used to communicate between the Arduino and the computer to, e.g. display messages inside the serial monitor. + +***If you want to jump straight to the examples click [here](#examples) or go to the end of this article.*** + +## Overview + +- [How UART Works](#how-uart-works) +- [Timing and Synchronization](#timing-and-synchronization) +- [UART Messages](#uart-messages) +- [Examples](#examples) + +## Technical Specifications + +### How UART Works + +UART operates by transmitting data as a series of bits, including a start bit, data bits, an optional parity bit, and stop bit(s). Unlike parallel communication, where multiple bits are transmitted simultaneously, UART sends data serially, one bit at a time. As the name reveals the protocol operates asynchronous which means that it doesn't rely on a shared clock signal. Instead, it uses predefined baud rates to determine the timing of data bits. + +![Serial / Parallel Communication](./assets/parallelSerial.png) + +As seen in the image above when using parallel communication an 8-bit message would require eight cables while serial communication only requires one cable for sending messages and one for receiving. + +***Consider that you need to connect a common ground between the devices to define the high and low signals for UART communication. Without a common ground, devices may not be able to correctly interpret transmitted data.*** + +**Components** + +The key components of UART include the transmitter, receiver, and baud rate. The transmitter collects data from a source, formats it into serial bits, and sends it via a TX (Transmit) pin. The receiver receives it via a RX (Receive) pin, processes incoming serial data and converts it into parallel data for the host system. The baud rate determines the speed of data transmission. + +### Timing and synchronization + +Timing and synchronization are crucial aspects of UART communication. Unlike synchronous serial communication protocols such as SPI and I2C, UART operates operates asynchronously, meaning it doesn't rely on a shared clock signal to coordinate data transmission. Instead, it uses predefined baud rates to determine the timing of data bits. + +**Baud Rate** + +The baud rate is a fundamental parameter in UART communication. It defines the speed at which data is transmitted over the communication channel. The baud rate is specified in bits per second (bps) and represents the number of bits transmitted in one second. In UART, both the transmitting and receiving devices must agree on the same baud rate to ensure successful communication. + +The significance of the baud rate lies in its direct influence on the data transfer speed. A higher baud rate allows for faster data transmission, but it also demands a more precise timing synchronization between the sender and receiver. On the other hand, a lower baud rate may be suitable for applications where timing accuracy is less critical, but it results in slower data transfer. When programming your Arduino common baud rates are `9600`, `115200`, `4800`, and `57600`. In your code, you set the baud rate like so: + +```arduino +Serial.begin(9600); +``` + +**Flow Control in UART** + +UART Flow Control is a method for slow and fast devices to communicate with each other over UART without the risk of losing data. +Consider the case where two units are communicating over UART. A transmitter T is sending a long stream of bytes to a receiver R. R +is a slower device than T, and R cannot keep up. It needs to either do some processing on the data or empty some +buffers before it can keep receiving data. + +R needs to tell T to stop transmitting for a while. This is where flow control comes in. Flow control provides extra signaling to inform the +transmitter that it should stop (pause) or start (resume) the transmission. + +Several forms of flow control exist. For example, hardware flow control uses extra wires, where the logic level on these wires define +whether the transmitter should keep sending data or stop. With software flow control, special characters are sent over the normal data +lines to start or stop the transmission. + +You can read more about UART flow control [here](https://www.silabs.com/documents/public/application-notes/an0059.0-uart-flow-control.pdf). + +### UART Messages + +In UART communication, each data frame is encapsulated by start and stop bits. These bits serve a vital role in establishing the boundaries of data transmission and ensuring synchronization between the sender and receiver. + +**Frame Format** + +![Frame Format](./assets/message.png) + +**Start Bit** + +A single start bit is transmitted at the beginning of each UART frame. The primary purpose of the start bit is to indicate the start of the data transmission and prepare the receiver for data reception. + +The start bit is always logic low (0) for UART communication. This means that the start bit is transmitted as a voltage level that is lower than the logic high threshold, typically at the receiver's end. + +When the receiver detects a start bit, it knows that a new data frame is beginning, and it prepares to receive the incoming bits. + +![Start Bit](./assets/startBit.png) + +**Data Bits** + +Data bits are a fundamental component of UART communication as they carry the actual information to be transmitted. The number of data bits in a UART frame can vary, but a common and widely used configuration is 8 bits. However, UART supports various character sizes, including 7-bit and 6-bit configurations, depending on the specific application requirements. + +![Data Bits](./assets/dataBits.png) + +**Character Size** + +The character size in UART communication is defined by the number of data bits within a frame. It's essential to choose the appropriate character size to match the requirements of the data being transmitted. Here are some common character size configurations: + +8-Bit: This is the most prevalent character size in UART communication. It allows for the transmission of a byte of data, which can represent a wide range of values, including ASCII characters, numerical values, and more. + +7-Bit: In cases where data size needs to be smaller, 7-bit character size is utilized. It's suitable for applications that require less data overhead and can represent 128 different values. + +6-Bit: For even more compact data representation, 6-bit character size can be used. This configuration provides the ability to represent 64 different values. + +**Data Encoding** + +Data bits represent the characters or data using binary encoding, where each bit corresponds to a power of 2. Each bit within the data byte holds a specific position and weight in the binary representation. This encoding allows for the transmission of a wide range of information, making UART versatile for various data types, from simple text characters to complex binary data. + +**Data Integrity** + +The accuracy of data transmission in UART communication relies on the proper configuration of data bits. It's essential that both the transmitter and receiver agree on the number of data bits and their encoding. If the configuration is incorrect, data corruption can occur. For example, if the transmitter sends data as 8-bit characters, but the receiver is configured to expect 7-bit characters, data may be misinterpreted, leading to errors in the received information. + +**Parity** + +In addition to data bits, UART communication may include a parity bit as part of the data frame. Parity is an error-checking mechanism that can help detect data transmission errors. Parity can be set to "odd" or "even," and it ensures that the total number of bits set to logic "1" in a character is either even or odd, depending on the chosen parity type. The presence of a parity bit allows the receiver to verify the integrity of the received data. If the number of "1" bits don't match the expected parity, an error is detected. + +![Parity Bit](./assets/parityBit.png) + +**Stop Bits** + +One or more stop bits are sent after the data bits within each UART frame. The stop bit(s) signal the end of the data byte and serve to indicate the conclusion of data transmission. The most common configuration is to use one stop bit, but in situations where added reliability is required, two stop bits can be employed. + +The polarity of the stop bit(s) can vary, with some systems using a high stop bit and others using a low stop bit based on the specific UART configuration. + + +![Stop Bits](./assets/stopBits.png) + +## Examples + +For the examples below connect your Arduino boards the following way: + +![Circuit](./assets/circuit.png) + +### Transmit / Receive Messages + +This example allows you to send messages (strings) back and forth between devices. Upload the following sketch to both devices: + +```arduino +String sendMessage; +String receivedMessage; + +void setup() { + Serial.begin(9600); // Initialize the Serial monitor for debugging + Serial1.begin(9600); // Initialize Serial1 for sending data +} + +void loop() { + while (Serial1.available() > 0) { + char receivedChar = Serial1.read(); + if (receivedChar == '\n') { + Serial.println(receivedMessage); // Print the received message in the Serial monitor + receivedMessage = ""; // Reset the received message + } else { + receivedMessage += receivedChar; // Append characters to the received message + } + } + + if (Serial.available() > 0) { + char inputChar = Serial.read(); + if (inputChar == '\n') { + Serial1.println(sendMessage); // Send the message through Serial1 with a newline character + sendMessage = ""; // Reset the message + } else { + sendMessage += inputChar; // Append characters to the message + } + } +} +``` + +### How the Code Works + +We start by declaring two `String` variables for our incoming and outgoing messages. + +```arduino +String sendMessage; +String receivedMessage; +``` + +Inside `setup()` we initialize **both** `Serial` and `Serial1` with a baudrate of 9600, establishing a connection with the computer and the other transmitting Arduino board. + + ```arduino +Serial.begin(9600); +Serial1.begin(9600); + ``` + + **Reading Messages** + + The core code can be found inside `loop()`. If a new byte is received, meaning `Serial1.available()` is larger than `0` we check the received message. + + ```arduino + while (Serial1.available() > 0) { + ... + } + ``` + +We `read` a single character from the `Serial1` input buffer: + +```arduino +char receivedChar = Serial1.read(); +``` + +If a newline character `'\n'` is encountered, the received message is processed and printed to the Arduino serial monitor. The `receivedMessage` is then reset to an empty string to prepare for the next incoming message. + +***In programming, the newline character ('\n') is like pressing "Enter" key. It's a special character that tells the computer, "Move to the next line." In our case we know that a message is sent after pressing enter which equals the newline character ('n').*** + +```arduino + if (receivedChar == '\n') { + Serial.println(receivedMessage); + receivedMessage = ""; + } +``` + +**Send Messages** + +For sending messages we first check if there are any characters available in the `Serial` input buffer. In other words we check if there is any text written inside the serial monitor, in which case `Serial.available() > 0`. + +```arduino +if (Serial.available() > 0) { + ... +} +``` + +When a newline character `'\n'` is detected, the message is sent via `Serial1`. The `sendMessage` is then reset to an empty string for the next outgoing message. + +```arduino +char inputChar = Serial.read(); +if (inputChar == '\n') { + Serial1.println(sendMessage); + sendMessage = ""; +} +``` + +If the input is not a newline (meaning everything is written on the same line) it's added to the same message. + +```arduino +else { + sendMessage += inputChar; // Append characters to the message +} +``` + +### Control Built-in LED + +The following example lets you control the built-in LED by sending UART messages. + +**Receiver** + +```arduino +void setup() { + pinMode(LED_BUILTIN, OUTPUT); // set LED pin as output + digitalWrite(LED_BUILTIN, LOW); // switch off LED pin + + Serial1.begin(9600); // initialize UART with baud rate of 9600 +} +void loop() { + while (Serial1.available() >= 0) { + char receivedData = Serial1.read(); // read one byte from serial buffer and save to receivedData + if (receivedData == '1') { + digitalWrite(LED_BUILTIN, HIGH); // switch LED On + } + else if (receivedData == '0') { + digitalWrite(LED_BUILTIN, LOW); // switch LED Off + } + } +} +``` + +**Transmitter** + +```arduino +void setup() { + pinMode(LED_BUILTIN, OUTPUT); // set LED pin as output + digitalWrite(LED_BUILTIN, LOW); // switch off LED pin + + Serial.begin(9600); // initialize serial communication at 9600 bits per second: + Serial1.begin(9600); // initialize UART with baud rate of 9600 +} +void loop() { + if (Serial.read() == '1'){ + Serial1.println('1'); + digitalWrite(LED_BUILTIN, HIGH); + Serial.println("LEDS ON"); + } + else if (Serial.read() == '0'){ + Serial1.println('0'); + digitalWrite(LED_BUILTIN, LOW); + Serial.print("LEDS OFF"); + } +} +``` + +### How the Code Works + +**Receiver** + +First, we start by setting up our devices setting the built-in LED as `OUTPUT` and writing an initial `LOW` value to it. + +```arduino +pinMode(LED_BUILTIN, OUTPUT); +digitalWrite(LED_BUILTIN, LOW); +``` + +Inside `setup()` we initialize the UART connection by calling `Serial1` with a baudrate of 9600. + ```arduino +Serial1.begin(9600); + ``` + +If a new byte is received, meaning `Serial1.available()` is larger than `0` we check the received message. + +```arduino + while (Serial1.available() > 0) { + ... + } +``` + +Next, we `read` the received byte and check if it equals '1'. If the condition is met, we turn on the built-in LED by writing `HIGH`. + +```arduino + char receivedData = Serial1.read(); // read one byte from serial buffer and save to receivedData + if (receivedData == '1') { + digitalWrite(LED_BUILTIN, HIGH); // switch LED On + } +``` + +If the received byte equals '0' we write `LOW` to the buit-in LED. + +```arduino + else if (receivedData == '0') { + digitalWrite(LED_BUILTIN, LOW); // switch LED Off + } +``` + +**Transmitter** + +First, we start by setting up our devices setting the built-in LED as `OUTPUT` and writing an initial `LOW` value to it. + +```arduino +pinMode(LED_BUILTIN, OUTPUT); +digitalWrite(LED_BUILTIN, LOW); +``` + +Inside `setup()` we initialize **both** `Serial` and `Serial1` with a baudrate of 9600, establishing a connection with the computer and the other transmitting Arduino board. This is because only the transmitter needs to be connected to the serial monitor. + ```arduino +Serial.begin(9600); +Serial1.begin(9600); + ``` + + Inside `loop()` we check if the written message inside the IDE serial monitor (`Serial`) equals '1' and if so we print the same message to `Serial1`, turning the built-in LED on. + + ```arduino + if (Serial.read() == '1'){ + Serial1.println('1'); + digitalWrite(LED_BUILTIN, HIGH); + Serial.println("LEDS ON"); + } + ``` + + If the written message inside the IDE serial monitor (`Serial`) equals '0', we print the same message to `Serial1`, turning the built-in LED off. \ No newline at end of file From 37f65b244a05068d35280089b4b126155eb4a6b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl=20S=C3=B6derby?= <35461661+karlsoderby@users.noreply.github.com> Date: Tue, 31 Oct 2023 09:53:54 +0100 Subject: [PATCH 2/4] Update content/learn/05.communication/09.uart/uart.md --- content/learn/05.communication/09.uart/uart.md | 1 - 1 file changed, 1 deletion(-) diff --git a/content/learn/05.communication/09.uart/uart.md b/content/learn/05.communication/09.uart/uart.md index 90c49e12a3..5e58f99038 100644 --- a/content/learn/05.communication/09.uart/uart.md +++ b/content/learn/05.communication/09.uart/uart.md @@ -166,7 +166,6 @@ void loop() { } ``` -### How the Code Works We start by declaring two `String` variables for our incoming and outgoing messages. From 70286617f740e1df1b9a4ed3c6183ffa2b7e4df6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl=20S=C3=B6derby?= <35461661+karlsoderby@users.noreply.github.com> Date: Tue, 31 Oct 2023 09:54:08 +0100 Subject: [PATCH 3/4] Apply suggestions from code review --- content/learn/05.communication/09.uart/uart.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/content/learn/05.communication/09.uart/uart.md b/content/learn/05.communication/09.uart/uart.md index 5e58f99038..c337359493 100644 --- a/content/learn/05.communication/09.uart/uart.md +++ b/content/learn/05.communication/09.uart/uart.md @@ -126,9 +126,9 @@ The polarity of the stop bit(s) can vary, with some systems using a high stop bi ## Examples -For the examples below connect your Arduino boards the following way: +This section contains some basic UART examples, where you send data between two Arduino boards. To set it up, connect the TX with RX pins on both boards, following the circuit below: -![Circuit](./assets/circuit.png) +![Connecting two Arduino boards via UART.](./assets/circuit.png) ### Transmit / Receive Messages @@ -286,7 +286,6 @@ void loop() { } ``` -### How the Code Works **Receiver** From 923e6610829f6904ef07491bcfe666e28254bd47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl=20S=C3=B6derby?= <35461661+karlsoderby@users.noreply.github.com> Date: Wed, 1 Nov 2023 14:27:25 +0100 Subject: [PATCH 4/4] Update uart.md --- .../learn/05.communication/09.uart/uart.md | 119 ++++++++++++++++-- 1 file changed, 106 insertions(+), 13 deletions(-) diff --git a/content/learn/05.communication/09.uart/uart.md b/content/learn/05.communication/09.uart/uart.md index c337359493..2336c9b9d7 100644 --- a/content/learn/05.communication/09.uart/uart.md +++ b/content/learn/05.communication/09.uart/uart.md @@ -1,25 +1,70 @@ --- -title: "Universal Asynchronous Receiver-Transmitter (UART)" -description: "A serial communication protocol used to send data using two wires. " -author: "Hannes Siebeneicher" +title: 'Universal Asynchronous Receiver-Transmitter (UART)' +description: 'A serial communication protocol for sending serial data over USB or via TX/RX pins.' +author: 'Hannes Siebeneicher' +tags: [UART, Serial Communication] --- -## Introduction - -This article dives into the basics of Universal Asynchronous Receiver-Transmitter (UART), a serial communication protocol that can be used to send data between two Arduino boards using only two wires. +In this article, you will learn the basics of Universal Asynchronous Receiver-Transmitter (UART), a serial communication protocol that can be used to send data between an Arduino board and other devices. This is the protocol used when you send data from an Arduino to your computer, using the classic `Serial.print()` method. UART is one of the most used device-to-device (serial) communication protocols. It’s the protocol used by Arduino boards to communicate with the computer. It allows an asynchronous serial communication in which the data format and transmission speed are configurable. It's among the earliest serial protocols and even though it has in many places been replaced by [SPI](/learn/communication/spi) and [I2C](/learn/communication/wire) it's still widely used for lower-speed and lower-throughput applications because it is very simple, low-cost and easy to implement. -When sending UART messages between two Arduino boards we use `Serial1`. That is because `Serial` is used to communicate between the Arduino and the computer to, e.g. display messages inside the serial monitor. +Communication via UART is enabled by the [Serial](https://www.arduino.cc/reference/en/language/functions/communication/serial/) class, which has a number of methods available, including reading & writing data. ***If you want to jump straight to the examples click [here](#examples) or go to the end of this article.*** ## Overview -- [How UART Works](#how-uart-works) -- [Timing and Synchronization](#timing-and-synchronization) -- [UART Messages](#uart-messages) -- [Examples](#examples) +- [Overview](#overview) +- [Serial Class](#serial-class) +- [Arduino UART Pins](#arduino-uart-pins) +- [Technical Specifications](#technical-specifications) + - [How UART Works](#how-uart-works) + - [Timing and Synchronization](#timing-and-synchronization) + - [UART Messages](#uart-messages) +- [Serial USB Examples](#serial-usb-examples) + - [Basic Print Example](#basic-print-example) + - [Read](#read) +- [RX/TX Pin Examples](#rxtx-pin-examples) + - [Transmit / Receive Messages](#transmit--receive-messages) + - [Control Built-in LED](#control-built-in-led) + +## Serial Class + +With the [Serial](https://www.arduino.cc/reference/en/language/functions/communication/serial/) class, you can send / receive data to and from your computer over USB, or to a device connected via the Arduino's RX/TX pins. + +- When sending data over USB, we use `Serial`. This data can be viewed in the Serial Monitor in the Arduino IDE. +- When sending data over RX/TX pins, we use `Serial1`. +- The [GIGA R1 WiFi](https://store.arduino.cc/products/giga-r1-wifi), [Mega 2560](https://store.arduino.cc/products/arduino-mega-2560-rev3) and [Due](https://store.arduino.cc/products/arduino-due) boards also have `Serial2` and `Serial3` + +The [Serial](https://www.arduino.cc/reference/en/language/functions/communication/serial/) class have several methods with some of the essentials being: +- `begin()` - begins serial communication, with a specified baud rate (many examples use either `9600` or `115200`). +- `print()` - prints the content to the Serial Monitor. +- `println()` - prints the content to the Serial Monitor, and adds a new line. +- `available()` - checks if serial data is available (if you send a command from the Serial Monitor). +- `read()` - reads data from the serial port. +- `write()` - writes data to the serial port. + +For example, to initialize serial communication on both serial ports, we would write it as: + +``` +Serial.begin(9600); //init communication over USB +Serial1.begin(9600); //communication over RX/TX pins +``` + +***The [Serial](https://www.arduino.cc/reference/en/language/functions/communication/serial/) class is supported on all Arduino boards.*** + +## Arduino UART Pins + +The default TX/RX pins on an Arduino board are the D0(RX) and D1(TX) pins. Some boards have additional serial ports, see table below: + +| Form Factor | RX | TX | RX1 | TX1 | RX2 | TX2 | RX3 | TX3 | +| ----------- | --- | --- | --- | --- | --- | --- | --- | --- | +| MKR | D0 | D1 | | | | | | | +| UNO | D0 | D1 | | | | | | | +| Nano | D0 | D1 | | | | | | | +| Mega | D0 | D1 | D19 | D18 | D17 | D16 | D15 | D14 | + ## Technical Specifications @@ -37,7 +82,7 @@ As seen in the image above when using parallel communication an 8-bit message wo The key components of UART include the transmitter, receiver, and baud rate. The transmitter collects data from a source, formats it into serial bits, and sends it via a TX (Transmit) pin. The receiver receives it via a RX (Receive) pin, processes incoming serial data and converts it into parallel data for the host system. The baud rate determines the speed of data transmission. -### Timing and synchronization +### Timing and Synchronization Timing and synchronization are crucial aspects of UART communication. Unlike synchronous serial communication protocols such as SPI and I2C, UART operates operates asynchronously, meaning it doesn't rely on a shared clock signal to coordinate data transmission. Instead, it uses predefined baud rates to determine the timing of data bits. @@ -124,12 +169,60 @@ The polarity of the stop bit(s) can vary, with some systems using a high stop bi ![Stop Bits](./assets/stopBits.png) -## Examples +## Serial USB Examples + +To send data between an Arduino and a computer, you will need to the board to a computer with a **USB cable**. + +### Basic Print Example + +This example will send the string `Hello World!` from an Arduino to a computer, using the `Serial.println()` function. Data will be sent every one second. + +```arduino +void setup(){ + Serial.begin(9600); //initialize serial communication at a 9600 baud rate +} + +void loop(){ + Serial.println("Hello world!"); + delay(1000); +} +``` + +`Serial.print()` / `Serial.println()` is used in almost all Arduino sketches, as you can understand what goes on in the board, and design programs to provide you information on specific events. + +### Read + +To send data from a computer to an Arduino (from the Serial Monitor), we can make use of the `Serial.available()` and `Serial.read()` functions. First, we check if there's any data available, and if so, we read it and print it out. + +This example will essentially print out whatever you enter in the Serial Monitor (because we send the data to the board, but we also print it back). + +```arduino +int incomingByte = 0; // for incoming serial data + +void setup() { + Serial.begin(9600); //initialize serial communication at a 9600 baud rate +} + +void loop() { + // send data only when you receive data: + if (Serial.available() > 0) { + // read the incoming byte: + incomingByte = Serial.read(); + + // say what you got: + Serial.print("I received: "); + Serial.println(incomingByte, DEC); + } +} +``` + +## RX/TX Pin Examples This section contains some basic UART examples, where you send data between two Arduino boards. To set it up, connect the TX with RX pins on both boards, following the circuit below: ![Connecting two Arduino boards via UART.](./assets/circuit.png) + ### Transmit / Receive Messages This example allows you to send messages (strings) back and forth between devices. Upload the following sketch to both devices: