[아두이노/초음파센서/숫자LED] Arduino 초음파 센서와 TM1637 4 digit 거리 표시기
초음파 센서와 TM1637 4 digit을 결합하여 물체와 거리 표시기를 만드는 간단한 응용 프로젝트
▶ 이 가이드를 따라하면
- Arduino + 초음파 센서 + 4자리 숫자 표기를 할 수 있다.
▶ 부품 설명 및 회로 구성
기존에 초음파 센서(https://bbangpan.tistory.com/49 )와 TM1637기반의 4자리 숫자(https://bbangpan.tistory.com/31 )를 소개한 적이 있다. 이 둘을 간단히 결합해서 눈에 잘 보이는 거리 표시기를 구성할 수 있다. 핀 연결은 둘을 조합하면 되고 소스는 간단히 융합해보자.
상기 구성을 위해서 5V핀이 모자라는데 이는 소형 빵판으로 해결했다(mini breadboard로 검색하면 구매할 수 있다). 해당 소형 빵판의 한줄에 5V연결선을 나누어 꼽으면 서로 연결된다(사진 참조).
TM1637 라이브러리는 https://github.com/avishorp/TM1637 에서 해당 폴더를 다운 받아서 Arduino설치폴더/Library/ 에 압축을 풀면 된다(https://bbangpan.tistory.com/1 의 하단부 라이브러리 설치 를 참조).
혹은 Arduino 개발툴에서 라이브러리 다운로드에서 적절한 것을 받아 사용해도 무방하다. 단, 다소의 소스 수정이 필요하다.
Github 주소 : https://github.com/bbangpan/bbangpan.com/blob/master/neibc_tm1637disp_sonic.ino
#include <TM1637Display.h>
// Module connection pins (Digital Pins)
#define CLK 3
#define DIO 4
TM1637Display display(CLK, DIO);
const int trigPin = 8; //Trig 핀 할당
const int echoPin = 7; //Echo 핀 할당
void setup()
{
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop()
{
long duration, cm=9999;
display.setBrightness(0x0f);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(5);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
cm = duration / 29 / 2;
Serial.print(cm);
Serial.print("cm");
Serial.println();
display.showNumberDec(cm, true);
delay(100);
}
상기와 같이 구성한 후 컴파일 하면 LED에 cm단위로 초음파 센서와 물체의 거리를 표시해준다. 초음파 센서의 최대 거리는 150~300 cm 밖에 되지 않으므로 참조한다.
▶ 구매 가이드
HC-SR04 : https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20190803222347&SearchText=HC-SR04&switch_new_app=y ($1)
Mini breadboard : https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20190803222417&SearchText=mini+breadboard&switch_new_app=y ($1)
TM1637 4 digits LED : https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20190803222502&SearchText=TM1367+4+digit+LED&switch_new_app=y ($1)
▶ 강의 키워드
HC-SR04, 초음파 센서, ultra sonic sensor, HC-SR04, 4 digits LED, 4자리 숫자, Arduino, 아두이노, 거리 측정