본문 바로가기

아두이노

IR 센서와 가변 저항기를 사용한 물체 방향 제어

반응형

물체 방향 제어를 위해 IR (적외선) 센서와 가변 저항기 (포텐셔미터)를 사용하는 아두이노 프로젝트를 만들어보겠습니다.

 

1. 이론 소개:

  • IR 센서: 적외선을 사용하여 물체의 존재를 감지하는 센서입니다.
  • 가변 저항기 (포텐셔미터): 저항값을 조절하여 아날로그 값을 변경할 수 있는 센서입니다.

2. 준비물:

  • Arduino 보드 (예: Arduino Uno)
  • IR 센서 모듈 (예: TCRT5000)
  • 가변 저항기 (포텐셔미터)
  • 점퍼 와이어
  • 빵판 또는 프로토타이핑 보드

3. 비슷한 센서 모델명:

  • IR 센서 모듈: TCRT1000, TCRT5000, 등

4. 추천 보드 및 간단한 설명:

  • Arduino Uno: 이 프로젝트에 적합한 시작 보드입니다.

5. 회로 구성:

  • IR 센서 모듈과 가변 저항기를 아두이노에 연결합니다.
  • IR 센서의 출력 핀을 아두이노의 아날로그 핀 (예: A0)에 연결합니다.
  • 가변 저항기의 한쪽 단자를 5V에 연결하고, 다른 쪽 단자를 GND에 연결합니다. 중간 단자를 아날로그 핀 (예: A1)에 연결합니다.

 

6. 코딩 내용:

 

int irPin = A0; // IR 센서의 아날로그 핀
int potPin = A1; // 가변 저항기의 아날로그 핀
int threshold = 600; // IR 센서 감지 임계값
int motor1Pin1 = 9; // 모터 1의 제어 핀 1
int motor1Pin2 = 10; // 모터 1의 제어 핀 2
int motor2Pin1 = 5; // 모터 2의 제어 핀 1
int motor2Pin2 = 6; // 모터 2의 제어 핀 2

void setup() {
  Serial.begin(9600); // 시리얼 통신 시작
  pinMode(motor1Pin1, OUTPUT);
  pinMode(motor1Pin2, OUTPUT);
  pinMode(motor2Pin1, OUTPUT);
  pinMode(motor2Pin2, OUTPUT);
}

void loop() {
  int irValue = analogRead(irPin); // IR 센서 값 읽기
  int potValue = analogRead(potPin); // 가변 저항기 값 읽기

  Serial.print("IR Sensor Value: ");
  Serial.print(irValue);
  Serial.print(", Potentiometer Value: ");
  Serial.println(potValue);

  if (irValue > threshold) {
    if (potValue < 512) {
      // 물체가 감지되었고, 물체의 위치에 따라 동작을 제어합니다.
      // 물체가 왼쪽에 있으면 왼쪽으로 회전합니다.
      digitalWrite(motor1Pin1, HIGH);
      digitalWrite(motor1Pin2, LOW);
      digitalWrite(motor2Pin1, LOW);
      digitalWrite(motor2Pin2, HIGH);
    } else {
      // 물체가 오른쪽에 있으면 오른쪽으로 회전합니다.
      digitalWrite(motor1Pin1, LOW);
      digitalWrite(motor1Pin2, HIGH);
      digitalWrite(motor2Pin1, HIGH);
      digitalWrite(motor2Pin2, LOW);
    }
  } else {
    // 물체가 감지되지 않으면 모터를 정지합니다.
    digitalWrite(motor1Pin1, LOW);
    digitalWrite(motor1Pin2, LOW);
    digitalWrite(motor2Pin1, LOW);
    digitalWrite(motor2Pin2, LOW);
  }
}

 

 

7. 코딩 내용 설명:

  • IR 센서와 가변 저항기 (포텐셔미터) 값을 읽어옵니다.
  • IR 센서가 감지한 값이 설정한 임계값을 초과하면 물체가 감지되었다고 가정합니다.
  • 가변 저항기 값을 사용하여 물체의 위치를 확인하고 해당 위치에 따른 동작을 수행합니다.

8. 코드 업로드 및 테스트:

  • 위의 코드를 아두이노 IDE에 복사하여 업로드한 후 시리얼 모니터를 통해 센서 값과 동작 상태를 확인하세요.

9. 응용 업그레이드:

  • 이 프로젝트를 확장하여 물체의 위치와 방향에 따라 다양한 동작을 수행하도록 개선할 수 있습니다.

10. 전문용어 및 설명:

  • IR 센서: 적외선을 사용하여 빛을 감지하고 물체의 존재를 감지하는 센서입니다.
  • 가변 저항기 (포텐셔미터): 저항값을 조절하여 전기 회로의 특정 부분의 저항을 변경할 수 있는 조절 가능한 저항기입니다.

11. 기타:

  • 이 프로젝트를 통해 물체의 방향을 제어하는 방법을 배울 수 있습니다.
반응형