Pular para o conteúdo principal

Primeiros Passos com o Seeed Studio XIAO RA4M1


Introdução

O XIAO RA4M1 integra o chip RA4M1 da Renesas (MCU ARM® Cortex®-M4 de 32 bits de até 48 MHz) no formato clássico do XIAO. Esta placa de desenvolvimento oferece 256 KB de Flash, 32 KB de SRAM, 8 KB de EEPROM, um conector USB 2.0, botões de reset e boot, 3 LEDs, um conversor A/D de 14 bits, um conversor D/A de 12 bits e uma interface CAN BUS. Com circuito de carregamento integrado e modos de baixo consumo (tão baixos quanto 45 μA), é ideal para aplicações alimentadas por bateria. Compartilhando o mesmo microcontrolador R7FA4M1AB3CNE de 32 bits do Arduino Uno R4, é nativamente compatível com a Arduino IDE e com a extensa linha de acessórios XIAO, tornando-se o ponto de partida perfeito para projetos de eletrônica.

Recursos

  • Microcontrolador popular a bordo: Alimentado pelo Renesas RA4M1, um MCU R7FA4M1AB3CNE ARM® Cortex®-M4 de 32 bits operando a até 48 MHz, com 256 KB de memória Flash e 32 KB de SRAM.
  • Recursos destacados onboard: Equipado com ADC de 14 bits, DAC de 12 bits, CAN BUS, USB 2.0 e um LED RGB onboard.
  • 8 novos IOs expandidos: Adiciona 8 novos pinos de IO na parte de trás em comparação com as placas XIAO anteriores (19 GPIOs no total), permitindo aplicações mais complexas.
  • Recursos de segurança avançados: Criptografia em hardware integrada, boot seguro, armazenamento de chaves e outras funções para garantir a segurança da aplicação.
  • Compatibilidade de software: Totalmente compatível com a Arduino IDE para desenvolvimento e prototipagem de projetos sem complicações.
  • Projeto de energia eficiente: Oferece 4 modos de operação com consumo de energia tão baixo quanto 45 μA em deep sleep e suporta gerenciamento de carga de bateria de lítio.
  • Design compacto do tamanho do polegar: Medindo 21 x 17,8 mm, adotando o formato clássico XIAO da Seeed Studio, ideal para aplicações com restrições de espaço.
  • Amigável para produção: Design SMD (Surface Mount Device) com todos os componentes na parte frontal e furos metalizados nas duas laterais, facilitando a produção em massa eficiente.

Especificações

ProdutoXIAO RA4M1
ProcessadorRA4M1 - 32-bit Microcontrollers with 48MHz Arm Cortex-M4 and LCD Controller and Cap Touch for HMI - Renesas
Núcleo Arm® Cortex®-M4 de 48 MHz com FPU
RAM32 KB SRAM
Flash256 KB
LEDs1x LED de usuário
1x LED de alimentação
1x LED RGB
Interfaces19 IOs:
6x Analógico
19x Digital
2x IIC
2x UART
2x SPI
Botões1x Botão RESET
1x Botão BOOT
SegurançaAES128/256
Baixo consumo (Típ.)42.6μ[email protected]
Compatibilidade de SoftwareArduino IDE
Temperatura de trabalho-20°C~70°C
Dimensões21×17,8 mm

Visão geral de hardware

Antes de começar, é essencial conhecer alguns parâmetros básicos do produto. A tabela a seguir fornece informações sobre as características do Seeed Studio XIAO RA4M1.





Diagrama indicativo frontal do XIAO RA4M1
Lista de pinos do XIAO RA4M1

Mapa de Pinos

