Manual Mercury V1
Descubra como voar rapidamente com facilidade, conecte seu altímetro para fazer upload para o site Altimeter Cloud e todas as funcionalidades avançadas também. Se você está com dificuldades ou apenas começando, este é o lugar certo para estar.

Exemplo de código: Usando os botões do Mercury V1

PDF

O altímetro Mercury possui dois botões de pressão na placa. Um é o botão de reset do Mercury chamado POWER, e o outro é o botão de inicialização chamado BUTTON.
Você pode usar o BUTTON no seu código conforme necessário como um botão de pressão geral, embora o botão de energia reinicie a placa.

Usamos o botão de reset para lembrar se estava ligado ou desligado na execução anterior para que possa funcionar como um switch de ativação/desativação. Se o dispositivo estava desligado na última execução, ele agora será executado e ligará. Se o dispositivo estava ligado na última execução, ele entrará em modo de sono profundo.

O código a seguir mostra como você pode usar o botão geral e imprimir para Serial quando pressionar.

Usando Arduino IDE? Nosso programador online inclui Mercury_Pins.h por padrão para que os nomes dos pinos funcionem sem problemas. Se você estiver usando Arduino IDE ou outro programador, copie o conteúdo da aba Mercury_Pins.h e cole-o no topo do seu programa.
/*
 * Exemplo de Botão Mercury V1 (ESP32-C6)
 * Imprime para Serial quando você pressiona o botão. 
* Conecte o monitor serial após enviar o programa para o dispositivo. */ #include "Mercury_Pins.h" void setup() { pinMode(BUTTON, INPUT_PULLUP); // Você precisa fazer pullup da entrada BUTTON, ela será 1 quando NÃO pressionada e 0 quando pressionada. Serial.begin(115200); delay(1000); Serial.println("Aguardando botão..."); } void loop() { if(digitalRead(BUTTON) == 0){ // Se o pino BUTTON = 0 então o botão está pressionado. Serial.println("Botão pressionado."); } delay(500); }
#pragma once /* * Definições de Pinos Mercury (ESP32-C6) * Atribuições de GPIO específicas da placa */ // ââ LED de Status (NeoPixel) ââ #define LEDPOWER 3 // Alimentação do NeoPixel (coloque em HIGH para ativar) #define LED 2 // Sinal de dados do NeoPixel // ââ Barramento I2C ââ #define SDA 21 // Dados I2C #define SCL 22 // Clock I2C // ââ Alimentação do Sensor ââ #define VACC 20 // Trilho de alimentação do sensor (coloque em HIGH para ativar) // ââ Portas de Propósito Geral ââ #define GP06 6 // Porta GP06 #define GP07 7 // Porta GP07 // ââ Saída de Alta Corrente ââ #define OUT1 5 // Saída de alta corrente (p. ex. pirotecnia / relé) // ââ LEDs de Bateria ââ #define BL1 4 // LED de Bateria 1 (mais baixo) #define BL2 14 // LED de Bateria 2 #define BL3 15 // LED de Bateria 3 #define BL4 18 // LED de Bateria 4 #define BL5 19 // LED de Bateria 5 (mais alto) // ââ Indicadores ââ #define DISK 8 // LED de atividade de disco // ââ Analógico / Detecção ââ #define BATIN 0 // Tensão da bateria (divisor 1:1) #define USBDETECT 1 // Detecção de energia USB (HIGH = USB presente) #define BUTTON 9 // BUTTON na placa, botão de inicialização mas pode ser usado