Altimetr Mercury má děličku napětí připojenou na pin definovaný jako USBDETECT.
Pokud je připojen USB (5V), pin USBDETECT se načte jako 1 (HIGH), když není připojeno USB, načte se jako 0 (LOW)
Používáte Arduino IDE? Náš online programátor obsahuje Mercury_Pins.h ve výchozím nastavení, takže názvy pinů fungují bez problémů. Pokud používáte Arduino IDE nebo jiný programátor, zkopírujte obsah karty Mercury_Pins.h a vložte jej na začátek vašeho programu.
/* * Mercury V1 (ESP32-C6) Detekce USB * Přítomnost USB můžete detekovat čtením stavu USBDETECT */ #include "Mercury_Pins.h" void setup() { pinMode(USBDETECT, INPUT); // Musíte nastavit USBDETECT jako vstup Serial.begin(115200); delay(1000); } void loop() { if(digitalRead(USBDETECT) == 1){ // USB detekováno } if(digitalRead(USBDETECT) == 0){ // Žádné USB nepřipojeno } delay(500); }#pragma once /* * Mercury (ESP32-C6) Definice pinů * Přiřazení GPIO specifická pro desku */ // ââ Stavový LED (NeoPixel) ââ #define LEDPOWER 3 // Napájení NeoPixel (nastavit HIGH pro povolení) #define LED 2 // Signál dat NeoPixel // ââ I2C sběrnice ââ #define SDA 21 // I2C data #define SCL 22 // I2C hodiny // ââ Napájení senzoru ââ #define VACC 20 // Senzor napájecího pásu (nastavit HIGH pro povolení) // ââ Porty pro obecné použití ââ #define GP06 6 // Port GP06 #define GP07 7 // Port GP07 // ââ Výstup s vysokým proudem ââ #define OUT1 5 // Výstup s vysokým proudem (např. pyro / relé) // ââ Indikátory baterie ââ #define BL1 4 // LED baterie 1 (nejnižší) #define BL2 14 // LED baterie 2 #define BL3 15 // LED baterie 3 #define BL4 18 // LED baterie 4 #define BL5 19 // LED baterie 5 (nejvyšší) // ââ Indikátory ââ #define DISK 8 // LED aktivita disku // ââ Analogové / Detekce ââ #define BATIN 0 // Napětí baterie (dělička 1:1) #define USBDETECT 1 // Detekce USB napájení (HIGH = USB přítomno) #define BUTTON 9 // TLAČÍTKO na desce, boot tlačítko ale lze jej použít