Pino XIAOFunçãoPino do ChipFunções AlternativasDescriçãoNome Arduino
5VVBUSEntrada/Saída de alimentação
GND
3V33V3_OUTSaída de alimentação
D0AnalógicoP014AN009GPIO, ADC0
D1AnalógicoP000AN000GPIO, ADC1
D2AnalógicoP001AN001GPIO, ADC2
D3AnalógicoP002AN002GPIO, ADC3
D4SDA1P206GPIO, Dados I2C4
D5Analógico,SCL1P100GPIO, Clock I2C, ADC5
D6TXD2P302SDA2GPIO, Transmissão UART,I2C6
D7RXD2P301SCL2GPIO, Recepção UART,I2C7
D8SPI1_SCKP111GPIO, Clock SPI8
D9SPI1_MISOP110CRX0GPIO, Dados SPI,UART9
D10SPI1_MOSIP109CTX0GPIO, Dados SPI,UART10
D11RX9P408GPIO, UART
D12TX9P409GPIO,UART
D13GPIOP013GPIO
D14GPIOP012GPIO
D15TXD0P101SDA0,AN021,SPI0_MOSIGPIO, Transmissão UART, ADC,SPI,I2C
D16RXD0P104SCL0,SPI0_MISOGPIO,UART, SPI,I2C
D17CRX0P102AN020,SPI0_SCKGPIO, UART , ADC,SPI
D18CTX0P103AN019GPIO, SPI ,ADC,UART
ADC_BATP400Lê o valor de tensão da bateria
ResetRESRESET
BootP201Entrar no modo Boot
RGB LEDP112LED RGB20
RGB LEDP500RGB LED EN21
CHARGE_LEDVBUSCHG-LED_Vermelho
USER_LEDP011Luz de usuário (Y)19

Primeiros Passos

Preparação de hardware

Você precisa preparar o seguinte:


dica

Alguns cabos USB só conseguem fornecer energia e não conseguem transferir dados. Se você não tiver um cabo USB ou não souber se o seu cabo USB pode transmitir dados, você pode conferir o Seeed USB Type-C support USB 3.1.

Preparação de software

A ferramenta de programação recomendada para o XIAO RA4M1 é a Arduino IDE, portanto, como parte da preparação de software, você precisará concluir a instalação do Arduino.

dica

Se esta for a sua primeira vez usando Arduino, recomendamos fortemente que você consulte Getting Started with Arduino.

  • Passo 1. Baixe e instale a versão estável da Arduino IDE de acordo com o seu sistema operacional.
  • Passo 2. Abra o aplicativo Arduino.

  • Passo 3. Adicione o pacote da placa RA4M1 à sua IDE Arduino.

    Navegue até File > Preferences e preencha "Additional Boards Manager URLs" com a URL abaixo: https://files.seeedstudio.com/arduino/package_renesas_1.2.0_index.json

    Navegue até Tools > Board > Boards Manager..., digite a palavra-chave RA4M1 na caixa de pesquisa, selecione a versão mais recente de Seeed Renesas Board e instale-a.

  • Passo 4. Selecione sua placa e porta.

    Na parte superior da IDE Arduino, você pode pesquisar por xiao na placa de desenvolvimento à esquerda, selecionar XIAO_RA4M1 e selecionar diretamente a porta.

Modo BootLoader

Às vezes, usar o programa errado pode fazer com que o XIAO perca sua porta ou não funcione corretamente. Problemas comuns incluem:

  • O XIAO está conectado ao computador, mas nenhum número de porta é encontrado.
  • O XIAO está conectado e um número de porta aparece, mas o upload do programa falha.

Quando você encontrar as duas situações acima, pode tentar colocar o XIAO no modo BootLoader, o que pode resolver a maioria dos problemas de dispositivos não reconhecidos e falhas de upload. O método específico é:

  • Método 1. Pressione e segure o botão BOOT no XIAO RA4M1 sem soltá-lo.
  • Método 2. Mantenha o botão BOOT pressionado e conecte ao computador via cabo de dados. Solte o botão BOOT após conectar ao computador.

Reset

Quando o programa roda de forma anormal, você pode pressionar Reset uma vez durante a energização para que o XIAO reexecute o programa carregado. Quando você mantém pressionada a tecla BOOT enquanto liga e depois pressiona a tecla Reset uma vez, também pode entrar no modo BootLoader.

Até agora, acredito que você já tenha uma boa compreensão dos recursos e do hardware do XIAO RA4M1. Em seguida, vamos pegar o programa Blink mais simples como exemplo e realizar o primeiro piscar para o seu XIAO RA4M1!

  • Passo 1. Abra o aplicativo Arduino.
  • Passo 2. Navegue até File > Examples > 01.Basics > Blink e abra o programa.
  • Passo 3. Selecione o modelo de placa como XIAO RA4M1 e selecione o número de porta correto para enviar o programa.

