조도 센서 및 서보 모터 제어
목표 : 조도 센서를 세개를 사용해서 어두운 부분을 찾아내고 서보모터를 이용해서 어두운 부분을 가르키는 동작 구현
회로 구성

소스 코드
#include
\ \ Servo myServo;\ \ int potVal;\ int angle = 0;\ \ void setup(){\ myServo.attach(9);\ Serial.begin(9600);\ }\ \ \ void loop()\ {\ int position\_a = analogRead(A0);\ int position\_b = analogRead(A1);\ int position\_c = analogRead(A2);\ \ Serial.print("\n angle\_a: ");\ Serial.println(position\_a);\ Serial.print("\n angle\_b: ");\ Serial.println(position\_b);\ Serial.print("\n angle\_c: ");\ Serial.println(position\_c);\ \ if((position\_a != position\_b) || (position\_a != position\_c) || (position\_b != position\_c))\ {\ if(position\_a < position\_b)\ {\ if(position\_a < position\_c)\ {\ myServo.write(45);\ Serial.println(45);\ }else\ {\ myServo.write(125);\ Serial.println(125); \ }\ }else if(position\_a < position\_c)\ {\ if(position\_a < position\_b)\ {\ myServo.write(45);\ Serial.println(45); \ }else\ {\ myServo.write(90);\ Serial.println(90); \ }\ }\ }\ \ if(Serial.available())\ {\ char ch = Serial.read();\ if(ch == 'a')\ {\ for(angle = 0; angle < 180; angle++)\ {\ if(angle < 180 )\ {\ myServo.write(angle);\ delay(15);\ }else\ {\ angle = 0;\ }\ Serial.print("angle: ");\ Serial.println(angle);\ }\ }else if( ch == 'b')\ {\ myServo.write(45);\ Serial.println(45);\ delay(5000);\ }else if( ch == 'c')\ {\ myServo.write(90);\ Serial.println(90);\ delay(5000);\ }else if( ch == 'd')\ {\ myServo.write(125);\ Serial.println(125); \ delay(5000); \ }else if( ch == 'e')\ {\ myServo.write(180);\ Serial.println(180); \ delay(5000); \ }else\ {\ }\ }\ }
\