Medidor de Altura DIY com Arduino – Preciso e Fácil de Construir
Componentes e Materiais
| Arduino Nano R3 | 1 |
| Sensor Ultrassônico HC-SR04 (Genérico) | 1 |
| LCD Alfanumérico 16x2 | 1 |
| Potenciômetro Aparador 10k ohm | 1 |
Ferramentas Necessárias
- Ferro de solda (genérico)
Aplicações e Serviços Online
- Arduino IDE
Sobre o Projeto
Quando percebi que meus filhos mediam a altura todos os dias, tive a ideia de criar este dispositivo. Para descobrir sua altura, basta ficar sob o dispositivo e ativar um som indicando que a medição foi feita.
É muito fácil de construir e consiste em poucos componentes:
- Arduino Nano
- Sensor ultrassônico HC-SR04
- Display LCD
- Buzzer
- Bateria
Como Funciona
Primeiro, instale o dispositivo com fita dupla-face a uma altura pré-definida (marcada como H na imagem), que é configurada no código.
Quando alguém fica sob o dispositivo, o sensor mede a distância D. O código calcula H - D, que representa a altura da pessoa (H1) e exibe no LCD. A biblioteca LcdBarGraph desenha um gráfico de barras horizontal, onde o comprimento da barra é proporcional ao valor. Quando ninguém está sob o dispositivo, o valor calculado é zero (H = D, logo H-D = 0). O dispositivo fica em uma caixa adequada com LCD na frente e sensor ultrassônico na parte inferior.
Código
CÓDIGO Arduino
// Inclui biblioteca LiquidCrystal
#include <LiquidCrystal.h>
// Inclui biblioteca LcdBarGraph
#include <LcdBarGraph.h>
// Distância máxima para ping (centímetros)
#define max_distance 200
// Cria objeto LCD. Parâmetros: (rs, enable, d4, d5, d6, d7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
LcdBarGraph lbg(&lcd, 16, 0, 1); // Objeto LCD Bargraph
const int trigPin = 9;
const int echoPin = 10;
long duration;
int distance;
int distance1;
int speakerPin = 8;
void setup() {
lcd.begin(16, 2);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
// Pulso no pino Trigger do HC-SR04
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Mede resposta do pino Echo
duration = pulseIn(echoPin, HIGH);
// Calcula distância (velocidade do som: 343 m/s)
distance = duration * 0.034 / 2;
distance1 = 180 - distance; // H = 180cm (altura de instalação)
// Buzzer toca se altura > 100cm (pessoa detectada)
if (distance1 > 100) {
tone(speakerPin, 1000);
} else {
noTone(speakerPin);
}
// Exibe altura na primeira linha
lcd.setCursor(0, 0);
lcd.print("ALTURA: ");
lcd.print(distance1);
lcd.print(" cm ");
// Desenha bargraph na segunda linha
lcd.setCursor(0, 1);
lbg.drawValue(distance1, max_distance);
delay(500);
}
Bibliotecas Arduino
Biblioteca LcdBarGraph disponível para download (necessária para o gráfico de barras no LCD).
Esquemático
Diagrama de ligação disponível no projeto original (imagem do esquemático).
Processo de manufatura
- Construa Sua Própria Máquina de Escrever Deveres de Casa (Plotter de Caneta) em Casa
- Construa um Voltímetro Inteligente com Arduino e Smartphone – Projeto DIY Fácil
- Construa um Skate VR DIY com Arduino, Google Cardboard e Bluetooth
- Roda de Medição Precisa DIY com Arduino Nano e Encoder Rotativo
- Dispositivo de Tratamento Radiônico EMR DIY com Arduino Nano
- Medição Precisa de Radiação Solar com Arduino UNO e Ethernet Shield
- Construa uma Máquina CNC Totalmente Funcional com Arduino Nano R3
- Simulador de Corrida 2D DIY com Arduino Nano e Servos SG90
- Construa Sua Própria Máquina CNC Universal – Guia DIY Completo
- Construa uma Fechadura de Porta RFID Portátil com Arduino – Guia Passo a Passo