Pular para o conteúdo principal

Especificação da Biblioteca

Funções

Você pode usar todas as funcionalidades regulares do Arduino com o CanSat NeXT, bem como quaisquer bibliotecas do Arduino. As funções do Arduino podem ser encontradas aqui: https://www.arduino.cc/reference/en/.

A biblioteca CanSat NeXT adiciona várias funções fáceis de usar para utilizar os diferentes recursos a bordo, como sensores, rádio e o cartão SD. A biblioteca vem com um conjunto de exemplos de esboços que mostram como usar essas funcionalidades. A lista abaixo também mostra todas as funções disponíveis.

Funções de Inicialização do Sistema

CanSatInit

Funçãouint8_t CanSatInit(uint8_t macAddress[6])
Tipo de Retornouint8_t
Valor de RetornoRetorna 0 se a inicialização foi bem-sucedida, ou um valor diferente de zero se houve um erro.
Parâmetros
uint8_t macAddress[6]
Endereço MAC de 6 bytes compartilhado pelo satélite e pela estação terrestre. Este é um parâmetro opcional - quando não é fornecido, o rádio não é inicializado. Usado no exemplo de esboço: Todos
DescriçãoEste comando é encontrado no setup() de quase todos os scripts do CanSat NeXT. É usado para inicializar o hardware do CanSatNeXT, incluindo os sensores e o cartão SD. Além disso, se o macAddress for fornecido, ele inicia o rádio e começa a escutar mensagens recebidas. O endereço MAC deve ser compartilhado pela estação terrestre e pelo satélite. O endereço MAC pode ser escolhido livremente, mas existem alguns endereços não válidos, como todos os bytes sendo 0x00, 0x01 e 0xFF. Se a função de inicialização for chamada com um endereço não válido, ela reportará o problema para o Serial.

CanSatInit (especificação simplificada do endereço MAC)

Funçãouint8_t CanSatInit(uint8_t macAddress)
Tipo de Retornouint8_t
Valor de RetornoRetorna 0 se a inicialização foi bem-sucedida, ou um valor diferente de zero se houve um erro.
Parâmetros
uint8_t macAddress
Último byte do endereço MAC, usado para diferenciar entre diferentes pares CanSat-GS.
DescriçãoEsta é uma versão simplificada do CanSatInit com endereço MAC, que define os outros bytes automaticamente para um valor seguro conhecido. Isso permite que os usuários diferenciem seus pares Transmissor-Receptor com apenas um valor, que pode ser de 0-255.

GroundStationInit

Funçãouint8_t GroundStationInit(uint8_t macAddress[6])
Tipo de Retornouint8_t
Valor de RetornoRetorna 0 se a inicialização foi bem-sucedida, ou um valor diferente de zero se houve um erro.
Parâmetros
uint8_t macAddress[6]
Endereço MAC de 6 bytes compartilhado pelo satélite e pela estação terrestre.
Usado no exemplo de esboçoGroundstation receive
DescriçãoEste é um parente próximo da função CanSatInit, mas sempre requer o endereço MAC. Esta função apenas inicializa o rádio, não outros sistemas. A estação terrestre pode ser qualquer placa ESP32, incluindo qualquer placa de desenvolvimento ou até mesmo outra placa CanSat NeXT.

GroundStationInit (especificação simplificada do endereço MAC)

Funçãouint8_t GroundStationInit(uint8_t macAddress)
Tipo de Retornouint8_t
Valor de RetornoRetorna 0 se a inicialização foi bem-sucedida, ou um valor diferente de zero se houve um erro.
Parâmetros
uint8_t macAddress
Último byte do endereço MAC, usado para diferenciar entre diferentes pares CanSat-GS.
DescriçãoEsta é uma versão simplificada do GroundStationInit com endereço MAC, que define os outros bytes automaticamente para um valor seguro conhecido. Isso permite que os usuários diferenciem seus pares Transmissor-Receptor com apenas um valor, que pode ser de 0-255.

Funções IMU

readAcceleration

Funçãouint8_t readAcceleration(float &x, float &y, float &z)
Tipo de Retornouint8_t
Valor de RetornoRetorna 0 se a medição foi bem-sucedida.
Parâmetros
float &x, float &y, float &z
float &x: Endereço de uma variável float onde os dados do eixo x serão armazenados.
Usado no exemplo de esboçoIMU
DescriçãoEsta função pode ser usada para ler a aceleração do IMU a bordo. Os parâmetros são endereços para variáveis float para cada eixo. O exemplo IMU mostra como usar esta função para ler a aceleração. A aceleração é retornada em unidades de G (9.81 m/s).

readAccelX

