Manuel Mercury V1
Découvrez comment voler rapidement et facilement, connectez votre altimètre pour télécharger vers le site web Altimeter Cloud et accédez à toutes les fonctionnalités avancées également. Si vous êtes bloqué ou si vous débutez, c'est l'endroit où il faut être.

Exemple de code : LED de statut NeoPixel

PDF

Le Mercury dispose soit d'une LED d'état de type « Neopixel », soit de 4 disposées en carré à partir de la révision 3.
Le moyen le plus simple de les utiliser est de les allumer (Voir la page Contrôle de l'alimentation) puis d'utiliser une bibliothèque standard. 
Dans cet exemple, vous pouvez le changer entre 4 ou 1 pixel ; nous l'avons défini par défaut à 4 pixels. 

Vous utilisez Arduino IDE ? Notre programmateur en ligne inclut Mercury_Pins.h par défaut afin que les noms de broches fonctionnent sans problème. Si vous utilisez Arduino IDE ou un autre programmateur, copiez le contenu de l'onglet Mercury_Pins.h et collez-le en haut de votre programme.
/*
 * Mercury V1 (ESP32-C6) Exemple de LED d'état
 * Fait défiler les Neopixel(s) à travers diverses couleurs
 */
#include "Mercury_Pins.h"
#include "Adafruit_NeoPixel.h"

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

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

    // Activer le rail d'alimentation NeoPixel
    pinMode(LEDPOWER, OUTPUT);
    digitalWrite(LEDPOWER, HIGH);
    delay(10);

    pixels.begin();
    pixels.setBrightness(140);  // Maintenir la luminosité basse (0-255)
    pixels.show();

    Serial.println("Cycle de couleur NeoPixel démarré");
}

// Faire défiler tous les pixels en douceur à travers la roue chromatique
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
/*
 * Mercury (ESP32-C6) Définitions des broches
 * Assignations GPIO spécifiques à la carte
 */

// ââ LED d'état (NeoPixel) ââ
#define LEDPOWER      3    // Alimentation NeoPixel (mettre HIGH pour activer)
#define LED           2    // Signal de données NeoPixel

// ââ Bus I2C ââ
#define SDA           21   // Données I2C
#define SCL           22   // Horloge I2C

// ââ Alimentation des capteurs ââ
#define VACC          20   // Rail d'alimentation des capteurs (mettre HIGH pour activer)

// ââ Ports polyvalents ââ
#define GP06          6    // Port GP06
#define GP07          7    // Port GP07

// ââ Sortie haut courant ââ
#define OUT1          5    // Sortie haut courant (par ex. pyrotechnique / relais)

// ââ LEDs de barre de batterie ââ
#define BL1           4    // LED batterie 1 (plus basse)
#define BL2           14   // LED batterie 2
#define BL3           15   // LED batterie 3
#define BL4           18   // LED batterie 4
#define BL5           19   // LED batterie 5 (plus haute)

// ââ Indicateurs ââ
#define DISK          8    // LED activité disque

// ââ Analogue / Détection ââ
#define BATIN         0    // Tension batterie (diviseur 1:1)
#define USBDETECT     1    // Détection alimentation USB (HIGH = USB présent)
#define BUTTON        9    // BUTTON sur la carte, bouton de démarrage mais peut être utilisé