El altímetro Mercury tiene un divisor de voltaje conectado al pin definido como USBDETECT.
Si USB está presente (5V) entonces el pin USBDETECT leerá como 1 (HIGH), cuando no hay USB conectado leerá como 0 (LOW)
¿Usando 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á utilizando Arduino IDE u otro programador, copie el contenido de la pestaña Mercury_Pins.h y péguelo en la parte superior de su programa.
/* * Mercury V1 (ESP32-C6) Detectando USB * Puede detectar la presencia de USB leyendo el estado de USBDETECT */ #include "Mercury_Pins.h" void setup() { pinMode(USBDETECT, INPUT); // Necesita establecer USBDETECT como entrada Serial.begin(115200); delay(1000); } void loop() { if(digitalRead(USBDETECT) == 1){ // USB detectado } if(digitalRead(USBDETECT) == 0){ // No hay USB conectado } delay(500); }#pragma once /* * Definiciones de Pines Mercury (ESP32-C6) * Asignaciones de GPIO específicas de la placa */ // ââ LED de Estado (NeoPixel) ââ #define LEDPOWER 3 // Alimentación NeoPixel (establecer 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 (establecer HIGH para habilitar) // ââ Puertos de Propósito General ââ #define GP06 6 // Puerto GP06 #define GP07 7 // Puerto GP07 // ââ Salida de Alto Rendimiento ââ #define OUT1 5 // Salida de alto rendimiento (p. ej. pirotecnia / relé) // ââ LEDs 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 alimentación USB (HIGH = USB presente) #define BUTTON 9 // BOTÓN en la placa, botón de arranque pero se puede usar