Quando o programa for carregado com sucesso, você verá a seguinte mensagem de saída e poderá observar que o LED laranja no lado direito do XIAO RA4M1 está piscando.

Parabéns, você aprendeu como escrever e carregar programas para o XIAO RA4M1!

nota

O LED só apagará quando o pino de LED do usuário no XIAO RA4M1 estiver definido em nível alto, e só acenderá quando o pino estiver definido em nível baixo.

Brinque com LEDs RGB

O XIAO RA4M1 vem com um LED RGB integrado que você pode controlar; a seguir está um exemplo de como alterar suavemente a cor do LED entre vermelho, verde e azul.

  • Passo 1. Baixe a biblioteca Adafruit_NeoPixel

Navegue até Sketch > Include Liarbry > Manage Libraries..., pesquise por Adafruit_NeoPixel e instale a versão mais recente.

  • Passo 2. Copie o seguinte código para um novo sketch:
#include <Adafruit_NeoPixel.h>

#define LED_PIN RGB_BUILTIN // Define the pin for the built-in RGB LED
#define NUM_PIXELS 1 // Number of WS2812 LEDs

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

void setup() {
pinMode(PIN_RGB_EN, OUTPUT); // Set up the power pin
digitalWrite(PIN_RGB_EN, HIGH); //Turn on power to the LED
pixels.begin(); // Initialize the NeoPixel library
}

void loop() {
// Transition from Red to Green
for (int i = 0; i <= 255; i++) {
pixels.setPixelColor(0, pixels.Color(255 - i, i, 0)); // Red decreases, Green increases
pixels.show();
delay(10); // Adjust delay for smoothness
}

// Transition from Green to Blue
for (int i = 0; i <= 255; i++) {
pixels.setPixelColor(0, pixels.Color(0, 255 - i, i)); // Green decreases, Blue increases
pixels.show();
delay(10); // Adjust delay for smoothness
}

// Transition from Blue to Red
for (int i = 0; i <= 255; i++) {
pixels.setPixelColor(0, pixels.Color(i, 0, 255 - i)); // Blue decreases, Red increases
pixels.show();
delay(10); // Adjust delay for smoothness
}
}

  • Passo 3. Selecione o modelo de placa como XIAO RA4M1 e selecione o número de porta correto para enviar o programa.

Bateria e Gerenciamento de Energia

É possível ler a tensão da bateria sem componentes extras? Sim, com o XIAO RA4M1 isso é mais fácil do que nunca. Em membros anteriores da família XIAO, como o XIAO ESP32C3, ler a tensão da bateria exigia conexão manual ao A0 com um resistor.

Mas com o XIAO RA4M1, esse processo é simplificado. Agora você pode usar diretamente o pino BAT_DET_PIN/P105 para ler o nível de tensão da bateria, simplificando seu design e desenvolvimento. Apenas lembre-se de definir o pino BAT_READ_EN/P400 para alto, pois é necessário para habilitar a leitura do nível da bateria.

  • Passo 1. Preparação de hardware
Seeed Studio XIAO RA4M1Seeed Studio Expansion Base for XIAO with Grove OLED

O display OLED na placa de expansão XIAO usa o protocolo I2C e é conectado à interface I2C do XIAO através do circuito I2C na placa. Portanto, podemos conectar diretamente o XIAO na placa de expansão e programá-lo para exibir conteúdo na tela.

  • Passo 2. Instale a biblioteca u8g2.
  • Passo 3. Copie o código e cole na IDE 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
}

  • Etapa 4. Selecione o modelo de placa como XIAO RA4M1 e selecione o número de porta correto para enviar o programa

Recursos

Design de Hardware

Solução de Problemas

P1: O que devo observar ao soldar pinos

Devido ao tamanho diminuto do XIAO RA4M1, tenha cuidado ao soldar os headers, não junte pinos diferentes e não deixe a solda encostar no shield ou em outros componentes. Caso contrário, isso pode fazer com que o XIAO entre em curto-circuito ou não funcione corretamente, e as consequências disso serão de responsabilidade do usuário.

Suporte Técnico e Discussão de Produto

Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...