일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Array
- Arduino
- map
- Stack
- LineTracer
- vector
- 아두이노 컴파일러
- 통계학
- 시스템프로그래밍
- stl
- WinAPI
- 운영체제
- Algorithm
- c++
- 자료구조
- set
- 아두이노 소스
- priority_queue
- 컴퓨터 그래픽스
- 라인트레이서
- 아두이노
- html
- arduino compiler
- directx
- queue
- Deque
- C언어
- list
- 수광 소자
- Visual Micro
- Today
- Total
목록아두이노 (18)
Kim's Programming
Arduino 코딩은 음.. .C++에 가장 유사한것 같습니다. 클래스 상속도 보이는거 보면.. 또 어떻게 보면 자바인것 같기도 하구요 이번 포스팅에서는 아두이노 코딩의 구조와 컴파일러에 대해서 알아보겠습니다. 일단 아두이노(Arduino)라는 것에 대해 먼져 알아 보겠습니다. 아두이노는 오픈소스를 기반으로 한 단일 보드 마이크로컨트롤러로 완성된 보드와 관련 개발 도구 및 환경을 말을 합니다. 이 기기의 장접은 윈도, MAC OS X. 리눅스 등 여러 OS를 지원하고 보드에 대한 회로도도 공개가 되어있으면 무엇보다 컴파일후 따로 업로드 과정이 필요없이 USB를 통하여 쉽게 업로드를 할 수 있다는 장점이 있습니다. 이러한 아두이노 보드 그럼 어떻게 이용할까요? 먼져 컴파일러부터 알아보겠습니다. Arduin..
짧은 영상이지만 라인트레이서는 완벽하게 잘 돌아갑니다!!! 라인트레이서 완성! 코드가 필요하시거나 도움이 필요하신분은 댓글로 문의주세요~ 코드 공개하였습니다. 도움이 되셨다면 댓글이나 남겨주세요! :) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131..
라인트레이서의 조립이 완료된 모습입니다. 물론 조립에 이용된 프레임은 따로 있던걸 쓴 것 입니다 ^^; 조립도 완료하고 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쯔음 으로 흰선과 검은선을 구별해주면 되겠습니다.
드라이버 IC 회로 제작중의 사진은 없어서 완성본 사진만 올립니다 ^^; 현재 연결 상태를 말하자면 (왼쪽 오른쪽은 사진 기준입니다) 노파 -> 왼쪽 모터 방향 조정 흰보 -> 오른쪽 모터 조정 주황 -> (+) 파랑 -> (-) 기타 파빨 2세트 2개 -> 모터 Vout 뒷면 사진입니다.
라인트레이서의 발광 및 수광부 제작입니다. 먼져 최적화된 배치로 배치를 합니다. 납땜을 해줍니다 벌써 몇군데 탔네요... 완성이 되었습니다.!! 물론... 위의 완성본은 사진이 없습니다.. 어쨌든 완성본은 다르게 생겼지만 원리와 동작은 똑같습니다. 완성본의 윗면입니다. 완성면의 뒷면입니다. 어느정도 알아 볼 수 있지만 실리콘을 발라놔서 알아보기가 힘들껍니다. 뒷면은 쇼트 방지를 위하여 실리콘 처리를 해둔 상태입니다. 이렇게 발광 수광 기판이 완성되었습니다
모터 구동부는 위와 같은 회로도 모형을 갖게 됩니다. 양쪽 모터를 이용하기 때문에 양쪽으로 2세트 만들어 주시면 됩니다. 위 모터 조작에 대한 소스코드입니다. 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 //motor driver inputs #define Left_Wheel_1 9//left motor #define Left_Wheel_2 8 #define Right_Wheel_1 2//right motor #define Right_Wheel_2 3 void setup() { //Define motor pins as output to manage them. pinMode(Left_Wheel_1, OUTPUT); pinMode..
라인트레이서는 적외선 발광부에서 빛을 쏘아 선에 반사된 빛을 수광소자가 받는 원리를 이용하여 선을 감지합니다. 이런 원리를 할 수 있는 회로도를 보여드리겠습니다. 라인트레이서 발광 및 수광부입니다. 발광소자는 항상 전원이 입력되어 항시 켜져 있습니다. 발광부는 하부의 선에 반사된 빛을 받아드린 후 그에 알맞은 값을 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 ..