Manual Mercury V1
Descubre cómo volar rápidamente con facilidad, conecta tu altimeter para subir datos al sitio web de Altimeter Cloud y todas las características avanzadas también. Si estás atascado o apenas comenzando, este es el lugar indicado.

Ejemplo de código: Usando los botones del Mercury V1

PDF

El altímetro Mercury tiene dos botones en la placa. Uno es el botón de reinicio para Mercury llamado POWER, y el otro es el botón de arranque llamado BUTTON.
Puedes usar el BUTTON en tu código según sea necesario como un botón de presión general, aunque el botón de energía reiniciará la placa.

Usamos el botón de reinicio para recordar si estaba encendido o apagado en la ejecución anterior para que pueda actuar como un interruptor de encendido/apagado. Si el dispositivo estaba apagado en la última ejecución, ahora se ejecutará y se encenderá. Si el dispositivo estaba encendido en la última ejecución, entrará en modo de sueño profundo.

El siguiente código muestra cómo puedes usar el botón general e imprimir a Serial cuando lo presiones.

¿Usas Arduino IDE? Nuestro programador en línea incluye Mercury_Pins.h por defecto, por lo que los nombres de los pines funcionan sin problemas. Si estás usando Arduino IDE u otro programador, copia el contenido de la pestaña Mercury_Pins.h y pégalo en la parte superior de tu programa.
/*
 * Mercury V1 (ESP32-C6) Ejemplo de botón
 * Imprime a Serial cuando presionas el botón. 
* Conecta el monitor serial después de cargar el programa en el dispositivo. */ #include "Mercury_Pins.h" void setup() { pinMode(BUTTON, INPUT_PULLUP); // Necesitas activar el pullup del entrada BUTTON, será 1 cuando NO se presione y 0 cuando se presione. Serial.begin(115200); delay(1000); Serial.println("Esperando botón..."); } void loop() { if(digitalRead(BUTTON) == 0){ // Si el pin BUTTON = 0 entonces el botón está presionado. Serial.println("Botón presionado."); } delay(500); }
#pragma once /* * Mercury (ESP32-C6) Definiciones de pines * Asignaciones GPIO específicas de la placa */ // ââ LED de estado (NeoPixel) ââ #define LEDPOWER 3 // Alimentación NeoPixel (dirigir HIGH para habilitar) #define LED 2 // Señal de datos NeoPixel // ââ Bus I2C ââ #define SDA 21 // Datos I2C #define SCL 22 // Reloj I2C // ââ Alimentación del sensor ââ #define VACC 20 // Carril de alimentación del sensor (dirigir HIGH para habilitar) // ââ Puertos de propósito general ââ #define GP06 6 // Puerto GP06 #define GP07 7 // Puerto GP07 // ââ Salida de alta corriente ââ #define OUT1 5 // Salida de alta corriente (p. ej. pyro / relé) // ââ LEDs de barra de batería ââ #define BL1 4 // LED de batería 1 (más bajo) #define BL2 14 // LED de batería 2 #define BL3 15 // LED de batería 3 #define BL4 18 // LED de batería 4 #define BL5 19 // LED de batería 5 (más alto) // ââ Indicadores ââ #define DISK 8 // LED de actividad de disco // ââ Analógico / Detección ââ #define BATIN 0 // Voltaje de batería (divisor 1:1) #define USBDETECT 1 // Detección de energía USB (HIGH = USB presente) #define BUTTON 9 // BUTTON en la placa, botón de arranque pero se puede usar