Manual Mercury V1
Descubra como voar rapidamente com facilidade, conecte seu altímetro para fazer upload para o site Altimeter Cloud e todas as funcionalidades avançadas também. Se você está com dificuldades ou apenas começando, este é o lugar certo para estar.

Exemplo de código: LED de status NeoPixel

PDF

O Mercury possui 1 LED de status do tipo "Neopixel" ou 4 em um quadrado a partir da revisão 3 em diante.
A forma mais fácil de usá-los é ativá-los (Veja a página de controle de energia) e depois usar uma biblioteca padrão. 
Neste exemplo você pode alterá-lo para 4 ou 1 pixel, padronizamos para 4 pixels. 

Usando Arduino IDE? Nosso programador online inclui Mercury_Pins.h por padrão, portanto os nomes dos pinos funcionam sem problemas. Se você estiver usando Arduino IDE ou outro programador, copie o conteúdo da aba Mercury_Pins.h e cole-o no início do seu programa.
/*
 * Exemplo de LED de Status Mercury V1 (ESP32-C6)
 * Cicla o(s) Neopixel(s) através de várias cores
 */
#include "Mercury_Pins.h"
#include "Adafruit_NeoPixel.h"

Adafruit_NeoPixel pixels(4, LED, NEO_GRB + NEO_KHZ800);

void setup() {
    Serial.begin(115200);

    // Ativar o trilho de energia do NeoPixel
    pinMode(LEDPOWER, OUTPUT);
    digitalWrite(LEDPOWER, HIGH);
    delay(10);

    pixels.begin();
    pixels.setBrightness(140);  // Manter o brilho baixo (0-255)
    pixels.show();

    Serial.println("Ciclo de cores do NeoPixel iniciado");
}

// Cicla suavemente todos os pixels através da roda de cores
void rainbow(int wait) {
    static uint16_t hue = 0;
    for (int i = 0; i < pixels.numPixels(); i++) {
        uint16_t pixelHue = hue + (i * 65536L / pixels.numPixels());
        pixels.setPixelColor(i, pixels.gamma32(pixels.ColorHSV(pixelHue)));
    }
    pixels.show();
    hue += 256;
    delay(wait);
}

void loop() {
    rainbow(20);
}



#pragma once
/*
 * Definições de Pinos Mercury (ESP32-C6)
 * Atribuições de GPIO específicas da placa
 */

// ââ LED de Status (NeoPixel) ââ
#define LEDPOWER      3    // Energia do NeoPixel (definir ALTO para ativar)
#define LED           2    // Sinal de dados do NeoPixel

// ââ Barramento I2C ââ
#define SDA           21   // Dados I2C
#define SCL           22   // Relógio I2C

// ââ Energia do Sensor ââ
#define VACC          20   // Trilho de energia do sensor (definir ALTO para ativar)

// ââ Portas de Propósito Geral ââ
#define GP06          6    // Porta GP06
#define GP07          7    // Porta GP07

// ââ Saída de Alta Corrente ââ
#define OUT1          5    // Saída de alta corrente (ex: pirotécnico / relé)

// ââ LEDs de Barra de Bateria ââ
#define BL1           4    // LED de Bateria 1 (menor)
#define BL2           14   // LED de Bateria 2
#define BL3           15   // LED de Bateria 3
#define BL4           18   // LED de Bateria 4
#define BL5           19   // LED de Bateria 5 (maior)

// ââ Indicadores ââ
#define DISK          8    // LED de atividade de disco

// ââ Analógico / Detecção ââ
#define BATIN         0    // Tensão da bateria (divisor 1:1)
#define USBDETECT     1    // Detecção de energia USB (ALTO = USB presente)
#define BUTTON        9    // BOTÃO na placa, botão de inicialização mas pode ser usado