Pular para o conteúdo principal

Seeed Studio XIAO RP2040 com Arduino

Esta é a página em que vamos conectar o Seeed Studio XIAO RP2040 e programá‑lo com Arduino. Também haverá vários projetos sobre multiplexação de pinos.

Primeiros Passos

Primeiro, vamos conectar o Seeed Studio XIAO RP2040 ao computador e enviar um código simples a partir do Arduino para verificar se a placa está funcionando bem.

Configuração de Hardware

Materiais necessários:

  • Seeed Studio XIAO RP2040 x1
  • PC x1
  • Cabo USB Tipo‑C x1
dica

Alguns cabos USB só podem fornecer energia e não transferem dados. Se você não tiver um cabo USB ou não souber se o seu cabo USB pode transmitir dados, você pode conferir seeed USB type C support USB 3.1.

Conexão de Hardware:

  • Passo 1. Mantenha pressionado o botão BOOT e então conecte o Seeed Studio XIAO RP2040 ao PC.
  • Passo 2. Se o disco "RPI-RP2" for exibido no PC e o LED de alimentação no Seeed Studio XIAO RP2040 acender, a conexão está concluída.

Configuração de Software

  • Passo 1. Baixe e instale a versão mais recente da Arduino IDE de acordo com o seu sistema operacional

  • Passo 2. Abra o aplicativo Arduino.

  • Passo 3. Adicione o pacote de placa Seeed Studio XIAO RP2040 à sua Arduino IDE

Navegue até File > Preferences e preencha Additional Boards Manager URLs com a URL abaixo:

https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

Navegue até Tools-> Board-> Boards Manager..., digite a palavra‑chave "RP2040" no campo de busca. Selecione a versão mais recente de "Raspberry Pi Pico/RP2040" e instale‑a.

Atenção

O pacote onboard chamado Seeed XIAO RP2040 não está mais disponível, por favor não o baixe nem o utilize!

Instale o pacote "Raspberry Pi Pico/RP2040", que inclui a placa "Seeed XIAO RP2040".

  • Passo 4. Selecione sua placa e porta.

  • Passo 5. Abra o exemplo Blink navegando em "File --> Examples --->01.Basics --> Blink"

Placa

Após instalar o pacote de placas, navegue até Tools-> Board, encontre "Seeed Studio XIAO RP2040" e selecione‑o. Agora concluímos a configuração do Seeed Studio XIAO RP2040 para a Arduino IDE.

Porta

Navegue até Tools > Port e selecione o nome da porta serial do Seeed Studio XIAO RP2040 conectado. Provavelmente será COM3 ou superior (COM1 e COM2 geralmente são reservadas para portas seriais de hardware). A porta serial do Seeed Studio XIAO RP2040 conectado geralmente contém entre parênteses o texto "Seeed Studio XIAO RP2040".

  • Passo 6. Clique no botão Upload para enviar o código de exemplo Blink para a placa.

Depois do upload, você deverá ver o LED verde (USER) do pino 25 na placa piscando uma vez por segundo. Se isso acontecer, parabéns! Isso significa que a conexão foi bem‑sucedida e agora você pode explorar mais projetos com o Seeed Studio XIAO RP2040!

nota

Se o envio do programa Arduino falhar, tente manter pressionado o botão "BOOT" e então clicar no botão "RUN". Neste momento, o Seeed Studio XIAO RP2040 entrará em modo de boot (seu computador irá montar um disco removível) e você poderá fazer o upload do programa Arduino novamente.

Multiplexação de pinos no Seeed Studio XIAO RP2040

O Seeed Studio XIAO RP2040 contém 11 pinos digitais, 4 pinos analógicos, 11 pinos PWM, 1 interface I2C, 1 interface UART, 1 interface SPI, 1 interface de almofada de ligação SWD. Vamos fornecer tutoriais sobre essas interfaces para torná‑las úteis para seus projetos.

Digital

Conecte um push button ao pino D0 e um LED ao pino 25. Em seguida, envie o seguinte código para controlar o LIGAR/DESLIGAR do LED usando o push button.

atenção

Observe que a tensão de operação do Seeed Studio XIAO RP2040 é 3,3 V; se você conectar o sensor incorretamente a 5 V, a placa‑mãe pode não funcionar corretamente.

const int buttonPin = D0;     // the number of the pushbutton pin
const int ledPin = 25; // the number of the LED pin

int buttonState = 0; // variable for reading the pushbutton status

void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}

void loop() {
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);

// check if the pushbutton is pressed. If it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED off:
digitalWrite(ledPin, HIGH);
} else {
// turn LED on:
digitalWrite(ledPin, LOW);
}
}

Analógico

Conecte um potenciômetro ao pino A0 e um LED ao pino 25. Em seguida, envie o código a seguir para controlar o intervalo de piscada do LED girando o botão do potenciômetro.

const int sensorPin = A0;
const int ledPin = 25;
void setup() {
// declare the ledPin as an OUTPUT:
pinMode(sensorPin, INPUT);
pinMode(ledPin, OUTPUT);
}

