Skip to main content

Comenzando con XIAO RA4M1 de Seeed Studio


Introducción

El XIAO RA4M1 integra el chip RA4M1 de Renesas (MCU ARM® Cortex®-M4 de 32 bits hasta 48 MHz) en el formato clásico de XIAO. Esta placa de desarrollo ofrece 256KB de Flash, 32KB de SRAM, 8KB de EEPROM, un conector USB 2.0, botones de reset y arranque, 3 LEDs, un convertidor A/D de 14 bits, un convertidor D/A de 12 bits y una interfaz CAN BUS. Con un circuito de carga a bordo y modos de bajo consumo (hasta 45μA), es ideal para aplicaciones alimentadas por batería. Compartiendo el mismo microcontrolador de 32 bits R7FA4M1AB3CFM que el Arduino Uno R4, es compatible de manera nativa con Arduino IDE y los amplios accesorios de XIAO, lo que la convierte en el punto de partida perfecto para proyectos electrónicos.

Características

  • Microcontrolador popular a bordo: Alimentado por el RA4M1 de Renesas, un MCU ARM® Cortex®-M4 de 32 bits R7FA4M1AB3CFM que opera hasta 48 MHz, con 256 KB de memoria Flash y 32 KB de SRAM.
  • Recursos destacados a bordo: Equipado con un ADC de 14 bits, DAC de 12 bits, CAN BUS, USB 2.0 y un LED RGB a bordo.
  • 8 nuevas E/S expandidas: Añade 8 nuevos pines de E/S en la parte posterior en comparación con las placas XIAO anteriores (19 pines GPIO en total), lo que permite aplicaciones más complejas.
  • Funciones de seguridad avanzadas: Encriptación de hardware integrada, arranque seguro, almacenamiento de claves y otras funciones para garantizar la seguridad de las aplicaciones.
  • Compatibilidad con software: Totalmente compatible con Arduino IDE para un desarrollo y prototipado de proyectos sin inconvenientes.
  • Diseño de bajo consumo eficiente: Ofrece 4 modos de operación con un consumo de energía tan bajo como 45μA en modo de sueño profundo, y soporta la gestión de carga de baterías de litio.
  • Diseño compacto de tamaño pulgar: Midiendo 21 x 17.8 mm, adoptando el clásico formato XIAO de Seeed Studio, ideal para aplicaciones con limitación de espacio.
  • Apto para producción: Diseño de dispositivo de montaje superficial (SMD) con todos los componentes en la parte frontal y orificios de estampado en ambos lados, facilitando la producción en masa eficiente.

Especificaciones

ProductoXIAO RA4M1
ProcesadorRenesas RA4M1
48-MHz Arm® Cortex®-M4 Core
RAM32 KB SRAM
Flash256 KB
LEDs1 LED de Usuario, 1 LED de Energía, 1 LED RGB
Interfaces19 Pins:14x Analógo, 19x Digital, 2x IIC, 2x UART, 2x SPI
Botones1 RESET, 1 BOOT
SeguridadAES128/256
Baja potencia45μA
Compatibilidad de SoftwareArduino IDE
Temperatura de Trabajo-20°C-70°C
Dimensiones21x17.8 mm
EnergíaTipo-C: 5V
BAT: 3.8V

Vista general del hardware

Antes de comenzar, es bastante importante conocer algunos parámetros básicos del producto. La siguiente tabla proporciona información sobre las características de la Seeed Studio XIAO RA4M1.





XIAO RA4M1 diagrama de indicación delantero
XIAO RA4M1 Lista de Pines

Empezando

Preparación del hardware

Necesitas preparar lo siguiente:


tip

Algunos cables USB solo pueden suministrar energía y no transferir datos. Si no tienes un cable USB o no sabes si tu cable USB puede transmitir datos, puedes consultar el cable USB Tipo-C de Seeed que soporta USB 3.1.

Preparación del software

La herramienta de programación recomendada para el XIAO RA4M1 es el Arduino IDE, por lo que, como parte de la preparación del software, necesitarás completar la instalación de Arduino.

tip

