Instrukcja Mercury V1
Dowiedz się, jak szybko i łatwo latać, podłącz swój wysokościomierz do przesyłania danych na stronę Altimeter Cloud i korzystaj ze wszystkich zaawansowanych funkcji. Jeśli utknąłeś w miejscu lub dopiero zaczynasz, to jest odpowiednie miejsce dla Ciebie.

Przykład kodu: Używanie przycisków Mercury V1

PDF

Altimetr Mercury ma dwa przyciski na płytce. Jeden to przycisk resetowania altimetru Mercury zwany POWER, a drugi to przycisk uruchomieniowy zwany BUTTON.
Możesz używać BUTTON w swoim kodzie w razie potrzeby jako zwykły przycisk, chociaż przycisk zasilania uruchomi ponownie płytkę.

Używamy przycisku resetowania, aby zapamiętać, czy był włączony czy wyłączony podczas poprzedniego uruchomienia, dzięki czemu może działać jako przełącznik włączania/wyłączania. Jeśli urządzenie było wyłączone podczas ostatniego uruchomienia, teraz będzie uruchamiać się i włączać. Jeśli urządzenie było włączone podczas ostatniego uruchomienia, przejdzie w tryb głęboiego snu.

Poniższy kod pokazuje, jak możesz używać zwykłego przycisku i wydrukować do Serial gdy go naciśniesz.

Używasz Arduino IDE? Nasz programator online domyślnie zawiera Mercury_Pins.h, dzięki czemu nazwy pinów działają bez problemu. Jeśli używasz Arduino IDE lub innego programatora, skopiuj zawartość karty Mercury_Pins.h i wklej ją na początek swojego programu.
/*
 * Mercury V1 (ESP32-C6) Button example
 * Prints to Serial when you press the button. 
* Connect the serial monitor after uploading to the device. */ #include "Mercury_Pins.h" void setup() { pinMode(BUTTON, INPUT_PULLUP); // You need to pullup the BUTTON input, it will be 1 when NOT pressed and 0 when pressed. Serial.begin(115200); delay(1000); Serial.println("Waiting for button..."); } void loop() { if(digitalRead(BUTTON) == 0){ // If the BUTTON pin = 0 then the button is pressed. Serial.println("Button pressed."); } delay(500); }
#pragma once /* * Mercury (ESP32-C6) Pin Definitions * Board-specific GPIO assignments */ // ââ Status LED (NeoPixel) ââ #define LEDPOWER 3 // NeoPixel power (drive HIGH to enable) #define LED 2 // NeoPixel data signal // ââ I2C Bus ââ #define SDA 21 // I2C data #define SCL 22 // I2C clock // ââ Sensor Power ââ #define VACC 20 // Sensor power rail (drive HIGH to enable) // ââ General Purpose Ports ââ #define GP06 6 // GP06 port #define GP07 7 // GP07 port // ââ High Current Output ââ #define OUT1 5 // High current output (e.g. pyro / relay) // ââ Battery Bar LEDs ââ #define BL1 4 // Battery LED 1 (lowest) #define BL2 14 // Battery LED 2 #define BL3 15 // Battery LED 3 #define BL4 18 // Battery LED 4 #define BL5 19 // Battery LED 5 (highest) // ââ Indicators ââ #define DISK 8 // Disk activity LED // ââ Analogue / Detection ââ #define BATIN 0 // Battery voltage (1:1 divider) #define USBDETECT 1 // USB power detect (HIGH = USB present) #define BUTTON 9 // BUTTON on the board, boot button but can be used