Funçãofloat readAccelX()
Tipo de Retornofloat
Valor de RetornoRetorna a aceleração linear no eixo X em unidades de G.
Usado no exemplo de esboçoIMU
DescriçãoEsta função pode ser usada para ler a aceleração do IMU a bordo em um eixo específico. O exemplo IMU mostra como usar esta função para ler a aceleração. A aceleração é retornada em unidades de G (9.81 m/s).

readAccelY

Funçãofloat readAccelY()
Tipo de Retornofloat
Valor de RetornoRetorna a aceleração linear no eixo Y em unidades de G.
Usado no exemplo de esboçoIMU
DescriçãoEsta função pode ser usada para ler a aceleração do IMU integrado em um eixo específico. O exemplo IMU mostra como usar esta função para ler a aceleração. A aceleração é retornada em unidades de G (9.81 m/s).

readAccelZ

Funçãofloat readAccelZ()
Tipo de Retornofloat
Valor de RetornoRetorna a aceleração linear no eixo Z em unidades de G.
Usado no exemplo de esboçoIMU
DescriçãoEsta função pode ser usada para ler a aceleração do IMU integrado em um eixo específico. O exemplo IMU mostra como usar esta função para ler a aceleração. A aceleração é retornada em unidades de G (9.81 m/s).

readGyro

Funçãouint8_t readGyro(float &x, float &y, float &z)
Tipo de Retornouint8_t
Valor de RetornoRetorna 0 se a medição foi bem-sucedida.
Parâmetros
float &x, float &y, float &z
float &x: Endereço de uma variável float onde os dados do eixo x serão armazenados.
Usado no exemplo de esboçoIMU
DescriçãoEsta função pode ser usada para ler a velocidade angular do IMU integrado. Os parâmetros são endereços para variáveis float para cada eixo. O exemplo IMU mostra como usar esta função para ler a velocidade angular. A velocidade angular é retornada em unidades mrad/s.

readGyroX

Funçãofloat readGyroX()
Tipo de Retornofloat
Valor de RetornoRetorna a velocidade angular no eixo X em unidades de mrad/s.
Usado no exemplo de esboçoIMU
DescriçãoEsta função pode ser usada para ler a velocidade angular do IMU integrado em um eixo específico. Os parâmetros são endereços para variáveis float para cada eixo. A velocidade angular é retornada em unidades mrad/s.

readGyroY

Funçãofloat readGyroY()
Tipo de Retornofloat
Valor de RetornoRetorna a velocidade angular no eixo Y em unidades de mrad/s.
Usado no exemplo de esboçoIMU
DescriçãoEsta função pode ser usada para ler a velocidade angular do IMU integrado em um eixo específico. Os parâmetros são endereços para variáveis float para cada eixo. A velocidade angular é retornada em unidades mrad/s.

readGyroZ

Funçãofloat readGyroZ()
Tipo de Retornofloat
Valor de RetornoRetorna a velocidade angular no eixo Z em unidades de mrad/s.
Usado no exemplo de esboçoIMU
DescriçãoEsta função pode ser usada para ler a velocidade angular do IMU integrado em um eixo específico. Os parâmetros são endereços para variáveis float para cada eixo. A velocidade angular é retornada em unidades de mrad/s.

Funções do Barômetro

readPressure

Funçãofloat readPressure()
Tipo de Retornofloat
Valor de RetornoPressão em mbar
ParâmetrosNenhum
Usado no exemplo de esboçoBaro
DescriçãoEsta função retorna a pressão conforme relatado pelo barômetro integrado. A pressão está em unidades de milibar.

readTemperature

Funçãofloat readTemperature()
Tipo de Retornofloat
Valor de RetornoTemperatura em Celsius
ParâmetrosNenhum
Usado no exemplo de esboçoBaro
DescriçãoEsta função retorna a temperatura conforme relatado pelo barômetro integrado. A unidade da leitura é Celsius. Note que esta é a temperatura interna medida pelo barômetro, portanto pode não refletir a temperatura externa.

Funções do Cartão SD / Sistema de Arquivos

SDCardPresent

Funçãobool SDCardPresent()
Tipo de Retornobool
Valor de RetornoRetorna true se detectar um cartão SD, false caso contrário.
ParâmetrosNenhum
Usado no exemplo de esboçoSD_advanced
DescriçãoEsta função pode ser usada para verificar se o cartão SD está mecanicamente presente. O conector do cartão SD possui um interruptor mecânico, que é lido quando esta função é chamada. Retorna true ou false dependendo se o cartão SD é detectado.

appendFile

