ATmega32U4
ATmega32U4
16 MHz
32KB
2.5KB
1KB
| Digital I/O Pins | 14 |
6
| I2C Pins | 2 |
7-12V DC
-20C to 70C
68.58 mm x 53.34 mm
Applications
| The Arduino UNO R3, Leonardo Multifunctional Expansion Board is an ideal choice for various IoT projects, including |
Conclusion
The Arduino UNO R3, Leonardo Multifunctional Expansion Board is a powerful and feature-rich add-on board designed to enhance the capabilities of the Arduino UNO R3 microcontroller board. With its versatile functionalities, key features, and technical specifications, this board is an ideal choice for a wide range of IoT applications.
Arduino UNO R3, Leonardo Multifunctional Expansion Board DocumentationOverviewThe Arduino UNO R3, Leonardo Multifunctional Expansion Board is a versatile expansion board designed to work with Arduino UNO R3 and Leonardo boards. It provides a range of features and interfaces, including USB, UART, IIC, SPI, and GPIO, making it an ideal choice for IoT projects that require multiple interfaces and peripherals.Key FeaturesCompatible with Arduino UNO R3 and Leonardo boards
Onboard USB interface for programming and serial communication
UART interface for serial communication with external devices
IIC interface for connecting IIC devices such as sensors and displays
SPI interface for connecting SPI devices such as SD cards and displays
GPIO interface for connecting digital and analog sensors and actuators
Power supply module with 3.3V and 5V output
LEDs and buttons for user interaction and feedbackConnections and PinoutsThe expansion board has the following connections and pinouts:USB: Connects to the host computer for programming and serial communication
UART: TX (Digital Pin 1), RX (Digital Pin 0)
IIC: SCL (Analog Pin 5), SDA (Analog Pin 4)
SPI: SCK (Digital Pin 13), MOSI (Digital Pin 11), MISO (Digital Pin 12)
GPIO: Digital Pins 0-13, Analog Pins 0-5
Power: 3.3V and 5V output, Vin inputCode Examples### Example 1: UART Serial CommunicationThis example demonstrates how to use the UART interface to communicate with an external serial device.```c
#include <SoftwareSerial.h>const int rxPin = 0; // UART RX pin
const int txPin = 1; // UART TX pinSoftwareSerial mySerial(rxPin, txPin); // Create a SoftwareSerial objectvoid setup() {
mySerial.begin(9600); // Set the baud rate
}void loop() {
if (mySerial.available() > 0) {
char inChar = mySerial.read();
Serial.print(inChar); // Print the received character to the serial monitor
}
}
```### Example 2: IIC LCD DisplayThis example demonstrates how to use the IIC interface to connect an LCD display and display a message.```c
#include <Wire.h>
#include <LiquidCrystal_I2C.h>// Define the IIC address of the LCD display
const int lcdAddr = 0x27;LiquidCrystal_I2C lcd(lcdAddr, 20, 4); // Create an LCD objectvoid setup() {
lcd.begin(); // Initialize the LCD display
lcd.setCursor(0, 0); // Set the cursor to the top-left corner
lcd.print("Hello, World!"); // Print a message to the LCD display
}void loop() {
// Do nothing in the loop
}
```### Example 3: SPI SD Card ReaderThis example demonstrates how to use the SPI interface to read data from an SD card.```c
#include <SPI.h>
#include <SD.h>const int csPin = 5; // SPI chip select pinvoid setup() {
SD.begin(csPin); // Initialize the SD card
File dataFile = SD.open("data.txt"); // Open a file on the SD card
if (dataFile) {
while (dataFile.available()) {
Serial.write(dataFile.read()); // Read and print the file contents to the serial monitor
}
dataFile.close();
} else {
Serial.println("Error opening file");
}
}void loop() {
// Do nothing in the loop
}
```These examples demonstrate the versatility and functionality of the Arduino UNO R3, Leonardo Multifunctional Expansion Board. By using the various interfaces and peripherals provided by the board, you can build a wide range of IoT projects and applications.