Si es la primera vez que usas Arduino, te recomendamos encarecidamente que consultes Introducción a Arduino.

  • Paso 1. Descarga e instala la versión estable de Arduino IDE según tu sistema operativo.
  • Paso 2. Abre la aplicación de Arduino.

  • Paso 3. Añade el paquete de la placa RA4M1 a tu Arduino IDE.

    Dirígete a Archivo > Preferencias y agrega la siguiente URL en el campo "URLs adicionales de Gestor de Placas": https://files.seeedstudio.com/arduino/package_renesas_1.2.0_index.json

    Dirígete a Herramientas > Placa > Gestor de Placas..., escribe la palabra clave RA4M1 en el cuadro de búsqueda, selecciona la última versión de Seeed Renesas Board e instálala.

  • Paso 4. Selecciona tu placa y puerto.

    En la parte superior de la IDE de Arduino, puedes buscar xiao en la placa de desarrollo a la izquierda, seleccionar XIAO_RA4M1 y elegir el puerto directamente.

Modo BootLoader

A veces, usar un programa incorrecto puede hacer que el XIAO pierda su puerto o no funcione correctamente. Algunos problemas comunes incluyen:

  • El XIAO está conectado a la computadora, pero no se encuentra ningún número de puerto.
  • El XIAO está conectado y aparece un número de puerto, pero la carga del programa falla.

Cuando te encuentres con estas dos situaciones, puedes intentar poner el XIAO en modo BootLoader, lo que puede solucionar la mayoría de los problemas de dispositivos no reconocidos y fallos en las cargas. El método específico es:

  • Método 1. Mantén presionado el botón BOOT en el XIAO RA4M1 sin soltarlo.
  • Método 2. Mantén presionado el botón BOOT y luego conéctalo a la computadora a través del cable de datos. Suelta el botón BOOT después de conectar a la computadora.

Reset

Cuando el programa no funcione correctamente, puedes presionar Reset una vez durante el arranque para que el XIAO vuelva a ejecutar el programa cargado.
Si mantienes presionado el botón BOOT mientras enciendes el dispositivo y luego presionas el botón Reset una vez, también podrás ingresar al modo BootLoader.

Hasta ahora, supongo que ya tienes una buena comprensión de las características y el hardware del XIAO RA4M1. ¡Ahora, vamos a tomar el programa más simple, Blink, como ejemplo y hacer que el XIAO RA4M1 parpadee por primera vez!

  • Paso 1. Abre la aplicación Arduino.

  • Paso 2. Ve a Archivo > Ejemplos > 01.Básicos > Blink y abre el programa.

  • Paso 3. Selecciona el modelo de la placa como XIAO RA4M1 y selecciona el número de puerto correcto para cargar el programa.

Una vez que el programa se haya cargado correctamente, verás el siguiente mensaje de salida y podrás observar que el LED naranja en el lado derecho del XIAO RA4M1 está parpadeando.

¡Felicidades, has aprendido cómo escribir y cargar programas en el XIAO RA4M1!

note

El LED solo se apagará cuando el pin del LED del usuario en el XIAO RA4M1 esté configurado a un nivel alto, y solo se encenderá cuando el pin esté configurado a un nivel bajo.

Jugar con LEDs RGB

El XIAO RA4M1 viene con un LED RGB integrado que puedes controlar. A continuación se muestra un ejemplo de cómo cambiar suavemente el color del LED entre rojo, verde y azul.

  • Paso 1. Descarga la librería Adafruit_NeoPixel

Ve a Esquema > Incluir Librería > Gestionar Librerías..., busca Adafruit_NeoPixel e instala la versión más reciente.

  • Paso 2. Copia el siguiente código en un nuevo esquema:
#include <Adafruit_NeoPixel.h>

#define LED_PIN RGB_BUILTIN // Define el pin para el LED RGB incorporado
#define NUM_PIXELS 1 // Número de LEDs WS2812

Adafruit_NeoPixel pixels(NUM_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
pinMode(PIN_RGB_EN, OUTPUT); // Configura el pin de alimentación
digitalWrite(PIN_RGB_EN, HIGH); // Enciende la alimentación al LED
pixels.begin(); // Inicializa la librería NeoPixel
}