Functionuint8_t appendFile(String filename, T data)
Return Typeuint8_t
Return ValueRetorna 0 se a escrita foi bem-sucedida.
Parameters
String filename: Endereço do arquivo a ser anexado. Se o arquivo não existir, ele será criado.
T data: Dados a serem anexados ao final do arquivo.
Used in example sketchSD_write
DescriptionEsta é a função básica de escrita usada para armazenar leituras no cartão SD.

printFileSystem

Functionvoid printFileSystem()
Return Typevoid
ParametersNenhum
Used in example sketchSD_advanced
DescriptionEsta é uma pequena função auxiliar para imprimir nomes de arquivos e pastas presentes no cartão SD. Pode ser usada no desenvolvimento.

newDir

Functionvoid newDir(String path)
Return Typevoid
Parameters
String path: Caminho do novo diretório. Se já existir, nada é feito.
Used in example sketchSD_advanced
DescriptionUsado para criar novos diretórios no cartão SD.

deleteDir

Functionvoid deleteDir(String path)
Return Typevoid
Parameters
String path: Caminho do diretório a ser deletado.
Used in example sketchSD_advanced
DescriptionUsado para deletar diretórios no cartão SD.

fileExists

Functionbool fileExists(String path)
Return Typebool
Return ValueRetorna true se o arquivo existir.
Parameters
String path: Caminho para o arquivo.
Used in example sketchSD_advanced
DescriptionEsta função pode ser usada para verificar se um arquivo existe no cartão SD.

fileSize

Funçãouint32_t fileSize(String path)
Tipo de Retornouint32_t
Valor de RetornoTamanho do arquivo em bytes.
Parâmetros
String path: Caminho para o arquivo.
Usado no exemplo de esboçoSD_advanced
DescriçãoEsta função pode ser usada para ler o tamanho de um arquivo no cartão SD.

writeFile

Funçãouint8_t writeFile(String filename, T data)
Tipo de Retornouint8_t
Valor de RetornoRetorna 0 se a escrita foi bem-sucedida.
Parâmetros
String filename: Endereço do arquivo a ser escrito.
T data: Dados a serem escritos no arquivo.
Usado no exemplo de esboçoSD_advanced
DescriçãoEsta função é semelhante ao appendFile(), mas sobrescreve dados existentes no cartão SD. Para armazenamento de dados, appendFile deve ser usado. Esta função pode ser útil para armazenar configurações, por exemplo.

readFile

FunçãoString readFile(String path)
Tipo de RetornoString
Valor de RetornoTodo o conteúdo do arquivo.
Parâmetros
String path: Caminho para o arquivo.
Usado no exemplo de esboçoSD_advanced
DescriçãoEsta função pode ser usada para ler todos os dados de um arquivo em uma variável. Tentar ler arquivos grandes pode causar problemas, mas é adequado para arquivos pequenos, como arquivos de configuração ou de definições.

renameFile

Funçãovoid renameFile(String oldpath, String newpath)
Tipo de Retornovoid
Parâmetros
String oldpath: Caminho original para o arquivo.
String newpath: Novo caminho do arquivo.
Usado no exemplo de esboçoSD_advanced
DescriçãoEsta função pode ser usada para renomear ou mover arquivos no cartão SD.

deleteFile

Funçãovoid deleteFile(String path)
Tipo de Retornovoid
Parâmetros
String path: Caminho do arquivo a ser deletado.
Usado no exemplo de esboçoSD_advanced
DescriçãoEsta função pode ser usada para deletar arquivos do cartão SD.

Funções de Rádio

onDataReceived

Funçãovoid onDataReceived(String data)
Tipo de Retornovoid
Parâmetros
String data: Dados recebidos como uma String do Arduino.
Usado no exemplo de esboçoGroundstation_receive
DescriçãoEsta é uma função de callback que é chamada quando os dados são recebidos. O código do usuário deve definir esta função, e o CanSat NeXT irá chamá-la automaticamente quando os dados forem recebidos.

onBinaryDataReceived

Funçãovoid onBinaryDataReceived(const uint8_t *data, uint16_t len)
Tipo de Retornovoid
Parâmetros
const uint8_t *data: Dados recebidos como um array de uint8_t.
uint16_t len: Comprimento dos dados recebidos em bytes.
Usado no exemplo de esboçoNenhum
DescriçãoIsto é similar à função onDataReceived, mas os dados são fornecidos como binário em vez de um objeto String. Isto é fornecido para usuários avançados que acham o objeto String limitante.

onDataSent

Funçãovoid onDataSent(const bool success)
Tipo de Retornovoid
Parâmetros
const bool success: Booleano indicando se os dados foram enviados com sucesso.
Usado no exemplo de esboçoNenhum
DescriçãoEsta é outra função de callback que pode ser adicionada ao código do usuário, se necessário. Pode ser usada para verificar se a recepção foi reconhecida por outro rádio.

