일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Arduino
- Deque
- queue
- LineTracer
- 자료구조
- stl
- 아두이노 소스
- directx
- WinAPI
- vector
- set
- html
- c++
- 운영체제
- Stack
- 컴퓨터 그래픽스
- 아두이노
- 라인트레이서
- list
- Visual Micro
- arduino compiler
- map
- priority_queue
- C언어
- 수광 소자
- 시스템프로그래밍
- 아두이노 컴파일러
- Array
- Algorithm
- 통계학
- Today
- Total
목록ADC (4)
Kim's Programming
이번에 알아볼 예제는 ADC 값을 읽는 기본 예제 입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 /* AnalogReadSerial Reads an analog input on pin 0, prints the result to the serial monitor. Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground. This example code is in the public domain. */ // the setup routine runs once when you press reset: void setup() { // initia..
기본적인 포트에 값입력법 그리고 포트설정에 대해서 알아 보겠습니다. 제일 먼져 소개할 함수는 해당 포트에 대해 입출력을 미리 설정해주는 함수인 PinMode()입니다. 이 함수는 pinMode(포트번호 , 입/출력); 구조로 이루어집니다. 포트번호는 디지털의 경우 1, 2 ,3 등으로 아날로그일 경우엔 A0, A1 등으로 넣어주시면 됩니다. 입/출력에는 INPUT 또는 OUTPUT을 넣어 주시면 됩니다. LED등 빛을 내거나 하는건 OUTPUT 수광소자등 값을 받는거는 INPUT을 넣어주시면 됩니다. 다음으로는 묶어서 4개 한꺼번에 설명 드리겠습니다. digitalWrite(포트번호 , 값); analogWrite(포트번호 , 값); digitalRead(포트번호); analogRead(포트번호); 해당..
라인트레이서의 조립이 완료된 모습입니다. 물론 조립에 이용된 프레임은 따로 있던걸 쓴 것 입니다 ^^; 조립도 완료하고 ADC값도 조정하고 코드작성도 완료하여 주행 테스트를 실시 해봤습니다. 라인트레이서의 시범 주행입니다. 너무 느리죠? 하지만 선은 잘 따라가네요 이제 속도 조정만 남은것 같습니다.
ADC값을 이용하여 선을 인식해야하기 때문에 처음에 기준 값을 설정 해주어야 합니다. ADC값 측정을 위해 아래 코드를 이용합니다. 1 2 3 4 5 6 7 8 9 10 11 12 void setup() { Serial.begin(9600); } void loop() { unsigned long int sensor; sensor=analogRead(A0); Serial.println(sensor); delay(1000); } cs 위의 코드를 이용하면 아래와 같은 값을 얻을수 있습니다. 검은색이 일떄 약 900정도 흰색일떄 약 200정도의 값이 나옵니다. 대략 중간쯤으로 기준을 잡아주면 되니 한 600쯔음 으로 흰선과 검은선을 구별해주면 되겠습니다.