void loop() {
// Transición de Rojo a Verde
for (int i = 0; i <= 255; i++) {
pixels.setPixelColor(0, pixels.Color(255 - i, i, 0)); // Rojo disminuye, Verde aumenta
pixels.show();
delay(10); // Ajusta el retraso para suavidad
}

// Transición de Verde a Azul
for (int i = 0; i <= 255; i++) {
pixels.setPixelColor(0, pixels.Color(0, 255 - i, i)); // Verde disminuye, Azul aumenta
pixels.show();
delay(10); // Ajusta el retraso para suavidad
}

// Transición de Azul a Rojo
for (int i = 0; i <= 255; i++) {
pixels.setPixelColor(0, pixels.Color(i, 0, 255 - i)); // Azul disminuye, Rojo aumenta
pixels.show();
delay(10); // Ajusta el retraso para suavidad
}
}

  • Paso 3. Selecciona el modelo de placa como XIAO RA4M1 y selecciona el número de puerto correcto para cargar el programa.

Gestión de Batería y Energía

¿Es posible leer el voltaje de la batería sin componentes adicionales? Sí, con el XIAO RA4M1, es más fácil que nunca. En los miembros anteriores de la familia XIAO, como el XIAO ESP32C3, leer el voltaje de la batería requería conectar manualmente a A0 con una resistencia.

Pero con el XIAO RA4M1, este proceso se ha simplificado. Ahora puedes utilizar directamente el pin BAT_DET_PIN/P105 para leer el nivel de voltaje de la batería, agilizando tu diseño y desarrollo. Solo recuerda configurar el pin BAT_READ_EN/P400 en alto, ya que es necesario para habilitar la lectura del nivel de la batería.

  • Paso 1. Preparación del Hardware
Seeed Studio XIAO RA4M1Seeed Studio Expansion Base Para XIAO con Grove OLED

La pantalla OLED en la placa de expansión XIAO utiliza el protocolo I2C y está conectada a la interfaz I2C del XIAO a través del circuito I2C en la placa. Por lo tanto, podemos conectar directamente el XIAO a la placa de expansión y programarlo para mostrar contenido en la pantalla.

  • Paso 2. Instalar la librería u8g2.
  • Paso 3. Copia el código y pégalo en el IDE de Arduino.
#include <Arduino.h>
#include <U8x8lib.h>
#include <Wire.h>

U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* clock=*/ WIRE_SCL_PIN, /* data=*/ WIRE_SDA_PIN, /* reset=*/ U8X8_PIN_NONE); // OLEDs without Reset of the Display

#define enablePin BAT_READ_EN // Pin for enabling battery voltage reading
#define adcPin BAT_DET_PIN // Analog input pin (GPIO29 in your case)
const float referenceVoltage = 3.3; // Reference voltage for the ADC
const float voltageDivider = 2.0; // Voltage divider factor

void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
pinMode(enablePin, OUTPUT); // Set the enable pin as an output
digitalWrite(enablePin, HIGH); // Set the pin high to enable battery voltage reading
u8x8.begin();
u8x8.setFlipMode(1); // set number from 1 to 3, the screen word will rotary 180
u8x8.setFont(u8x8_font_chroma48medium8_r);
}

void loop() {
int rawValue = analogRead(adcPin); // Read the analog input value
float voltage = rawValue * (referenceVoltage / 1023.0) * voltageDivider; // Calculate the voltage
// Print the raw value and the calculated voltage
u8x8.setCursor(0, 0);
u8x8.print("Raw value:0x");
u8x8.print(rawValue, HEX);
u8x8.setCursor(0, 2);
u8x8.print("Voltage:");
u8x8.print(voltage, 2);
u8x8.print("V");

delay(500); // Delay for 500 milliseconds
}

  • Paso 4. Seleccione el modelo de tarjeta para XIAO RA4M1, y seleccione el número de puerto correcto para cargar el programa.

Recursos

Solución de problemas

P1: ¿Qué debo tener en cuenta al soldar pines?

Debido al tamaño miniatura de XIAO RA4M1, tenga cuidado al soldar los encabezados. No una diferentes pines entre sí y no una soldadura al escudo u otros componentes. De lo contrario, puede causar un cortocircuito en el XIAO o hacer que no funcione correctamente, y las consecuencias de esto serán responsabilidad del usuario.

Soporte Técnico y Discusión de Productos

¡Gracias por elegir nuestros productos! Estamos aquí para proporcionarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para adaptarnos a diferentes preferencias y necesidades.

Loading Comments...