기존의 학습 방법으로 구글링 하는게 최고긴 하다
아래처럼 말이다.
그런데 이런 글들은 어느 정도 응용이 가해져있기 때문에
나의 꽃밭인 머리로는 이해하기 어렵다는 것이다.
그렇기에 스스로 기본 라이브러리를 통해 원리를 터득하는 법을 이번 게시글에서 다루고자 한다.
1.
블록 친 대로 따라가서 누르면 된다.
2.
무슨 말인지 하나도 모르겠다. 이제 해체해서 공부해보자.
3.
// ---------------------------------------------------------------------------
// Example NewPing library sketch that does a ping about 20 times per second.
// 초당 20번 핑을 찍는다
// ---------------------------------------------------------------------------
#include <NewPing.h>
// 이건 우리가 가져온 라이브러리 헤더 파일이다.
#define TRIGGER_PIN 12 // Arduino pin tied to trigger pin on the ultrasonic sensor.
// 전역 매크로 상수 선언으로 #define을 사용한다.
// 초음파 센서의 구성요소로는 TRIG pin, Echo pin, distance = ??/58.2 어쩌구가 있다.
// 신호를 발사하는 TRIGGER_PIN을 12번 핀으로 설정하나보다.
#define ECHO_PIN 11 // Arduino pin tied to echo pin on the ultrasonic sensor.
// 신호를 수신하는 ECHO_PIN을 11번 핀으로 설정한다.
#define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.
// 최대 거리를 200으로 설정한다.(원래 400~500 가능하다)
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.
// NewPing이라는 객체를 선언한다. 객체에 포함 되는 매개변수들은 TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE이다.
// 객체의 정의는 임의의 변수 with 메소드 인 꾸러미
// 클래스 정의는 확정된 변수+객체+함수 인 꾸러미
void setup() {
Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
// 컴퓨터의 시리얼창 통신 속도와 아두이노의 통신 시리얼포트의 통신 속도를 일치시킨다
// 컴퓨터 시리얼창을 통해서 아두이노 센서 값을 읽을 수 있다.
}
void loop() {
delay(50); // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
// 50ms마다 한 번씩 루프가 도는데 1초는 1000ms이므로 1초당 20번의 루프가 돈다.
Serial.print("Ping: ");
// 핑 돌때마다 시리얼 창에 ping이라는 문자열 출력한다
Serial.print(sonar.ping_cm()); // Send ping, get distance in cm and print result (0 = outside set distance range)
// 핑 돌때마다 sonar 함수의 결과로 거리를 출력한다.
Serial.println("cm");
}
4.
성공했다.
5.
주의 사항 :
초음파 센서 모듈은 5v에서만 작동하므로 전원에 저항을 꼽으면 작동이 불능이다.
3.3v 전원에 연결해도 작동이 불능이다.
728x90
'아두이노' 카테고리의 다른 글
아두이노를 이용한 FFT 출력 및 스펙트럼 관찰 - 1, 2 (0) | 2021.05.03 |
---|---|
아두이노 기초 유튜브 강의 (0) | 2021.05.03 |
Newping.h 초음파센서 다중제어 오픈소스 따라하기 (3) | 2021.04.30 |
2. 아두이노 초음파 센서 LCD에 나타내기 실습 (1) | 2021.04.25 |
1. 아두이노 LCD로 조도센서 값 읽어오기 (0) | 2021.04.24 |
댓글