DIY 아두이노 키 측정 장치 - 정확하고 만들기 쉬운 신장계
부품 및 소모품
| Arduino Nano R3 |
1 |
| 초음파 센서 HC-SR04 |
1 |
| 알파뉴메릭 LCD 16x2 |
1 |
| 트리머 포텐셔미터 10kΩ |
1 |
필요 도구
앱 및 온라인 서비스
프로젝트 개요
아이들이 매일 키를 재는 모습을 보고 이 장치를 만들게 되었습니다. 장치 아래 서면 소리가 나며 키가 측정됩니다.
구성이 매우 간단합니다:
- Arduino Nano
- HC-SR04 초음파 센서
- LCD 디스플레이
- 부저
- 배터리
작동 원리
- 장치를 양면 테이프로 천장/벽에 고정. 설치 높이 H를 코드에 미리 설정 (사진의 H 표기)
- 사람이 장치 아래 서면 센서가 거리 D 측정
- 코드에서 H - D 계산 → 실제 키 H1 산출 → LCD 표시
- LcdBarGraph 라이브러리로 수평 막대 그래프 표시 (바 길이가 키에 비례)
- 아무도 없으면 H = D이므로 H-D = 0 표시
장치는 박스에 장착, LCD는 전면, 초음파 센서는 하향 배치.
코드
#include <LiquidCrystal.h>
#include <LcdBarGraph.h>
#define max_distance 200
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
LcdBarGraph lbg(&lcd, 16, 0, 1);
const int trigPin = 9;
const int echoPin = 10;
long duration;
int distance, distance1;
int speakerPin = 8;
void setup() {
lcd.begin(16, 2);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
digitalWrite(trigPin, LOW); delayMicroseconds(2);
digitalWrite(trigPin, HIGH); delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2; // 음속 343m/s 기준
distance1 = 180 - distance; // H = 180cm로 설정된 예시
if (distance1 > 100) {
tone(speakerPin, 1000); // 키 측정 완료 알림음
} else {
noTone(speakerPin);
}
lcd.setCursor(0, 0);
lcd.print("HEIGHT: ");
lcd.print(distance1);
lcd.print(" cm ");
lcd.setCursor(0, 1);
lbg.drawValue(distance1, max_distance);
delay(500);
}
라이브러리
- LiquidCrystal (내장)
- LcdBarGraph (별도 설치 필요)
회로도
회로도 이미지 참조: LCD 데이터 핀 D4-D7 → 아두이노 5,4,3,2 / RS=12, EN=11 / 초음파 센서 Trig=9, Echo=10 / 부저=8 / 가변저항으로 LCD 대비 조절