Instrukcja Mercury V1
Dowiedz się, jak szybko i łatwo latać, podłącz swój wysokościomierz do przesyłania danych na stronę Altimeter Cloud i korzystaj ze wszystkich zaawansowanych funkcji. Jeśli utknąłeś w miejscu lub dopiero zaczynasz, to jest odpowiednie miejsce dla Ciebie.

Przykład kodu: dioda LED statusu NeoPixel

PDF

Mercury ma albo 1 diodę statusu typu "Neopixel", albo 4 rozmieszczone w kwadracie od wersji 3 wzwyż.
Najłatwiej ich używać to je włączyć (zobacz stronę Sterowanie zasilaniem) a następnie użyć standardowej biblioteki. 
W tym przykładzie możesz zmienić to na 4 lub 1 piksel - domyślnie ustawiliśmy 4 piksele. 

Używasz Arduino IDE? Nasz programista online domyślnie zawiera Mercury_Pins.h, więc nazwy pinów działają bez problemu. Jeśli używasz Arduino IDE lub innego programisty, skopiuj zawartość karty Mercury_Pins.h i wklej ją na początek twojego programu.
/*
 * Mercury V1 (ESP32-C6) Przykład diody statusu
 * Przenosi Neopixel(e) przez różne kolory
 */
#include "Mercury_Pins.h"
#include "Adafruit_NeoPixel.h"

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

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

    // Włącz szynę zasilania NeoPixel
    pinMode(LEDPOWER, OUTPUT);
    digitalWrite(LEDPOWER, HIGH);
    delay(10);

    pixels.begin();
    pixels.setBrightness(140);  // Utrzymuj niską jasność (0-255)
    pixels.show();

    Serial.println("Cykl kolorów NeoPixel rozpoczęty");
}

// Płynnie przejedź wszystkie piksele przez tarczę kolorów
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
/*
 * Definicje pinów Mercury (ESP32-C6)
 * Przypisania GPIO specyficzne dla płyty
 */

// ââ Dioda statusu (NeoPixel) ââ
#define LEDPOWER      3    // Zasilanie NeoPixel (kieruj HIGH aby włączyć)
#define LED           2    // Sygnał danych NeoPixel

// ââ Magistrala I2C ââ
#define SDA           21   // Dane I2C
#define SCL           22   // Zegar I2C

// ââ Zasilanie czujnika ââ
#define VACC          20   // Szyna zasilania czujnika (kieruj HIGH aby włączyć)

// ââ Porty ogólnego przeznaczenia ââ
#define GP06          6    // Port GP06
#define GP07          7    // Port GP07

// ââ Wysokoprądowe wyjście ââ
#define OUT1          5    // Wysokoprądowe wyjście (np. pyro / przekaźnik)

// ââ Diody paska baterii ââ
#define BL1           4    // Dioda baterii 1 (najniższa)
#define BL2           14   // Dioda baterii 2
#define BL3           15   // Dioda baterii 3
#define BL4           18   // Dioda baterii 4
#define BL5           19   // Dioda baterii 5 (najwyższa)

// ââ Wskaźniki ââ
#define DISK          8    // Dioda aktywności dysku

// ââ Analogowe / Detektory ââ
#define BATIN         0    // Napięcie baterii (dzielnik 1:1)
#define USBDETECT     1    // Detekcja zasilania USB (HIGH = USB obecny)
#define BUTTON        9    // PRZYCISK na płycie, przycisk boot ale można go używać