Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Arduino
- LineTracer
- Array
- 컴퓨터 그래픽스
- 아두이노 소스
- WinAPI
- list
- 아두이노
- priority_queue
- directx
- 아두이노 컴파일러
- map
- C언어
- vector
- arduino compiler
- 수광 소자
- stl
- Stack
- 라인트레이서
- 시스템프로그래밍
- 통계학
- c++
- Deque
- Algorithm
- html
- queue
- 운영체제
- Visual Micro
- set
- 자료구조
Archives
- Today
- Total
Kim's Programming
아두이노 라인트레이서 발광 및 수광부 본문
라인트레이서는 적외선 발광부에서 빛을 쏘아 선에 반사된 빛을 수광소자가 받는 원리를 이용하여 선을
감지합니다. 이런 원리를 할 수 있는 회로도를 보여드리겠습니다.
라인트레이서 발광 및 수광부입니다.
발광소자는 항상 전원이 입력되어 항시 켜져 있습니다.
발광부는 하부의 선에 반사된 빛을 받아드린 후 그에 알맞은 값을 HIGH 또는 LOW로 출력하지만
제가 제작하는 라인트레이서는 ADC값을 이용하여 선을 감지하게 만들 것 입니다.
또한 위 회로도에 나와있는 A0, A1, A2, A3은 수광부의 신호를 감지하는 선이며 각 신호선들이 할당된 포트를
나타냅니다.
이에 해당하는 소스는 다음과 같습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 |
#define sensor_left A0//leftmost
#define sensor_middle_left A1//left of middle
#define sensor_middle_right A2//right of middle
#define sensor_right A3//rightmost
void setup()
{
pinMode(sensor_left, INPUT);
pinMode(sensor_middle_left, INPUT);
pinMode(sensor_middle_right, INPUT);
pinMode(sensor_right, INPUT);
Serial.begin(9600);
}
void loop()
{
}
|
cs |
위의 소스에서는 보면 제일 위의 #define 부분은 포트를 할당해 주는 부분이고 PinMode의 INPUT의 의미는
수광 포트에게 "값을 받아드릴 준비를
하고 있으세요" 라는 의미를 주는것입니다.
또, 다른 라인트레이서의 경우는 적외선 포트를 켜는 것을
ex)
1
2
3
4
5
6
7
8
9
10 |
#define Infrared_left A0
setup()
{
pinMode(Infrared_left, OUTPUT);
}
|
cs |
와 같이 추가하여 직접 켜는 경우도 있습니다만
저의 경우는 전원과 직접 연결하여 사용하였기 때문에 따로 소스를 작성하지는 않았습니다.
'Arduino > Line Tracer' 카테고리의 다른 글
아두이노 라인트레이서 모터 구동부 제작 (0) | 2015.06.30 |
---|---|
아두이노 라인트레이서 발광 및 수광부 제작 (0) | 2015.06.30 |
아두이노 라인트레이서 모터 구동부 (0) | 2015.06.30 |
아두이노 라인트레이서 부품 (2) | 2015.06.30 |
라인트레이서란? (0) | 2015.06.30 |