getRSSI

Funçãoint8_t getRSSI()
Tipo de Retornoint8_t
Valor de RetornoRSSI da última mensagem recebida. Retorna 1 se nenhuma mensagem foi recebida desde o boot.
Usado no exemplo de esboçoNenhum
DescriçãoEsta função pode ser usada para monitorar a força do sinal da recepção. Pode ser usada para testar antenas ou medir o alcance do rádio. O valor é expresso em dBm, no entanto, a escala não é precisa.

sendData (variante String)

Funçãouint8_t sendData(T data)
Tipo de Retornouint8_t
Valor de Retorno0 se os dados foram enviados (não indica reconhecimento).
Parâmetros
T data: Dados a serem enviados. Qualquer tipo de dado pode ser usado, mas é convertido para uma string internamente.
Usado no exemplo de sketchSend_data
DescriçãoEsta é a função principal para enviar dados entre a estação terrestre e o satélite. Note que o valor de retorno não indica se os dados foram realmente recebidos, apenas que foram enviados. O callback onDataSent pode ser usado para verificar se os dados foram recebidos pela outra extremidade.

sendData (Variante Binária)

Funçãouint8_t sendData(T* data, uint16_t len)
Tipo de Retornouint8_t
Valor de Retorno0 se os dados foram enviados (não indica reconhecimento).
Parâmetros
T* data: Dados a serem enviados.
uint16_t len: Comprimento dos dados em bytes.
Usado no exemplo de sketchNenhum
DescriçãoUma variante binária da função sendData, fornecida para usuários avançados que se sentem limitados pelo objeto String.

getRSSI

Funçãoint8_t getRSSI()
Tipo de Retornoint8_t
Valor de RetornoRSSI da última mensagem recebida. Retorna 1 se nenhuma mensagem foi recebida desde a inicialização.
Usado no exemplo de sketchNenhum
DescriçãoEsta função pode ser usada para monitorar a força do sinal da recepção. Pode ser usada para testar antenas ou medir o alcance do rádio. O valor é expresso em dBm, no entanto, a escala não é precisa.

setRadioChannel

Funçãovoid setRadioChannel(uint8_t newChannel)
Tipo de Retornovoid
Valor de RetornoNenhum
Parâmetrosuint8_t newChannel: Número do canal Wi-Fi desejado (1–11). Qualquer valor acima de 11 será limitado a 11.
Usado no exemplo de sketchNenhum
DescriçãoDefine o canal de comunicação ESP-NOW. O novo canal deve estar dentro do intervalo dos canais Wi-Fi padrão (1–11), que correspondem a frequências começando em 2.412 GHz com passos de 5 MHz. Canal 1 é 2.412, Canal 2 é 2.417 e assim por diante. Chame esta função antes da inicialização da biblioteca. O canal padrão é 1.

getRadioChannel

Funçãouint8_t getRadioChannel()
Tipo de Retornouint8_t
Valor de RetornoO canal principal atual do Wi-Fi. Retorna 0 se houver um erro ao buscar o canal.
Usado no exemplo de esboçoNenhum
DescriçãoRecupera o canal principal do Wi-Fi atualmente em uso. Esta função funciona apenas após a inicialização da biblioteca.

printRadioFrequency

Funçãovoid printRadioFrequency()
Tipo de Retornovoid
Valor de RetornoNenhum
Usado no exemplo de esboçoNenhum
DescriçãoCalcula e imprime a frequência atual em GHz com base no canal Wi-Fi ativo. Esta função funciona apenas após a inicialização da biblioteca.

Funções ADC

adcToVoltage

Funçãofloat adcToVoltage(int value)
Tipo de Retornofloat
Valor de RetornoTensão convertida em volts.
Parâmetros
int value: Leitura ADC a ser convertida para tensão.
Usado no exemplo de esboçoAccurateAnalogRead
DescriçãoEsta função converte uma leitura ADC para tensão usando um polinômio de terceira ordem calibrado para uma conversão mais linear. Note que esta função calcula a tensão no pino de entrada, então para calcular a tensão da bateria, você também precisa considerar a rede de resistores.

analogReadVoltage

Funçãofloat analogReadVoltage(int pin)
Tipo de Retornofloat
Valor de RetornoTensão ADC em volts.
Parâmetros
int pin: Pino a ser lido.
Usado no exemplo de esboçoAccurateAnalogRead
DescriçãoEsta função lê a tensão diretamente em vez de usar analogRead e converte a leitura para tensão internamente usando adcToVoltage.