What is Serial Communication in Arduino
What is Serial Communication in Arduino?
Serial communication between the Arduino board and a computer or other devices. All Arduino boards have at least one serial port (also known as a UART or USART), and some have several.
BOARD | USB CDC NAME | SERIAL PINS | SERIAL1 PINS | SERIAL2 PINS | SERIAL3 PINS |
---|---|---|---|---|---|
Uno, Nano, Mini | 0(RX), 1(TX) | ||||
Mega | 0(RX), 1(TX) | 19(RX), 18(TX) | 17(RX), 16(TX) | 15(RX), 14(TX) | |
Leonardo, Micro, Yún | Serial | 0(RX), 1(TX) | |||
Uno WiFi Rev.2 | Connected to USB | 0(RX), 1(TX) | Connected to NINA | ||
MKR boards | Serial | 13(RX), 14(TX) | |||
Zero | SerialUSB (Native USB Port only) | Connected to Programming Port | 0(RX), 1(TX) | ||
Due | SerialUSB (Native USB Port only) | 0(RX), 1(TX) | 19(RX), 18(TX) | 17(RX), 16(TX) | 15(RX), 14(TX) |
101 | Serial | 0(RX), 1(TX) |
On Uno, Nano, Mini, and Mega, pins 0 and 1 are used for communication with the computer. Connecting anything to these pins can interfere with that communication, including causing failed uploads to the board.
You can use the Arduino environment’s built-in serial monitor to communicate with an Arduino board. Click the serial monitor button in the toolbar and select the same baud rate used in the call to begin()
.
Serial communication on pins TX/RX uses TTL logic levels (5V or 3.3V depending on the board). Don’t connect these pins directly to an RS232 serial port; they operate at +/- 12V and can damage your Arduino board.
Some Popular serial communication method
Step 1: Serial.begin()
Sets the data rate in bits per second (baud) for serial data transmission. For communicating with Serial Monitor, make sure to use one of the baud rates listed in the menu at the bottom right corner of its screen. You can, however, specify other rates – for example, to communicate over pins 0 and 1 with a component that requires a particular baud rate.
An optional second argument configures the data, parity, and stop bits. The default is 8 data bits, no parity, one stop bit.
Syntax
Serial.begin(speed)
Serial.begin(speed, config) for advance operation
Example
void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}
after initialisation of serial.begin(9600);
Step 2: Serial.print()
Prints data to the serial port as human-readable ASCII text. This command can take many forms. Numbers are printed using an ASCII character for each digit. Floats are similarly printed as ASCII digits, defaulting to two decimal places. Bytes are sent as a single character. Characters and strings are sent as is. For example-
Serial.print(78)
gives “78”Serial.print(1.23456)
gives “1.23”Serial.print('N')
gives “N”Serial.print("Hello world.")
gives “Hello world.”
or Step2 : Serial.println()
Description
Prints data to the serial port as human-readable ASCII text followed by a carriage return character (ASCII 13, or ‘\r’) and a newline character (ASCII 10, or ‘\n’). This command takes the same forms as Serial.print().
Syntax
Serial.println(val)
Serial.println(val, format) //for advance use case
Example
Serial.println("Hello Arduino");
Source : https://www.arduino.cc/reference/en/language/functions/communication/serial/
Leave a Reply
You must be logged in to post a comment.