📖 Exemplos Práticos
Esta seção apresenta exemplos práticos de uso do firmware BR SmartGuia para facilitar o desenvolvimento e testes.
🟢 Acendendo a Matriz de LEDs
Este exemplo mostra como inicializar e configurar a matriz de LEDs WS2812B.
#include "ws2818b.pio.h"
int main() {
ws2812b_init(7); // Inicializa a matriz de LEDs no pino 7
for (int i = 0; i < 25; i++) {
ws2812b_setLED(i, 255, 0, 0, 0.5); // Acende os LEDs em vermelho
}
ws2812b_write(); // Atualiza a matriz de LEDs
while (true);
}
📟 Exibindo Texto no Display OLED
Este exemplo exibe uma mensagem no display OLED SSD1306 via I2C.
#include "ssd1306.h"
int main() {
ssd1306_init();
uint8_t buf[SSD1306_BUF_LEN];
memset(buf, 0, SSD1306_BUF_LEN);
ssd1306_writeString(buf, 5, 10, "Hello, BR SmartGuia!");
ssd1306_render(buf, &(struct render_area){0, SSD1306_WIDTH-1, 0, SSD1306_NUM_PAGES-1});
while (true);
}
📡 Medindo Distância com Sensor Ultrassônico
Este exemplo mostra como obter a distância medida pelo sensor ultrassônico HC-SR04.
#include "hardware/gpio.h"
#include "pico/stdlib.h"
#define TRIGGER_PIN 4
#define ECHO_PIN 9
int main() {
stdio_init_all();
gpio_init(TRIGGER_PIN);
gpio_set_dir(TRIGGER_PIN, GPIO_OUT);
gpio_init(ECHO_PIN);
gpio_set_dir(ECHO_PIN, GPIO_IN);
while (true) {
float distance = hcsr04_measure();
printf("Distância: %.2f cm\n", distance);
sleep_ms(500);
}
}
🔊 Tocando um Alarme
Este exemplo ativa um som de alerta com o buzzer.
#include "hardware/pwm.h"
#define BUZZER_PIN 10
int main() {
buzzer_playAlarm();
while (true);
}
Agora que você viu exemplos práticos, siga para a próxima seção sobre depuração e testes! 🛠️