void loop() {
// read the value from the sensor:
int sensorValue = analogRead(sensorPin);
// turn the ledPin on
digitalWrite(ledPin, HIGH);
// stop the program for <sensorValue> milliseconds:
delay(sensorValue);
// turn the ledPin off:
digitalWrite(ledPin, LOW);
// stop the program for for <sensorValue> milliseconds:
delay(sensorValue);
}

Serial

Use o pino D6 como pino TX da UART e o pino D7 como pino RX da UART para enviar a mensagem "Hello World!"

void setup() {
Serial.begin(115200);
while (!Serial);
}

void loop() {
Serial.println("Hello,World");
delay(1000);
}

LED RGB

O pino 11 é o pino de habilitação do LED RGB. Você pode acender o LED RGB definindo o pino 11 como nível alto. Aqui vamos fazê‑lo piscar. Primeiro, precisamos adicionar uma biblioteca de terceiros.

  • Passo 1. Abra a Arduino IDE, navegue até Sketch > Include Library > Manage Libraries... para pesquisar a biblioteca.

Digite a palavra‑chave "Adafruit_NeoPixel" na Arduino Library Manager e instale a versão mais recente.

  • Passo 2. Copie os códigos para o Arduino e clique no botão Upload para enviar.
#include <Adafruit_NeoPixel.h>

int Power = 11;
int PIN = 12;
#define NUMPIXELS 1

Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
pixels.begin();
pinMode(Power,OUTPUT);
digitalWrite(Power, HIGH);

}

void loop() {
pixels.clear();
pixels.setPixelColor(0, pixels.Color(15, 25, 205));
delay(400);
pixels.show();
pixels.clear();
pixels.setPixelColor(0, pixels.Color(103, 25, 205));
delay(400);
pixels.show();
pixels.clear();
pixels.setPixelColor(0, pixels.Color(233, 242, 205));
delay(400);
pixels.show();
pixels.clear();
pixels.setPixelColor(0, pixels.Color(233, 23, 23));
delay(400);
pixels.show();
pixels.clear();
pixels.setPixelColor(0, pixels.Color(12, 66, 101));
delay(400);
pixels.show();
delay(500);

}

O LED RGB exibirá cores em arco‑íris.

I2C

Aqui vamos conectar o Seeed Studio XIAO RP2040 com o Grove - OLED Display 0.96" (SSD1315) através de IIC e exibir "Hello world".

Conexão:

Vamos usar o PIN 5 como pino SCL e o PIN 4 como pino SDA.

  • Passo 1. Abra a Arduino IDE, navegue até Sketch > Include Library > Manage Libraries... para pesquisar a biblioteca.

Digite a palavra‑chave "U8G2" na Arduino Library Manager e instale a versão mais recente.

  • Passo 2. Copie os códigos para o Arduino e clique no botão Upload para enviar.
#include <Arduino.h>
#include <U8g2lib.h>

#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif

U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);

void setup(void) {
u8g2.begin();
}

void loop(void) {
u8g2.clearBuffer(); // clear the internal memory
u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font
u8g2.drawStr(0,10,"Hello Wrold!"); // write something to the internal memory
u8g2.drawStr(0,30,"Hello Werold!");
u8g2.drawStr(0,50,"Hello Wrrrold!");
u8g2.sendBuffer(); // transfer internal memory to the display
delay(1000);
}

Os resultados são mostrados como:

pir

SPI

Aqui vamos conectar o Grove - OLED Yellow&Blue Display 0.96 (SSD1315) via SPI e exibir "Hello World". O display OLED suporta tanto comunicação IIC quanto SPI, sendo que o modo de comunicação padrão é IIC. É essencial mudar a função IIC para a função SPI antes de começar.

Conexão:

Vamos usar o PIN 8 como pino SCK, o PIN 9 como pino MISO e o PIN10 como pino MOSI.

  • Passo 1. Abra o Arduino IDE, navegue até Sketch > Include Library > Manage Libraries... para buscar a biblioteca.

Digite a palavra‑chave "Adafruit_GFX" na Arduino Library Manager e instale a versão mais recente.

Digite a palavra‑chave "Adafruit_SSD1306" na Arduino Library Manager e instale a versão mais recente.

  • Passo 2. Copie os códigos para o Arduino e clique no botão Upload para carregar.
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// Declaration for SSD1306 display connected using software SPI (default case):
#define OLED_MOSI MOSI //Connect SSD1315 D1
#define OLED_CLK SCK //Connect SSD1315 D0
#define OLED_DC D4 //Connect SSD1315 D/C
#define OLED_CS SS //Connect SSD1315 CS
#define OLED_RESET D5 //Connect SSD1315 RES
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT,
OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);

void setup() {
Serial.begin(9600);
if(!display.begin(SSD1306_SWITCHCAPVCC)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;); // Don't proceed, loop forever
}
}

void loop() {
display.clearDisplay();
display.setTextSize(1); // Normal 1:1 pixel scale
display.setTextColor(SSD1306_WHITE); // Draw white text
display.setCursor(0,3); // Start at top-left corner
display.println(F("Hello"));
display.setTextSize(2);
display.setCursor(0,16);
display.println(F("Hello"));
display.setTextSize(3);
display.setCursor(0,38);
display.println(F("Hello"));
display.display();
delay(2000);
}

Os resultados são mostrados abaixo:

pir

Suporte Técnico & 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...