2015년 2학기 PULSE 4 전자물리실험 11주차-초음파거리측정 실험 - DSU 메카트로닉스 융합공학부 -

Slides:



Advertisements
Similar presentations
4D 장치 제작 체험으로 배우는 아두이노 및 SW프로그래밍 교육
Advertisements

실험 1 오실로스코프 목적 오실로스코프 작동원리 오실로스코프 사용법 오실로스코프 적용 R-C 회로 주파수 특성 측정.
임피던스(Impedance) 측정 일반물리 B실험실 일반물리실험 (General Physics Experiment)
자바실험실 이동준 우리 곁으로 다가온 사물 컴퓨팅 자바실험실 이동준.
2015년 2학기 PULSE 4 전자물리실험 06-휴대폰에 적용된 홀 Hall 센서 - DSU 메카트로닉스 융합공학부 -
2015년 2학기 PULSE 4 전자물리실험 11주차 – 초음파 거리 측정 실험 - DSU 메카트로닉스 융합공학부 -
아두이노 센서의 연결 디지털 및 아날로그 센서값의 특징 디지털 센서 핀 구조 및 연결하기 아날로그 센서 핀 구조 및 연결하기
의료용 초음파 필드의 특성과 응용. 발표자 : 전자공학과 심환석.
아날로그 입력과 출력.
메카 세미나 무선통신
2015년 2학기 PULSE 4 전자물리실험 05 - 수위 감지 경보 회로 - DSU 메카트로닉스 융합공학부 -
실험 8. 연산증폭기 특성 목적 연산증폭기의 개관, 특성 및 사용법 이해 입력저항, 개루프 이득, 출력저항, 슬루레이트 등
전기공학실험 함수발생기 설계.
컴퓨터 계측 및 실습 D/A-converter
네트워크 스캔하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
12. 아두이노와 센서를 이용한 제어 - 스마트 폰으로 제어하는 아두이노 -.
전자기적인 Impedance, 유전율, 유전 손실
실험 3 - 비선형 연산 증폭기 회로와 능동 필터 전자전기컴퓨터공학부 방 기 영.
전자물리실험 07-발광소자와 수광소자를 이용한 광신호 감지 - DSU 메카트로닉스 융합공학부 - PULSE 4
센서 9. Force Sensor 안동대학교 물리학과 윤석수.
센서 11. 기체 압력 센서 안동대학교 물리학과 윤석수.
실험1. 연산 증폭기 특성 전자전기컴퓨터공학부 방기영.
컴퓨터 계측 및 실습 D/A-converter
4.1 함수(신호)발생기로 클럭펄스 만들기 ② ① - 신호발생기의 출력을 오실로스코프로 보면서 1 Hz 클럭펄스를 만든다.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
컴퓨터 응용과 3학년 1반 조장 김영조 조원 구본건 , 임선택
1. 초음파 가공의 구성 1. 초음파 가공 ◆ 초음파 가공기의 장치 구성
“DC POWER SUPPLY의 소개”.
BUCK 컨버터 실험 실험 준비 실험 진행 및 결과 첨부. SCR 게이트 펄스 만들기 목 차
버스카드 시스템 1조 하경록 : 작품 제작, 파워포인트 김태승 : 작품 제작, 파워포인트 최성호 : 작품 제작, 프로그래밍
AM, FM.
602 LAB FDTD 를 이용한 Acoustic Simulation 지도: 이형원 교수님 차진형.
초음파를 이용한 거리 측정과 음성구현 1 조 한 형 래 김 요 섭 안 정 민.
PC오실로스코프 & 주파수발생장치 캡스톤 22조 차재호 박진우.
Fourier Transform Nuclear Magnetic Resonance Spectrometer
임피던스 측정 B실험실 일반물리실험 (General Physics Experiment).
10장 컴퓨터 기반 데이터 획득 응용 프로그램 LabVIEW 사용법
센서 12. 자기장 센서 안동대학교 물리학과 윤석수.
2015년 2학기 PULSE 4 전자물리실험 10 – 조도 센서와 소리 발생 - DSU 메카트로닉스 융합공학부 -
GClef Two-way Hybrid Earphone 소개 자료
5. 아두이노로 LED와 스위치 제어하기 - 스마트 폰으로 제어하는 아두이노 -.
아두이노 프로그래밍 5일차 – Part2 아두이노 보드간 통신 강사: 김영준 목원대학교 겸임교수.
스마트폰 알리미 만들기 본 내용은 돌발성 난청으로 한쪽 귀가 잘 안 들리셔서 전화를 제때 받지 못하시는 어머니를 위해 만들었습니다. 특히 사람이 나이가 들면 소리나 진동을 잘 감지하기 어렵기 때문에 조명과 연동하여 시각적으로 알려주면 어떨까라는 생각에서 출발하여 만들었습니다.
Infusion pump (의약품 자동주입기)
2016년 2학기 PULSE 4 Experiment 12 – 블루투스 통신.
고체의 전도성 Electronic Materials Research Lab in Physics,
Lab #5. Capacitor and inductor
4 장 신호(Signals) 4.1 아날로그와 디지털(Analog and Digital)
아두이노 매트릭스 코딩 매트릭스 기본 명령어 실습 01차시 ㈜헬로앱스 김영준.
2015년 2학기 PULSE 4 전자물리실험 13-카운터, 디코더, FND 회로 - DSU 메카트로닉스 융합공학부 -
PSD센서 명령어 이해하기 목차 재료준비 및 브레드 보드 배선 구성하기 PSD센서 명령어 이해 및 실습 응용 작품 만들기.
02강 아두이노 LED 기본 개념 LED Example1 LED Example2 LED Example3
클라우드 서버로 사용자 데이터 전송하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
클라우드 서버로 부터 값 읽어오기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
1 전기와 전기 회로(03) 전기 회로의 이해 금성출판사.
학습 주제 p 운동 에너지란 무엇일까?(2).
센서값 전송하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
소리와 초음파 파동(wave) : 한 곳에서 생긴 (매질의) 진동상태가 다른 곳으로 퍼져가는 (energy) 현상
Prof. Seewhy Lee Presents
7. 실제 세계와의 통로 센서 정보영재 석사 김석전.
웹서버 기능으로 데이터 읽기 및 제어하기 WiFi 시리얼 보드 활용가이드 김영준
균형이진탐색트리 이진 탐색(binary search)과 이진 탐색 트리(binary search tree)와의 차이점
2. 누화와 케이블링 1. 서론 2. 용량성 누화 3. 유도성 누화 4. 복합적인 누화(누화의 일반적인 이해)
전자기파(Electromagnetic Wave)의 스펙트럼(Spectrum)
물의 전기분해 진주중학교 3학년 주동욱.
3.3-2 운동 에너지 학습 목표 1. 운동에너지의 정의를 설명할 수 있다. 2. 운동에너지의 크기를 구할 수 있다.
다양한 아두이노 개발툴 및 H/W 한국기술교육대학교 아두이노 개발 SW 비교 1 스크래치 2 SPL 블록 3 SPL 스크립트
OP-AMP를 이용한 함수발생기 제작 안정훈 박선진 변규현
아두이노 프로그래밍 2일차 – Part4 아날로그 키패드 활용하기 강사: 김영준 목원대학교 겸임교수
2015년 2학기 PULSE 4 전자물리실험 05 - 수위 감지 경보 회로 - DSU 메카트로닉스 융합공학부 -
Presentation transcript:

2015년 2학기 PULSE 4 전자물리실험 11주차-초음파거리측정 실험 - DSU 메카트로닉스 융합공학부 -

1. 실험주제 • 아두이노 우노 보드와 초음파 센서를 이용한 거리측정 초음파 센서의 Echo 펄스를 오실로스코프로 측정하여 거리 계산 • 초음파센서를 이용한 거리측정에서 10cm 마다 다른 소리를 내고 LED가 켜지는 실험

2. 기초이론 2.1 초음파 사람이 들을 수 있는 소리의 주파수(가청 주파수)는 16~20,000 Hz이다. 초음파(ultrasonic sound)는 주파수가 20 kHz 이상으로 사람의 귀로 들을 수 없는 음파이다. 초음파의 고유한 성질은 가청범위의 음파와 같다. 그러나 주파수가 높고 파장이 짧기 때문에 상당히 강한 진동이 발생되는 특징을 지니고 있다. 초음파는 비파괴 검사 기기, 수중 소나, 어군탐지기 등과 같은 물체인식, 거리측정, 유량측정, 질병 진단과 치료 등 거리 정보에 기반한 응용과 세척기, 가습기, 용접, 모터 등에 많이 이용되고 있다.

2.2 초음파의 특징 ■ 파장이 짧아서 지향성, 직진성이 높다. ■ 주파수가 높을수록 빔의 분산각은 줄어든다. ■ 주파수가 낮을수록 투과력은 높아지고 멀리 전파한다. ■ 전파속도가 일정하다. (공기중 340m/s, 고체중 5000m/s 이상) ■ 투과매질이 다양하다. (기체, 액체, 고체, 투명체, 불투명체) ■ 액체와 고체의 경계면에서 반사, 굴절, 회절 성질을 가진다. ■ 철사 줄, 로프, 체인, 가느다란 돌출봉 등 음파가 반사될 수 없는 가는 물체나 솜, 스펀지, 섬유, 눈 등 음파를 흡수하는 물체는 초음파로 감지할 수 없다.

2.4 초음파 발생 원리 초음파를 전자기적으로 발생시키고 이를 감지하기 위해 압전효과를 이용 압전소자는 응력에 의해 전기적 분극을 일으키는 압전현상과 전압에 의해 기계적 변형을 일으키는 역압전현상을 갖는다. 초음파 센서는 송신부에서 발생한 음파가 물체에 반사되어 수신부로 되돌아오는 원리를 사용한다. 초음파을 보낼 때는 역압전현상을 이용하고, 초음파을 받을 때는 정압전현상을 이용한다. 역압전현상은 압전소자에 전압 +, -를 짧은 시간 동안 교차시켜서 진동을 만드는 것이다. 함수발생기에서 교류전압과 같이 전압 +, -를 짧은 시간 동안 교차하여 걸어주면 압전소자의 변형과 원형이 교대로 일어나고 이것이 진동에너지가 되어 초음파를 발생시킨다. 정압전 현상은 진동자에서 파동을 받을 때 전압이 발생하는 것이다.

[그림 ] 초음파 센서를 이용한 거리측정의 원리

2.5 초음파 센서를 이용한 거리 측정의 원리 대부분의 거리 측정용 초음파센서는 40kHz의 초음파를 발생 음파가 물체에 부딪쳐 되돌아올 때까지의 시간을 측정함으로써 물체까지의 거리를 측정한다. 음파는 15℃에서 초당 약 340m/s의 속도를 가지며 거리 측정시 반드시 속도에 대한 정보가 필요하다. 초음파 속도(이론치) V = 331.5 + 0.6×T(oC) 일반적으로 Δt초 동안 발신된 주파수가 물체에 부딪쳐 다시 수신되기까지의 거리는 V(340m/s)×Δt(s) 이지만 이 거리는 초음파를 발신해 수신된 왕복거리이므로 이것을 ½한 L=V×Δt×½ 이 물체까지의 거리가 된다.

2.6 초음파 센서의 종류 2.6.1 개방형 초음파 센서 개방형 초음파 센서는 진동판의 압전 세라믹, 전극판이 샌드위치형으로 형성되어 콘형의 정진자를 결합한 복합 진동체를 실리콘 접착제에 의해 베이스에 탄성있게 고정시킨 후 케이스에 수납한 구조로 만들어진다.

2.6.2 밀폐형 초음파 센서 개방형 초음파 센서는 옥외에서 비에 의한 물방울 ,오염물질 먼지의 부착용 등에 문제가 있어 사용하기가 곤란하며 이 문제를 해결하기 위해서는 금속 케이스에 압전 세라믹을 부착하고 베이스에는 흡음재를 붙여 만든 것이 밀폐형 초음파 센서이다. 밀폐형 초음파 센서는 자동차의 범퍼에 내장한 거리계 등에 사용되고 있다.

2.7 HC-SR04 초음파 센서 HC-SR04 초음파 센서의 제원 - 입력 전압 : 5V DC - 대기 상태에서의 전류 : < 2mA - 유효 측정 각도 : < 15o - 유효 측정 거리 : 20 ~ 5,000 mm - 측정 해상도 : 3 mm - 무게 : 15 g 크기 : 20 mm×43 mm×15 mm

동작원리 모듈에 DC 5V 전원을 인가한 후, Trig 핀을 통해 10us 의 펄스를 인가 초음파 센서는 8개의 40 kHz 펄스를 발생 측정된 거리에 따라 150us ~ 25ms의 펄스(펄스 폭은 방해물까지 왕복시간에 해당)를 Echo 핀을 통해 출력 - 초음파 센서 앞에 방해물이 없다면 38 ms의 펄스를 Echo 핀을 통해 발생 거리 L(cm) =V×Δt×½=340m/s×100cm*Δt(μs)*10^(-6)×½ = Echo 핀 출력 시간(μs) / 58

3. 실험 장비 및 부품 실험장비 아두이노 우노 1대 컴퓨터 오실로스코프 부품 초음파 센서 HC-SR04 1개 LED 3개 저항 220Ω(혹은 330) 압전 부저(Piezo Buzzer) KPX-1205 (입력전압: 5Vdc) 자 거리 측정용

실험에 대한 자세한 방법은 교재 참조 실험 1. 아두이노 우노 보드를 이용한 거리측정 (아두이노, 초음파센서 등) 실험 1. 아두이노 우노 보드를 이용한 거리측정 (아두이노, 초음파센서 등) 실험 2. 초음파 센서의 Echo 신호 폭 측정을 통한 거리계산 (오실로스코프 이용) 실험 3. 거리 10 cm 마다 다른 소리를 내고 LED가 켜지는 실험 (아두이노, 초음파센서 등) 실험에 대한 자세한 방법은 교재 참조

6.2 Ultrasonic_Sensor_Example.ino #define trigPin 12 // 트리거 출력 포트 번호 #define echoPin 13 // 에코 입력 포트 번호 void setup() { Serial.begin (9600); // 시리얼 포트 9600 속도 초기화 pinMode (trigPin, OUTPUT); // 지정된 트리거 출력 포트 번호를 출력으로 설정 pinMode (echoPin, INPUT); // 지정된 에코 입력 포트 번호를 입력으로 설정 } void loop() { int duration, distance; // duration을 지속시간, distance를 거리 변수로 정의 // 트리거 신호를 발생 digitalWrite(trigPin, HIGH); delayMicroseconds(1000); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); // pulsein() 함수는 지정된 포트가 HIGH가 될 때까지의 시간을 microsecond 단위로 반환해주며 이 값을 duration 변수에 저장함 distance = (duration/2) / 29; // 측정된 에코 신호를 이용하여 거리를 계산함 if (distance >= 200 || distance <= 0) { Serial.println("Out of range"); // distance 변수값이 0보다 작거나 200보다 크면 "out of range"를 시리얼모니터로 출력함 } else { Serial.print(distance); // 거리를 시리얼모니터로 출력 Serial.println(" cm"); delay(500); // 500msec 시간 지연

6.3 Ultrasonic_Sensor_LED_Buzzer_Example.ino #define trigPin 12 // 트리거 출력 포트 번호 #define echoPin 13 // 에코 입력 포트 번호 #define speakerPin 2 // 압전 부저 출력 포트 번호 #define LED1 8 // LED1 출력 포트 번호 #define LED2 9 // LED2 출력 포트 번호 #define LED3 10 // LED3 출력 포트 번호 #define C 262 // '도' 주파수 #define D 294 // '레' 주파수 #define E 330 // '미' 주파수   void ledoff(void) // LED1, LED2, LED3을 모두 끄는 함수 { digitalWrite(LED1,LOW); digitalWrite(LED2,LOW); digitalWrite(LED3,LOW); } void setup() { Serial.begin (9600); // 시리얼 포트 9600 속도 초기화 pinMode (trigPin, OUTPUT); // 지정된 트리거 출력 포트 번호를 출력으로 설정 pinMode (echoPin, INPUT); // 지정된 에코 입력 포트 번호를 입력으로 설정 pinMode (speakerPin, OUTPUT); // 지정된 압전 부저 출력 포트 번호를 출력으로 설정 pinMode (LED1, OUTPUT); // 지정된 LED1 출력 포트 번호를 출력으로 설정 pinMode (LED2, OUTPUT); // 지정된 LED2 출력 포트 번호를 출력으로 설정 pinMode (LED3, OUTPUT); // 지정된 LED3 출력 포트 번호를 출력으로 설정

int duration, distance; // duration을 지속시간, distance를 거리 변수로 정의 void loop() { int duration, distance; // duration을 지속시간, distance를 거리 변수로 정의   // 트리거 신호를 발생 digitalWrite(trigPin, HIGH); delayMicroseconds(1000); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); // pulsein() 함수는 지정된 포트가 HIGH가 될 때까지의 시간을 microsecond 단위로 반환해주며 이 값을 duration 변수에 저장함 distance = (duration/2) / 29; // 측정된 에코 신호를 이용하여 거리를 계산함 if (distance >= 200 || distance <= 0) { Serial.println("Out of range"); // distance 변수값이 0보다 작거나 200보다 크면 "out of range"를 시리얼모니터로 출력함 } else { Serial.print(distance); // 거리를 시리얼모니로 출력 Serial.println(" cm"); Serial.println(); if ((distance > 30) || (distance < 0)) { // 거리가 0보다 작거나 30cm보다 크면 소리가 안나고 LED가 안켜짐 noTone(speakerPin); Serial.println("no sound");

else if ((distance > 0) && (distance <= 10)) { // 거리가 10cm 이내이면 '도'소리가 나고 LED1이 켜짐 tone(speakerPin, C); digitalWrite(LED1,HIGH); Serial.println("C sound"); } else if ((distance > 10) && (distance <= 20)) { // 거리가 10cm보다 크고 20cm 이내이면 '레'소리가 나고 LED1과 LED2가 켜짐 tone(speakerPin, D); digitalWrite(LED2,HIGH); Serial.println("D sound"); else if ((distance > 20) && (distance <= 30)) { // 거리가 20cm보다 크고 30cm 이내이면 '미'소리가 나고 LED1, LED2, LED3이 켜짐 tone(speakerPin, E); digitalWrite(LED3,HIGH); Serial.println("E sound"); delay(500); // 500msec 시간 지연 ledoff();