De Mercury altimeter heeft een spanningsdeler aangesloten op de pin die is gedefinieerd als USBDETECT.
Als USB aanwezig is (5V) leest de USBDETECT pin 1 (HIGH), wanneer geen USB is aangesloten leest deze 0 (LOW)
Gebruikt u Arduino IDE? Onze online programmer bevat Mercury_Pins.h standaard dus de pinnamen werken zonder problemen. Als u Arduino IDE of een ander programma gebruikt, kopieer dan de inhoud van het Mercury_Pins.h tabblad en plak deze bovenaan uw programma.
/* * Mercury V1 (ESP32-C6) USB detecteren * U kunt de aanwezigheid van USB detecteren door de toestand van USBDETECT uit te lezen */ #include "Mercury_Pins.h" void setup() { pinMode(USBDETECT, INPUT); // U moet USBDETECT als invoer instellen Serial.begin(115200); delay(1000); } void loop() { if(digitalRead(USBDETECT) == 1){ // USB gedetecteerd } if(digitalRead(USBDETECT) == 0){ // Geen USB aangesloten } delay(500); }#pragma once /* * Mercury (ESP32-C6) Pindefinities * Bordspecifieke GPIO-toewijzingen */ // ââ Status LED (NeoPixel) ââ #define LEDPOWER 3 // NeoPixel voeding (zet HIGH om in te schakelen) #define LED 2 // NeoPixel datasignaal // ââ I2C bus ââ #define SDA 21 // I2C data #define SCL 22 // I2C klok // ââ Sensorvoeding ââ #define VACC 20 // Sensor voedingsRail (zet HIGH om in te schakelen) // ââ Algemene doeleinden poorten ââ #define GP06 6 // GP06 poort #define GP07 7 // GP07 poort // ââ Hoogstroom uitgang ââ #define OUT1 5 // Hoogstroom uitgang (bijv. pyro / relais) // ââ Batterij LED's ââ #define BL1 4 // Batterij LED 1 (laagste) #define BL2 14 // Batterij LED 2 #define BL3 15 // Batterij LED 3 #define BL4 18 // Batterij LED 4 #define BL5 19 // Batterij LED 5 (hoogste) // ââ Indicatoren ââ #define DISK 8 // Schijf activiteits-LED // ââ Analoog / Detectie ââ #define BATIN 0 // Batterijspanning (1:1 deler) #define USBDETECT 1 // USB voeding detectie (HIGH = USB aanwezig) #define BUTTON 9 // BUTTON op het bord, bootknop maar kan worden gebruikt