Skip to content

🔌 API do Firmware

Esta seção documenta as principais funções disponíveis no firmware BR SmartGuia. Aqui você encontrará detalhes sobre os métodos para interação com os periféricos e funcionalidades do projeto.

📜 Visão Geral

A API do firmware está organizada conforme os componentes principais do sistema:

  • Matriz de LEDs WS2812B 🎨
  • Display OLED SSD1306 📟
  • Sensor Ultrassônico HC-SR04 📡
  • Buzzers 🔊
  • Botões físicos 🎛️

🎨 Controle da Matriz de LEDs

void ws2812b_init(uint pin);

Descrição: Inicializa a máquina de estado PIO para controlar a matriz de LEDs WS2812B.

void ws2812b_setLED(uint index, uint8_t r, uint8_t g, uint8_t b, float brightness);

Descrição: Define a cor e o brilho de um LED específico na matriz.

void ws2812b_clear();

Descrição: Desliga todos os LEDs da matriz.

void ws2812b_write();

Descrição: Envia os dados para atualizar os LEDs da matriz.


📟 Controle do Display OLED SSD1306

void ssd1306_init();

Descrição: Inicializa o display OLED via comunicação I2C.

void ssd1306_render(uint8_t *buf, struct render_area *area);

Descrição: Atualiza uma área específica do display com um buffer de pixels.

void ssd1306_writeString(uint8_t *buf, int16_t x, int16_t y, char *str);

Descrição: Escreve uma string na posição (x, y) da tela.


📡 Sensor Ultrassônico HC-SR04

float hcsr04_measure();

Descrição: Mede a distância em centímetros usando um sensor ultrassônico HC-SR04.


🔊 Controle do Buzzer

void buzzer_play_tone(int frequency, int duration, int buzzer_pin);

Descrição: Toca uma frequência específica no buzzer por um tempo determinado.

void buzzer_playAlarm();

Descrição: Emite um som de alarme pré-definido no buzzer.


🎛️ Interação com Botões

bool button_read(uint button_pin);

Descrição: Retorna true se um botão estiver pressionado.


Agora que entendemos a API do firmware, podemos seguir para a próxima seção sobre instalação e compilação! 🛠️

➡️ Instalação e Compilação