CODE 6.3 | 빛을 따라가는 자동차 만들기
| 01 | // 모터 제어 핀 설정 |
| 02 | int rightMotor1 = 5; |
| 03 | int rightMotor2 = 6; |
| 04 | int leftMotor1 = 9; |
| 05 | int leftMotor2 = 10; |
| 06 | |
| 07 | // 빛 센서 핀 설정 |
| 08 | int lightSensorPin = A0; |
| 09 | |
| 10 | void setup() { |
| 11 | // 모터 핀을 출력 모드로 설정 |
| 12 | pinMode(rightMotor1, OUTPUT); |
| 13 | pinMode(rightMotor2, OUTPUT); |
| 14 | pinMode(leftMotor1, OUTPUT); |
| 15 | pinMode(leftMotor2, OUTPUT); |
| 16 | |
| 17 | Serial.begin(9600); |
| 18 | } |
| 19 | |
| 20 | void loop() { |
| 21 | // 1. 빛 센서 값 읽기 |
| 22 | int lightValue = 1023 - analogRead(lightSensorPin); |
| 23 | |
| 24 | // 2. 불빛을 발견했을 때 (직진하여 따라가기) |
| 25 | if (lightValue > 700) { |
| 26 | digitalWrite(rightMotor1, HIGH); |
| 27 | digitalWrite(rightMotor2, LOW); |
| 28 | digitalWrite(leftMotor1, HIGH); |
| 29 | digitalWrite(leftMotor2, LOW); |
| 30 | } |
| 31 | // 3. 불빛이 없을 때 (멈추기) |
| 32 | else { |
| 33 | digitalWrite(rightMotor1, LOW); |
| 34 | digitalWrite(rightMotor2, LOW); |
| 35 | digitalWrite(leftMotor1, LOW); |
| 36 | digitalWrite(leftMotor2, LOW); |
| 37 | } |
| 38 | Serial.println(lightValue); |
| 39 | delay(50); // 0.05초 대기 |
| 40 | } |
댓글 없음:
댓글 쓰기