Um microcontrolador sem sensores é um cérebro numa cuba — processa, calcula, mas não sente o mundo. O que transforma uma placa de R$ 30 num termostato, num alarme de intrusão, num robô que se equilibra ou numa estação meteorológica são os sensores. Eles são a ponte entre o mundo físico — temperatura, luz, movimento, distância, aceleração — e o mundo digital dos bits. Escolher o sensor certo é mais importante que escolher o microcontrolador certo. E a maioria dos iniciantes escolhe errado.
Este é o guia que eu gostaria de ter lido quando comecei: cinco sensores fundamentais, como funcionam, o que comprar, o que evitar e — crucial — como decidir entre opções parecidas.
Sensores de Temperatura e Umidade: DHT22 vs. BME280 vs. DS18B20
O DHT22 (AM2302) é o sensor mais usado em projetos maker de climatização. Mede temperatura (-40 a 80°C, ±0.5°C) e umidade (0-100%, ±2-5%). Comunicação digital por protocolo proprietário de um fio (one-wire). Custa R$ 15-25. É o “bom o suficiente” para 90% dos projetos.
Mas o BME280 (Bosch) é superior em precisão de temperatura (±0.5°C), umidade (±3%) e ainda mede pressão atmosférica (±1 hPa). Comunicação I2C ou SPI. Custa R$ 20-40. Use quando você precisa de pressão (previsão do tempo, altímetro) ou quando a precisão importa.
Se você precisa apenas de temperatura e em ambientes extremos (freezers, fornos, aquários), o DS18B20 (Maxim) é imbatível: -55 a 125°C, ±0.5°C, à prova d’água em encapsulamento de aço inox (versão “sonda”), comunicação one-wire Dallas genuína (confiável, endereçável — múltiplos sensores no mesmo fio).
Medição de Distância: HC-SR04 vs. VL53L0X vs. LD2410
O HC-SR04 é o sensor ultrassônico clássico: emite um pulso sonoro de 40 kHz e mede o tempo até o eco voltar. Alcance: 2 cm a 4 metros. Precisão: ~3 mm. Custa R$ 8-15. Funciona com qualquer microcontrolador usando dois pinos digitais (trigger + echo). Limitações: não funciona bem em superfícies macias/anguladas (absorvem/desviam o som), tem cone de detecção largo (~15°) e não mede distâncias menores que 2 cm.
Código mínimo para Arduino:
const int trig = 9, echo = 10;
void setup() {
Serial.begin(9600);
pinMode(trig, OUTPUT); pinMode(echo, INPUT);
}
void loop() {
digitalWrite(trig, LOW); delayMicroseconds(2);
digitalWrite(trig, HIGH); delayMicroseconds(10);
digitalWrite(trig, LOW);
long duration = pulseIn(echo, HIGH);
float distance = duration * 0.0343 / 2;
Serial.print("Distancia: "); Serial.print(distance); Serial.println(" cm");
delay(500);
}
O VL53L0X (STMicroelectronics) é um sensor Time-of-Flight a laser infravermelho (940 nm): mede o tempo que a luz leva para ir e voltar. Alcance: 3 cm a 2 metros. Precisão: ±3%. Comunicação I2C. Custa R$ 30-50. Vantagens: funciona em qualquer superfície, independente de cor ou textura; feixe estreito (~2°); baixíssimo consumo. É o sensor que robôs aspiradores usam para mapear ambientes.
O LD2410 (Hi-Link) é um sensor de presença por radar de ondas milimétricas (mmWave, 24 GHz). Diferente de um PIR (infravermelho passivo) que só detecta movimento, o LD2410 detecta presença — uma pessoa parada, respirando, a 6 metros de distância, através de parede fina de gesso. Alcance: 0.75 a 6 metros configurável. Comunicação UART (serial). Custa R$ 40-60. É o santo graal da automação residencial: luz que acende quando você entra e não apaga enquanto você está parado lendo.
Acelerômetro e Giroscópio: MPU6050
O MPU6050 (InvenSense/TDK) é um IMU (Inertial Measurement Unit) de 6 eixos: acelerômetro de 3 eixos (±2/4/8/16 g) + giroscópio de 3 eixos (±250/500/1000/2000 °/s). Comunicação I2C. Custa R$ 15-25. É o sensor mais versátil da eletrônica maker: drones (estabilização PID), robôs que se equilibram (pêndulo invertido), pedômetros, controle gestual, detecção de queda, orientação 3D.
Código básico com Arduino e biblioteca Adafruit MPU6050:
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
Adafruit_MPU6050 mpu;
void setup() {
Serial.begin(115200);
if (!mpu.begin()) {
Serial.println("MPU6050 nao encontrado!");
while (1);
}
mpu.setAccelerometerRange(MPU6050_RANGE_8_G);
mpu.setGyroRange(MPU6050_RANGE_500_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
}
void loop() {
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
Serial.print("Accel X:"); Serial.print(a.acceleration.x);
Serial.print(" Y:"); Serial.print(a.acceleration.y);
Serial.print(" Z:"); Serial.print(a.acceleration.z);
Serial.print(" | Gyro X:"); Serial.println(g.gyro.x);
delay(100);
}
Limitação do MPU6050: drift. O giroscópio acumula erro ao longo do tempo — em 10 segundos, a orientação calculada já divergiu. A solução é fusão de sensores: use o filtro complementar (simples) ou filtro de Kalman (preciso) para combinar acelerômetro (estável no longo prazo) com giroscópio (preciso no curto prazo). A biblioteca MadgwickAHRS implementa isso em poucas linhas.
Tabela Comparativa Geral
| Sensor | Mede | Protocolo | Preço (R$) | Dificuldade | Ideal Para |
|---|---|---|---|---|---|
| DHT22 | Temp + Umid | One-wire | 15-25 | ★☆☆☆☆ | Clima interno, termostato |
| BME280 | Temp + Umid + Pressão | I2C/SPI | 20-40 | ★★☆☆☆ | Estação meteorológica |
| HC-SR04 | Distância (US) | GPIO | 8-15 | ★☆☆☆☆ | Robô seguidor, nível de tanque |
| VL53L0X | Distância (ToF) | I2C | 30-50 | ★★☆☆☆ | Robô mapeador, drone altitude |
| LD2410 | Presença (mmWave) | UART | 40-60 | ★★★☆☆ | Automação, segurança |
| MPU6050 | Acel + Giro | I2C | 15-25 | ★★★☆☆ | Drones, robótica, gestos |
Como Escolher o Sensor Certo
A regra de ouro: defina o problema antes de escolher a ferramenta. Não compre sensor por “parece legal” — compre porque seu projeto precisa medir algo específico. Pergunte-se:
- O que eu preciso medir? Temperatura? Presença? Distância?
- Qual a precisão necessária? ±5°C é aceitável ou preciso de ±0.5°C?
- Qual o ambiente? Outdoor (chuva, sol)? Alta temperatura? Vibração?
- Qual o protocolo de comunicação? Seu microcontrolador tem I2C livre? GPIOs suficientes?
- Qual o consumo de energia? Vai funcionar a bateria? Por quanto tempo?
Respondidas essas perguntas, a tabela acima vai te levar ao sensor certo. E se errar, não se preocupe — errar sensor é barato (todos custam menos de R$ 60) e você ganha experiência que tutorial nenhum substitui.


