본문 바로가기
IOT 로봇 아두이노/아두이노 기본센서 연결하기

[아두이노 기초] DC모터 사용하기

by Jango_infoinno 2021. 4. 19.
목차
1) DC 모터란?
2) 가변저항을 이용한 모터 속도 제어하기
3) 스위치를 이용하여 모터 방향 바꾸기
4) 스위치를 이용하여 기어드모터 방향 바꾸기
5) 버튼 두개를 연결하여 기어드모터 방향 바꾸기

1. DC 모터란?

DC(Direct Current) 직류 모터이다. (교류 Alternative Current = AC모터)

직류전원으로 동작하며, 다른 고정장치에 비해 가볍고 간단하다.

DC 모터는 속도 및 방향 제어 등이 쉽다.

미니카 같은 장난감 모터로도 사용하는 DC 모터,

DC 모터 선택 기준은,

 

RPM(Revolutions Per Minute) : 분당 회전수, 예를 들어 500 rpm은 분당 500회전을 뜻함.

 

이번 수업에서는 RPM을 조절하기 위해서 PWM 포트에 연결하여 속도를 조절해 보겠습니다!

 


2. 가변저항을

이용한 모터 속도 제어하기

int mpin = 9;

void setup()
{

  pinMode(mpin , OUTPUT);
  Serial.begin(9600);

}

void loop()
{

  int val = analogRead(A5);			 	//아날로그 입력을 val에 입력받는다.

  int convertval = map(val,0,1023,0,255);
  //val변수가 가지고 있는 0~1024 센서 값을 0~255로 연산하여 convertval변수값에 넣어준다.

  Serial.println(convertval); 				//가변저항 값을 출력한다.
  analogWrite(mpin,conval);			 	//가변저항 값에 따라 모터의 속도를 조절한다.
  
  delay(100);

}

3. 스위치를 이용하여 모터 방향 바꾸기

 

void setup()
{
  pinMode(9 , OUTPUT);	//pwm 지원
  pinMode(10, OUTPUT);	//pwm 지원
  pinMode(8, INPUT); 	//스위치 입력 받기위한 핀
  Serial.begin(9600);
}

void loop()
{
  int val = analogRead(A5);		
  int convertval = map(val,0,1023,0,255);
  
  int inputSwitch = digitalRead(8);		//스위치값을 inputSwitch 변수에 넣는다
  int OnOff = inputSwitch;			//입력받은 스위치값이 On 인지 Off 인지 확인하기위한 변수
  
  if(inputSwitch == LOW){			//스위치의 값이 LOW이면 9번 핀에 전원을 넣고
    analogWrite(9,convertval);
    analogWrite(10,0);
  }
  else{					//스위치의 값이 HIGH이면 10번 핀에 전원을 넣는다
    analogWrite(9,0);
    analogWrite(10,convertval);
  }
  
  Serial.print(OnOff);			//스위치가 On인지 Off인지 출력한다
  Serial.print(" ");					
  Serial.println(convertval);		//가변저항으로 받는 전압의 값을 출력한다
  delay(100);
  
  
}

 

4. 스위치를 이용하여 기어드모터 방향 바꾸기

 

5. 버튼 두개를 연결하여 기어드모터 방향 바꾸기

 

 

 

 

 

 

 

참조: https://m.blog.naver.com/icbanq/2215999245

 

반응형

댓글