적외선(4)
-
#12/12 아두이노 로봇 HowTo
최종 코드 /****************************************************** * AutoRobot * made by Sohyemini * 2020.10.04 ******************************************************/ #include #include #include #include /* * 두 개의 바퀴를 위한 디지털 Input/output D1에서 D4까지 선언 * D1, D2는 왼쪽 바퀴, D3, D4는 오른쪽 바퀴임 */ int LeftWheel_D1 = 2; int LeftWheel_D2 = 3; int RightWheel_D3 = 4; int RightWheel_D4 = 5; // 초음파 센서를 움직이기 위한 서보 모터 핀..
2022.11.04 -
#11/12 아두이노 로봇 HowTo
LCD 모듈 LCD 모듈은 로봇의 주행 성능과는 무관하지만 차량의 상태 정보를 나타낼 수 있고 어렵지 않게 구현을 할 수 있어 택했다. 1602 Character LCD로 16개 문자를 두 줄에 표시할 수 있는 저렴한 LCD이다. 앞의 사진에서 보는 바와 같이 연결해야 할 핀들이 상당히 많다. 우리가 가진 디지털 핀들의 개수가 몇 개 안남았기 때문에 당장은 연결을 할 수 없는 상황이다. 하지만 I2C LCD Interface를 사용하면 문제를 해결할 수 있다. 라이브러리를 추가해야 한다. 이미 만들어진 라이브러리를 사용할 것이기 때문이다. 개발 환경에서 툴→ 라이브러리 관리를 선택해서 LiquidCrystal I2C를 설치한다. I2C란? IIC라고도 부르며 아이-스퀘어-씨로 읽..
2022.11.04 -
#10/12 아두이노 로봇 HowTo
적외선 거리 측정 모듈 (HS-IRSM) 적외선 거리 측정 모듈은 다음과 같이 생겼다. 핀의 연결은 하나의 데이터 라인을 아두이노와 연결을 하고 전원을 각각 연결한다. LED가 두 개가 있어 한쪽에서 적외선을 내 보내고 한쪽에서는 받는다. 지금까지 썼었던 초음파 센서는 음파임에도 우리가 들을 수 없었고 적외선은 우리가 볼 수 있는 가시광선 영역에서 벗어나기 때문에 볼 수 없다. 하지만 적외선의 경우에는 디지털 카메라로 볼 수가 있다. 다음의 사진은 모듈을 로봇의 전면 하단부에 장착을 하고 전원을 준 상태로 사진을 찍은 것이다. 투명했던 LED 한쪽에서 빛이 나옴을 볼 수 있다. 이렇게 적외선을 사용하는 경우에는 카메라로 적외선이 나오는지 여부는 확인을 할 수 있다. 적외선을 많이 사용하는 것이 리모콘..
2022.11.04 -
#8/12 아두이노 로봇 HowTo
자동 주행 알고리즘 전원을 넣고 나면 장애물을 피해서 배터리가 다 닳을 때까지 계속 이동하는 로봇이다. 우리가 가지고 있는 정보는 초음파 센서로 들어오는 정보에 의존을 한다. 그래서 loop 함수를 다음과 같이 작성을 했다. 초반에도 설명을 한 바와 같이 loop 함수는 무한 반복이 되는 함수다. 그 무한 반복되는 함수가 아래의 20여줄의 함수이며 이 함수에 의해서 로봇은 장애물을 계속 피해가며 움직이게 된다. void loop() { Detect_Front(); // 정면 거리 측정 if(distanceFront > STOP_DISTANCE) // 정의된 거리보다 크면 앞으로 전진하고 물체 확인 { Robot_Go(); } else { // 정면의 거리가 정의된 거리보다 작을 경우 Detect_Ob..
2022.11.04