HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
장지원 페이지/
[Notion] :
[Notion] :
/
🚗
Line Tracer
/
2차시

2차시

태그
날짜
 
[Ref]
아두이노 - 적외선 센서를 이용한 라인트레이서(Linetracer) 만들기 (tistory.com)
 
[Memo]
가운데 두 개 센서만 잘 나온다
  • to do: 조교님께 질문,
  • to do: 가운데 두 개 센서만 활용?
센서 값 boolean, CAR class 활용할 방법 찾아보기
 

 
[Code]
#include <stdio.h> #include <WiringPi.h> // wiringPi: GPIO 모듈 // **주의 wiringPi는 컴파일할 때 linking 해주어야 한다** // pin 번호는 WiringPi 기준 #define Tracking_Left1 2 #define Tracking_Left2 3 #define Tracking_Right1 0 #define Tracking_Right2 7 int main() { // GPIO pin 초기화 if (wiringPiSetupGpio() == -1) { return 1 // 초기화 실패시 1 반환 } // pinMode set // 01. senser pin 설정 pinMode(Tracking_Left1, INPUT); pinMode(Tracking_Left2, INPUT); pinMode(Tracking_Right1, INPUT); pinMode(Tracking_Right2, INPUT); // 02. motor pin 설정 pinMode(Tracking_Right2, OUTPUT); // loop bool Driving = true; while (Driving) { // 센서 읽는 값은 bool // if (digitalRead(Tracking_Left1) == 1 && digitalRead(Tracking_Left2) == 1); printf("%d", digitalRead(Tracking_Left1)); printf("%d", digitalRead(Tracking_Left2)); printf("%d", digitalRead(Tracking_Right1)); printf("%d", digitalRead(Tracking_Right2)); if ((Tracking_Left2 == 1) && (Tracking_Right1 == 1)) { // 직진 } else if ((Tracking_Left2 == 0) && (Tracking_Right1 == 1)) { // 우회전 } else if ((Tracking_Left2 == 1) && (Tracking_Right1 == 0)) { // 좌회전 } else if ((Tracking_Left2 == 0) && (Tracking_Right1 == 0)) { // 정지 Driving = false; } } }
 
[ToDo]
핸드폰 연결은 왜 하는 거지..?
/home/pi/Yahboom_project/Raspbot/2. Hardware control course/10.IR control car 이 경로 타고 들어가서 control car module 정보 찾아보기
/home/pi/Yahboom_Project/Raspbot/3.AI Vision course/06.QR code recognition/QR code recognition.ipynb 여기에는 QR 코드 인식에 대한 정보가 있다.
⇒ C++ OpenCV QRcode scanner (tistory.com)
QR 코드는 위 링크꺼 코드 참고, rbpi에 다운은 밑 링크 참고(앗 다운은 이미 되어 있는 듯, 단 4.0.0이상의 버전에서만 동작하니 이 버전을 잘 컴파일 하기!→linker?)
Raspberry Pi 3에 opencv_contrib 포함하여 OpenCV 4.0.0 설치하는 방법 : 네이버 블로그 (naver.com)