카테고리 없음

아두이노 과제 5

도민혁 2022. 5. 17. 22:13

서보모터

 

 

 

 

180도 회전이 가능한 모터

-잠금장치를 열고 닫을 때 잘 사용할 수 있다.

 

 

 

 

 

 

PWM

 

 

 

--Pulse Width Modulation의 준말임

--펄스를 변조해서 전류를 미세하게 조절하는 방법

--LED밝기를 조절하거나, 모터의 속도를 조절할 수 있음

 

 

 

서보모터

KakaoTalk_20220517_220915482.mp4
1.94MB

#include <Servo.h>
int pos = 0;  //변수 선언
Servo servo; //서보

void setup()
{
  servo.attach(5);
}

void loop()
{
  for(pos = 0; pos <=180; pos+=1) {//pos값을 0으로 하고 각도가 180이 될때까지 1씩 증가
    servo.write(pos);  //value값을 각도로 회전
    delay(15);
  }

  for(pos=0; pos>=180; pos-=1) {//pos값을 0으로 하고 각도가 180보다 작아질 때까지 1씩 감소
    servo.write(pos); //value값을 각도로 회전
    delay(15);
  }
}

 

 

 

 

 

 

 

 

 

 

포텐쇼미터

--가변저항. 저항의 일종임

--돌리는 만큼 저항의 값이 변함

--내부에 저항체 도선이 들어있어서 도선이 지나는 길이만큼 저항값이 정해지는 원리

 

 

저항은 도선의 길이에 비례하고 단면적에 반비례한다.

 

KakaoTalk_20220517_220918344.mp4
1.14MB

void setup()
{
  Serial.begin(9600); //시리얼 통신 함수 설정 9600속도로
}

void loop()
{
  int poten = analogRead(A0);//A0핀
  Serial.println(poten);//출력 줄바꿈
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

아나로그 입력 값을 받아서 서보를 돌려보기

 

 

 

#include <Servo.h>

int Servopin(5);//서보핀을 5번으로 설정
Servo servo;

void setup()
{
  servo.attach(Servopin);
}

void loop()
{
  int poten = analogRead(A0);//A0핀으로 설정
  int servoV = map(poten,0,1023,10,170);//0부터 1023의 값을 10 170사이의 값에 적당히 매칭출력
  servo.write(servoV);
}

 

 

 

 

 

 

 

 

 

 

포텐쇼미터 이용하여 led밝기 조절하기

KakaoTalk_20220517_220926183.mp4
1.99MB
KakaoTalk_20220517_220931147.mp4
3.06MB

 

 

#define LED 11
void setup(){
  pinMode(LED, OUTPUT);
  Serial.begin(9600);
}
void loop()
{
  int a = analogRead(A0); //가변저항(0~1023) 값을 읽어옴
  Serial.println(a); // 시리얼 모니터에 값을 출력
  analogWrite(LED, a / 4); //0~255 범위로 LED 값을 출력
  delay(10);
}