1. 아두이노 구동 회로

1.led.ino

2.servo.ino

3.merge.ino

4.ino

  1. led 제어 회로

    Untitled

    int sw = 12;                    // sw를 12번 핀에 연결
    int led = 10;                   // led를 10번 핀에 연결
    
    void setup() {
      pinMode(led, OUTPUT);         //led를 출력 장치로 세팅     
      pinMode(sw, INPUT_PULLUP);    // 스위치를 입력 장치로 세팅
      Serial.begin(9600);           //시리얼 통신 속도 9600
    }
     
    void loop() {
      if(digitalRead(sw) == LOW)     //스위치가 눌리면
      {
        digitalWrite(led, HIGH);     //led On
        Serial.println("led On");}
     
      else{
        digitalWrite(led, LOW);      //스위치가 닫히면 Off
        Serial.println("led Off");                   
      }
    }
    
  2. 서보모터 좌우 테스트 코드

Untitled

#include <Servo.h>                    // 서보모터 헤더파일 포함
Servo servomotor;                     // 서보모터 변수 설정   
int angle = 90;                        // 처음 서보모터 각도 90도로 설정

 
void setup() {
  servomotor.attach(5);                // 서보모터 5번핀에 연결 
  Serial.begin(9600);                  // Serial 통신 설정
  while(!Serial);                                           
  Serial.println("Servor Mortor");     // 시리얼모니터에 출력
}

void loop() {

  if(Serial.available()){          //Serial 모니터창에 값이 들어오면 실행.
    angle = Serial.parseInt();            //Serial 모니터창에서 받은 값을 a 변수에 저장

      Serial.print("angle : ");      //시리얼모니터에 "angle : " 출력
      Serial.println(angle);             //입력한 값 a를 모니터에 출력 

      servomotor.write(angle);          //서보모터를 a 만큼 움직임  
      delay(15);
  }

}
  1. led-서보모터-스위치 제어회로

Untitled

#include <Servo.h>             //서보모터 헤더파일 포함

Servo motor;                   // 서보모터 변수 설정 
int angle = 90;                // 처음 서보모터 각도 90도로 설정
int step_size = 2;             // 서보모터 움직이는 크기 2로 설정

int LEDsw = 12;                  //LEDsw 12번 핀에 연결    
int RIGHTsw = 7;                 //RIGHTsw 7번 핀에 연결
int LEFTsw = 3;                  //LEFTsw 3번 핀에 연결

int led = 10;                    //led 10번 핀에 연결

void setup() {
  pinMode(led, OUTPUT);              // led 출력 장치로 설정
  pinMode(LEDsw, INPUT_PULLUP);       // sw 입력 장치로 설정
  pinMode(RIGHTsw, INPUT_PULLUP);
  pinMode(LEFTsw, INPUT_PULLUP);
  motor.attach(5);                   // 서보모터 5번핀에 연결 
  motor.write(angle);                // 처음 서보모터 90도로 설정 
  Serial.begin(9600);                // Serial 통신 설정
} 
 
void loop() {
  if(digitalRead(LEDsw) == LOW)        //스위치가 눌리면
  {
    digitalWrite(led, HIGH);           //led On
    Serial.println("LED On");}
 
  else{
    digitalWrite(led, LOW);
    Serial.println("LED off");          //LED스위치가 닫히면 Off
  }

   if(digitalRead(RIGHTsw) == LOW)      //오른쪽스위치가 눌리면
  {
    if (angle < 179)
      angle = angle + step_size;        //각도를 크게 변경함
      
    motor.write(angle);                 //서보모터를 angle 크기 만큼 움직임  
    Serial.println("오른쪽으로 이동");}
 

   if(digitalRead(LEFTsw) == LOW)        //왼쪽 스위치가 눌리면
  {
      if (angle > 0)
        angle = angle - step_size;      //각도를 작게 변경함

    motor.write(angle);                  //서보모터를 angle 크기 만큼 움직임
    Serial.println("왼쪽으로 이동");}
  
}