Primeiros Passos com a Z-S3 V1: Blink e LED RGB

⚠️ Configuração Obrigatória: Família Z-S3

Como estas placas utilizam a USB direta do processador (Pinos 19/20), siga estas configurações para garantir que a gravação funcione e o Serial apareça.

1. Configuração da IDE (Menu Ferramentas)

  • Board: ESP32S3 Dev Module
  • USB CDC On Boot: Enabled
  • USB DFU On Boot: Disabled
  • Upload Mode: USB-OTG CDC (JTAG)
  • Flash Mode: DIO ou QIO

🔥 ATENÇÃO: CONFIGURAÇÃO DE PSRAM (MEMÓRIA RAM)

  • Para Z-S3 ADs (Sem Câmera):
    • PSRAM: Disabled (ou QSPI)
    • Motivo: Se ativar OPI, trava o pino 37 (I2C).
  • Para Z-S3 EchoVision (Com Câmera):
    • PSRAM: OPI PSRAM (Recomendado) ou QSPI
    • Motivo: Obrigatório estar ativado! O buffer da câmera é pesado e precisa da PSRAM externa para funcionar.

2. Primeiro Upload (Modo Boot)

Se a porta COM sumir ou o Windows/Mac não reconhecer:

Agora vamos começar!

Seja bem-vindo ao ecossistema Zion! Se você está com a Z-S3 V1 em mãos, sabe que tem um poderoso microcontrolador ESP32-S3 pronto para seus projetos de IoT. Hoje vamos fazer o “batismo de fogo” da placa: configurar a Arduino IDE, fazer o LED de status piscar (o clássico Blink) e controlar o LED RGB endereçável (WS2812) integrado. O que você vai precisar:
-Placa Z-S3 V1

-Cabo USB-C de boa qualidade (cuidado com cabos apenas de carga!)

-Computador com Arduino IDE instalada

Passo 1: Configurando a Arduino IDE
O ESP32-S3 é um chip moderno e precisa das definições corretas na IDE. Abra a Arduino IDE e vá em Arquivo > Preferências. No campo “URLs Adicionais para Gerenciadores de Placas”, cole este link:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

Vá em Ferramentas > Placa > Gerenciador de Placas. Busque por “ESP32” (por Espressif Systems) e clique em Instalar. Agora, selecione sua placa em Ferramentas > Placa > esp32 > ESP32S3 Dev Module. Certifique-se também de ativar:

-USB CDC On Boot: “Enable” (Isso ajuda a visualizar o Serial Monitor via USB nativo). 

Projeto 1: Controlando o LED (IO2)

A Z-S3 V1 possui um LED de uso geral conectado ao pino GPIO 2. Vamos fazê-lo piscar para garantir que conseguimos gravar o código. Copie o código abaixo e cole na sua IDE:

/*
  Blink Z-s3 V1
  Pino do LED: IO2
*/

#define LED_PIN 2

void setup() {
  // Configura o pino do LED como saída
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_PIN, HIGH);  // Liga o LED (Tensão 3.3V)
  delay(1000);                  // Espera 1 segundo (1000 ms)
  digitalWrite(LED_PIN, LOW);   // Desliga o LED (GND)
  delay(1000);                  // Espera 1 segundo
}

Clique no botão de seta (Upload) na IDE. Se tudo der certo, o LED da placa começará a piscar a cada segundo.


Projeto 2: Controlando o RGB WS2812 (IO1)

Agora vamos brincar com cores. A placa possui um LED inteligente WS2812 conectado ao GPIO 1. Para isso, precisamos de uma biblioteca.

  1. Na IDE, vá em Sketch > Incluir Biblioteca > Gerenciar Bibliotecas.
  2. Busque por “Adafruit NeoPixel” e instale a versão mais recente.

Agora, carregue o código abaixo:

/*
  Teste RGB Z-s3 V1 (WS2812)
  Pino do RGB: IO1
*/

#include <Adafruit_NeoPixel.h>

#define PIN        1   // Pino onde o WS2812 está ligado
#define NUMPIXELS  1   // Quantidade de LEDs (na Z-s3 V1 temos 1)

// Instância do objeto NeoPixel
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  pixels.begin(); // Inicializa a biblioteca NeoPixel
  pixels.setBrightness(50); // Define brilho (0 a 255) - cuidado com os olhos!
}

void loop() {
  // Cor: Vermelho
  pixels.setPixelColor(0, pixels.Color(255, 0, 0));
  pixels.show();   // Envia o comando para o LED
  delay(1000);

  // Cor: Verde
  pixels.setPixelColor(0, pixels.Color(0, 255, 0));
  pixels.show();
  delay(1000);

  // Cor: Azul
  pixels.setPixelColor(0, pixels.Color(0, 0, 255));
  pixels.show();
  delay(1000);
  
  // Cor: Branco (Tudo ligado)
  pixels.setPixelColor(0, pixels.Color(255, 255, 255));
  pixels.show();
  delay(1000);
}

Faça o upload. Seu LED deve alternar entre Vermelho, Verde, Azul e Branco. O comando pixels.Color(R, G, B) aceita valores de 0 a 255. Você pode misturar essas cores para criar roxo, amarelo, ciano ou qualquer outra cor do espectro!


Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *