프로그래머스 자율주행스쿨
Ubuntu16.04 - 아두이노 나노 - 초음파센서(HC-SR04) 실습
donie
2021. 1. 13. 22:47
1. 아두이노 PC에 연결
아두이노를 USB케이블로 연결한다.
PC에서 아두이노 연결 확인 -> 'HL-340 USB 어쩌구' 확인
lsusb
USB를 꽂고 위에 Virtual Machine으로 연결했는데도 lsusb명령어를 실행했을 때 'HL-340'이 뜨지 않으면 USB를 다시 빼고 꽂는 것을 반복한다. 인식이 될 때까지.
< Serial over USB >
아두이노와 PC는 물리적으로 USB케이블로 연결된다.
하지만 내부적으로는 Serial 통신이 이루어진다.
2. 아두이노 IDE 실행
sudo arduino
Tools 메뉴에서 Board, Processor, Port 체크
Board | Arduino Nano |
Processor | Atmega328P |
Port | /dev/ttyUSB0 또는 /dev/ttyACM0 |
3. 초음파센서와 아두이노 연결
초음파센서 | 아두이노 |
Vcc | 5V |
Trig | D2 |
Echo | D3 |
Gnd | GND |
위와 같이 연결하였다.
4. 아두이노 코드 작성
ultrasonic_1_fw.ino 파일 작성
/*
HC-SR04 초음파 센서 아두이노 펌웨어
*/
#define trig 2
#define echo 3
void setup()
{
Serial.begin(9600);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
}
void loop(){
long duration, distance;
// 트리거 핀으로 10us동안 펄스 출력
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
// pulseIn 함수는 핀에서 펄스 신호를 읽어서 마이크로초 단위로 반환
duration = pulseIn(echo, HIGH);
distance = duration * 170 / 1000;
Serial.print("Distance(mm): ");
Serial.println(distance);
delay(100);
}
컴파일 후 업로드한다.
5. 결과 확인
Tools 탭의 Serial Monitor를 실행하면 아래와 같은 화면이 출력되는 것을 확인할 수 있다.
초음파 센서가 물체와의 거리를 잘 측정하는 것을 확인할 수 있다.