VicPy | 아두이노 기초 - 서보모터 사용하기
본문
※ 영상을 선명하게 보기 안내
- 유튜브 영상에서 오른쪽하단에 톱니바퀴를 클릭합니다.
- 팝업목록에서 "품질" 선택하세요.
- 원하는 해상도를 선택해주세요.
※ 모바일에서 Wifi가 아니라면 데이타가 소진될 수 있으니 주의바랍니다.
VicPy님의 아두이노강의 청각장애인을 위한 자막
de 5
이번 시간에는 서버 모터 사용하기를 알아보도록 하겠습니다아 우리가 이제 그 지금까지 악인으로 공부하면서 크게 불 가지를 공부
했는데요
하나는 센 씽 하는거 하고 또 하나는 액츄에이터 에 관련된 걸 했습니다
센 스 윙 하는 것은 뭐 조도센서 부터 시작해서 다양한 센서가 있죠
액츄에이터 라고 하는 것은 센서는 아두이노 한테 정보를 집어 넣어주는
어떤 외부의 변환 값을 체크하는 거라면
액츄에이터 는 외부의 다 어떤 결과를 보내는 거죠
대표적인게 이제 피해 줘 보조 led 같은 것들이 이제 지금 우리가 배운
에취 터인데
사실 엑츄에이터 중에 가장 활용도가 높은 거는 바로 이번 시간에 공부할
서버 틉니다
이번 시간에는 서보모터의 특징 하고 그 다음에 이런 서버 틀을 어떻게
작동을 시킬 수 있는지 그리고 이런 서버 틀을 활용한 가변 저항을 이용한
서버 활용하는 방법 이런 것들에 대해서 알아보도록 하겠습니다
어 기본적으로 서버 모터 라고 하는게 있는데 이 우리가 공부할 아두이노
개월에서 는 모토 의 종류가 크게 세 종류가 있습니다
그중에 하나가 이제 우리가 이번 시간에 알아볼 서버 텐데요
지금 여기 보시는 것처럼 이렇게 다양한 모터 들이 있죠 그래서 여기
보시는 이 부터가 가장 일반적인 못합니다
이 보통은 그냥 전기를 인가하면 은 그냥 계속 도는 거죠
2 이런 것들을 dc 모터 라고 하는데 이런 조그만 사이즈의 모터도 있죠
그리고 우리 스마트폰 같은데 보면 이거보다 더 작은 모터가 들어 있는데
그게 말 움직이면서 진동 효과를 일으키고 하는 그런 역할을 해줍니다
서브 모터는 지금 여기 보시는 개발도 서보모터 해요 이번 시간에 공부할
건데 서브 모터는
이런식으로 옆에 어떤 부품을 붙여서 작동을 시키는게 써본 버터 줘
그 다음에 모터 중에는 스태프 모터 라고 하는 것도 있습니다 지금 여기
있는데 스테핑모터 중에 하나인데요
이런 다양한 형태의 모터가 있는데 차이점이 뭐냐 하면
dc 모터는 그냥 전기를 인가하면 회전력을 발휘합니다 그래서 전기 링
가면 계속 또는 거죠 똑같은 속도로
그래서 일반적으로 우리가 뭐 전기 펌프 같은거 이런 것들 또는 선풍기
같은 게 다 잃은
dc 모터 또는 ac 버터가 들어가 있는 거죠
일정한 시간으로 보는것도
여기에 dc 라고 하는 용어를 쓰는 이유는 dc 갈 우리 그 일반적인
건전지 전기 있잖아요 플러스 하고 - 9분할 수 있는 건전지 전기
그런건지 dc 라고 하구요
a 씨 라고 하는 것은 교류 전류 라고 해서 그 노래의 그 집에는 선풍기
그런 것들이 이제 대표적인 ac 줘 그 집 s 는 선풍기 같은 경우에서
넓고 질 때 플러스 마이너스 극성이 없죠
전선을 꽂을 때 그래서 이런 힘을 발휘하는 부분에 쓰는 개발을 dc 모터
그 다음에 서버 터 라고 하는 것은 내 기어박스가 들어 있습니다
그래서 이 안에 기어박스가 들어 있어서 이 기어박스를 2 dc 모터가
들어 있는 부분이 정교하게 제어를 해주는 거죠 그래서 서버 틀을 이용하면
은 우리가 원하는 형태로 이 회전수를 제어할 수가 있습니다
움직임을 제어할 수가 있는 거죠
스테핑모터 라고 하는 것은 아내 모터 내부에서 돌릴 때 그 쭉 자체를
스테핑 이 하나씩 돌리게 해 줍니다 기어박스 1 1
그래서 아주 정교한 제어가 가능하여 스테핑 모터는
어차 잇점을 다시 한번 정리해 드릴게요 dc 모터는 주로
회전력을 얻기 위한 가장 일반적인 모토입니다 하지만 정교한 회전력을 제어
하기 힘들고
일반적으로 아주 정교한 회 정력을 스테핑 모터를 하게 되는데 스테핑
버튼은 내부에서 전기가 통할 때 마다 한 스텝 씩 움직이게 됩니다
그 다음에 써본 모터는 기어박스가 있어서 이 움직임을 정교하게 제어할
수가 있죠
스테핑모터 같은 경우에는 한 스텝 씩 정교하게 돌릴 수 있지만 큰 힘을
바뀌는 어렵죠 그래서 가장 일반적으로 쓰이는 게 정교한 제어를 위해서
서버 버터가 많이 쓰이고 있습니다
써본 부터는 그 요 회전하는 축을 원하는 각도를 설정해 줄 수 있는 그런
모터 구요 기본적으로 있어 고 모터는
0 에서 180도 사이 를 설정할 수가 있고 360도를 설정할 수 있는
그런 타입 끌게 있습니다 그 서 버튼 안에 여러 가지 타입 뜰이 있고
그래서 서 버터 dc 모터 스테퍼 모터 에 대한 설명을 쭉 드렸구요
있어 버터가 어떻게 작동하는지를 좀 알아보겠습니다
썸머 트의 작동을 알기 위해서 기본적으로 이제
서버 못하나 에다가
지금 아주 단순한 이런 회 돌 하나 구성해 보겠습니다
그래서 이런 회로가 어떻게 돼 있는지 먼저 실행을 하면 서서 버터가
뭔지를 눈으로 한번 확인해 보죠
그래서 여기 보시면 이렇게 서버 모터 에다가
그 전선을 연결했습니다 핀을 보시면 그 서버 트에서 나오는 선이 세계가
세습 세 가닥이 있는데요
선 중에 이 껌은 서는 그라운드 쪽에 꼽겠습니다
그래서 여기 보시면 그라운드가 있죠 그라운드의 꽂아 주고 그다음에 노란
선은 디지털 핀 9번에 이렇게 꽂았습니다
그 다음에 빨간색은 오버월드 전기를 공급하는 선회 닭알 꽂았습니다
그래서 이렇게 써 버터는 3가지 선이 들어 있고 이걸 가지고
이제 쓸 수 있는 거죠 보시며 전선이 하나는 5 볼트 를 내보내는 플러스
전선 그다음 하나는 그 그라운드 연결되는 - 전선이 줘
서버 트에서 가장 핵심은 이 녀석이 움직일 때 각도를 정밀하게 제어할 수
있는 거죠 그 정밀한 제어 는 역이 연결되어 있는 디지털 핀 9번의
역할을 처리하게 되어 있습니다
그래서 이렇게 써 봄 부터 를 구성한 다음에
여기에다가 실제 전기를 인가 해서 어떻게 작동하는 잘 못 보겠습니다
그래서 여기 보면 서버 모터가
지정된 범위 안에서 계속해서 반복해서 움직이는 게 보이시나요
그래서 이러한 움직임을 할 수 있는 걸 어떻게 짤 수 있는지 프로그램
한번 보시오
서브 버튼을 하기 위해서는 기본적으로 서보 모터를 제어할 수 있는
라이브러리가 필요합니다
그래서 이 스케치 프로그램에서 서브 버터를 쓸 수 있는 써 보라고 하는
라이브 를 가져와야 돼요
그래서 스케치 프로그램을 보면 은 스케치 메뉴에 라이브러리 가져오기
부분에 서버 라고 하는 라이브러리가 있는데 이거를 선택해 줘야 우리가
서버 틀을 제어할 수가 있습니다
이런 서버를 가져오게 되면 기본적으로 여기에 헤더에 잉 클로드 서 버
라는 부분이 추가가 됩니다
그래서 이 서버 점 헤더 라는 파일을 가져와야 만 우리가 서버 못하 를
정밀하게 제어할 수 있게 되는 거죠
어떻게 제어를 하는 지를 코드를 한번 보겠습니다
서버 터는 기본적으로 요 문장이 반드시 들어가야 되죠
그 서버라고 하는 거 가 요기 정해 되어 있습니다
요 문장은 이렇게 1 0 건데
서버 라고 하는 것은 사실 서버 점 헤더에 정의되어 있는 서버 라는
클래스 입니다
이 좀 약간 어려운 용어가 나오는데요
아두이노 는 씨하고 c 플러스 플러스 언어를 이용해서 프로그램을 작성할
수 있게 돼 있는데
지 우리가 제어 하고자 하는 서버 모터를 제어 하기 위해서는
아두이노 가 제공한 라이브러리인 서버 라이브러리에 있는 서버 클래스를
갖다 써 줘야 됩니다
즉시 뿔 뿔 언어에서 사용하고 있는 객체인 서버 라고 하는 클래스를 끌어
와야 되는 거죠
요 10불 언어에 대한 내용은 그 다른 강좌 그 프로그램을 설명 다른
광대를 좀 참조하시면 될 것 같구요
기본적인 컨셉은 서버 가 제공하는 라이브러리에 있는 서버 클래스를 갖다
놓고 그거에 맞는 변수를 하나 선언한 거죠
마이 서 버 라는 번씩 1 선언하고 이 서버에 각도를 조정하기 위한
위치를 조정하는 포스 라는 변수 1 선언했습니다
서버 모터를 쓰려면 가장 먼저 3 업에서
그 마이 서버 즉 서 버 라는 클래스의 초기화를 해줘야 되는데요
초기화 하는 코드는 어케 칠하는 메소드 에다가 어케 칠하는 함수 그
메소드의 다가
요구라는 그 서버에 디지털 핀 연결되어 있는 그 디지털 팀 번을 연결해
주면 초기화가 됩니다
이렇게 초기화를 스킨 다음에 u 안에서 그 아까 전기를 인가 했을 때
조금씩 움직이게 하는 것 그 코드를 여기다 작성을 한 거죠 그래서 코드를
보면 은
포 반복문이 들어 있죠 그래서 0부터 122 되기까지 포스를 하나씩
증가시킵니다
요 문장은 그 요 문장 하고 똑같은 거죠
플러스 플러스 포스 라는 문장 하고 갔음 뜻을 갖고 있습니다
포스 라는 뜻을
그래서 이것도 이제 하나씩 증가시키는 그런 그 그 뜻을 갖고 있구요
그래서 변론 조영 부터 129 까지
이 문장이 계속 반복되게 됩니다 그러니까 총 120 뻔히 반복 되겠네요
119 까지 그래서 마이 서버에 다가 써라
뭘 쓰냐 하면 포스를 이 포스는 서버 터가 움직이는 각도를 말하는 거죠
서버 모터가 회전을 각도를 쓰는 거죠 그럼 여기에 0부터 190 119
까지 값이 써 지겠죠
그리고 각각 1000분의 15초 만큼 그 딜레이 시간을 좋습니다
0.001 초 만큼 어떤 딜레이가 발생하면서 모터가 z 돌 겠네요
를 보면 은 0부터 119 까지 모터가 쭉 돌았던 거죠
다시 한번 볼까요 실행시켜 가지고
성기를 인가하면 은 0부터 119 까지
딜레이 15 를 갖고 움직이게 됩니다
그래서 이러한 루프를 가지고 지금 작동을 하는 거죠
어 마이 서버 테츠 아까 서보모터의 초기화를 담당하는 부분이 있는데 어째
체구 라는 숫자가 있었죠 그래서 버터 클래스가 제공한 어떻게 치는 서버
털을 제어하고 자는 핀 번호를 설정 하는 명령어입니다 서버 부터는 지금
우리가 가진 써보면 트 타입은 선이 시기가 나와있죠 플러스 마이너스 그
다음에 디지털 핀
여태 치의 그 디지털 제어하고 잔디 써 팀 번을 넣어주면 되는 거죠
그래서 써 주면 되고 그 다음에 이제 실제 서버 틀을 가지고 제어하는
방법은 서버 트 가 제공하는 라이트 라는 함수를 쓰는 겁니다
라이트한 함수를 쓰고 그 안에다가 서버 먼트 회전수를 넣어주면 그 회전수
만큼 서버 모터가 각도를 설정에서 움직이게 되는 거죠
라이트한 함수 에다가
그 해 전하고자 하는 각도로 써주면 됩니다
그래서 기본적으로 우리가 0부터 120도 까지 이렇게 설정을 해주면
요섭은 모토가
움직이게 되는 거죠 디지털 핑구 번을 가지고
이마이 서버에 라이트 에다가 각도 움직이는걸 적어주면 은 그저 거즘 각도
만큼 서버 멘트가 움직이게 됩니다
* 지금 우리는 요 디지털 팀 9번 회담의 연결해서
2 서버 틀을 이용해서 120도 각도 사이에서 움직일 수 있게 정리를
했습니다 그래서 요게 이제
회전을 한 거죠 그래서 이러한 써본 버튼을 사용하는 방법에 대해서 확인을
했는데요
여기서 좀 정리를 한번 해보죠 서버 터 라고 하는 거는 그 디지털 핀을
가지고 정교하게 각도를 제어할 수 있다는거 정리가 되셨죠
그리고 서버 포트를 실제 가지고 프로그램을 작성하기 위해서는 서버 라는
클래스를 같아 써야 됩니다
그래서 이 클래스를 쓰기 위해서 스케치 프로그램에서 라이브러리를 추가해
떵 거 그리고 서버 라는 클래스가 제공하는 초기화 함수 어케 칠하는
초기화 함수
그 다음에 실제 이 각도로 움직이는 서버 클래스가 제공하는 라이트한 함수
두가지를 가지고 서버 모텔을 움직일 수 있었습니다
어 지금 우리가 만든 프로그램은 매우 단순 하지요
그래서 프로그램을 실행 시키자 마자 계속해서 역내에서 120도 사이에서
서버 모터가
그 그 딜레이 타임 15 로 계속 움직이면서
작동하는 그런 단순한 구조인데요 이런 구조 말고 이 가변저항 이라는
겠읍니다 가변 조항 이라고 해서 이런 형태의 제품이 이제 가변저항 인데요
않은 스위치가 달린 거죠
우리의 볼륨 스위치 같은 거 있잖아 디오 볼륨 수 있지 그리고 돌리는거
이렇게 돌려주면 은
돌리는 각도에 따라서 여기 출력되는 조항이 값이 달라지게 됩니다
요런 큰 타입도 있고 이런 조그만 타 있겠습니다 요번에 이제 위의
돌려주면 복합 지 작동하는 거죠
다리가 세계 시기 이렇게 있죠 그래서 이런 가변저항기 를 이용해서
2갑 연주한 불린 원고의 따라서 즉 여기에 요 회전수에 따라 서서 버터가
작동 움직이게
바꿔주는 그런거를 한번 만들어보겠습니다
이걸 만들기 위해서 기본적 필요한 것은 서버 모터가 그 다음에 가변저항기
가 필요합니다
갑 연주하는 여기 보시는 이렇게 다리가 세 개가 달려 있는데요 이 세계의
다리는 각각 그라운드와 그 다음에 출력전압 그리고 5 볼트 전기 인간은
그런 역할을 하고 있습니다
5 볼트 하고 그라운드는 뭐 기본적인 것들이죠
그 플러스 마이너스 도 없는 거고 그다음에 출력 전압은
가변 저항 2 실제 움직일 때마다 바뀌게 됩니다
말그대로 이게 조항 이기 때문에 그 출력전압이 조항 있을 경우에
출력전압이 짜가 지겠죠
저항에 약할 경우에 출력전압이 쎄지 겠죠
그런식으로 해서 요걸 돌릴 때마다 출력 전화를 값이 변하게 됩니다
그럼 이 돌리는 가운데 2 출력전압 가 파고 그 다음에 아까 서브 못해서
공부했던
2 서브 못하 제어하는 디지털 핀 하구를 매팅리 켜주면
이거를 돌리는거 에 따라서 서브 모터에 각도를 제어할 수가 있게 되겠죠
그래서 이런 원리를 이용해서 프로그램을 작성해 보겠습니다
필요한 재료 한번 보죠 서보 모터와 가변 좋아 하나씩 필요하구요
회로 구성은 상당히 간단합니다 회로 구성을 보시면 가변 좋아 하나의 서브
모터가 연결되어 있죠 그래서 어떻게 연결되어 있는지 한번 쭉 보겠습니다
제가 미리 이렇게 연결을 시켜 놓았는데 그래서 이 부분을 통해서 한번
같이 하게 해 볼게요
어 저기 서보 모터가 똑같이 있구요 서보모터의 연결하는 선을 처리하고
해서 여기에 파란색 선으로
지금 디지털 핀이 연결되어 있습니다
디지털 핀 9번이 어케 연결되어 있죠 개 서보모터의 디지털 빙구 번이
연결되어 있고 그 다음에 써본 버터는 플러스 하고 - 가 있으니까 두
선을 연결해 주면 되구요
그 다음에 이제 여기에 가장 중요한 거 가변 저항 이렇게 달았습니다 가
변장을 달았고
이 가변저항을 처리하게 다리 3개가 있다고 말씀드렸죠
3 쪽 다리는 이렇게 그라운드를 한쪽 다리는 5 볼트 이렇게 연결했습니다
그 다음에 가운데 딸이 가운데 딸이 노란 선은
여기 보시는 디지털 pm 그 아날로그 핀에 연결 했죠
a0 해당 연결했습니다
그래서 결론적으로 이 각도로 움직일 때마다
요 노란색 핀 에서 2 출력 전압이 생기는데 그 출력 전압의 변화 폭을
감지해서
요거트를 불리는 게 지금 만들고자 하는 내용입니다
어떻게 작성하는 점은 볼게요 일단 서버 워터가 들어가면 여러분들은
머릿속에 가장 먼저 또 로 떠 올려야 될 게 하나 있죠 뭐냐면 서브
버터를 제어하려면 서버 라이브러리가 필요하다
서버 라이브러리는 잉 클로드 섭 어쩜 헤더 해가지고 추구할 수가 있죠
이렇게 잉크로 도서 번쯤 헤더를 추가 해주면 이런식으로 서버 라고 하는
것을 수 있습니다
그래서 여기서 이제 아까 말씀드린 것처럼 서버를 쓰기에서 퇴치 갖고
초기화 시켜 주는 거죠
그래서 마이 서버 라고 하는 그 서보모터를 1 성 정의를 하고요
거기에 9번 핀으로 초기화 시켰습니다
이렇게 노크 인제 루프에서 프로그램이 실행되면 딱 두 문장만 시장이 계속
되는 거죠
아주 간단해요 서버 에다가 어떤 값을 쓸 건데 무슨 값을 쓰냐 면
아날로그 a0 p 내 값을 쓰는 거죠
2 아날로그 a0 는 0부터 천 입상 까지 값이 변 하겠죠 아날로그 피는
이 해 10승 만큼 값을 받아 들일 수 있으니까 이 출력되는 값이 0에서
천 입상 사이에서 왔다 갔다 할 거예요
왔다갔다 하는거 를 갔다가 2매 팜 수 내 팜 수가 있죠 맵핑 1 함수가
0에서 124위 로 바꿔줍니다
바꿔 준거를 라이 서버에 다가 쓰는 거죠
쉽게 말하면 0에서 120도 사이의 값을 가지고 서버 모터가 조항
움직이는거 에 따라서 가변 자 움직이는가 따라서 같이 움직이게 되는
코드입니다
자 그럼 실제로 어떻게 작동하는지를 한번 실행시켜 보겠습니다
여기에 이제 전을 한번인가 해볼게요
이렇게 전환을 쭉 인가 보면
이렇게 전원을 인가하고 실행을 시키면 애가
가변 저항 값을 읽어서 움직이게 됩니다
가변저항을 한번 움직여 볼게 여기에 있는 가방 저항 값을 이렇게 바꾸면
은 이 바꾸는 거에 따라서
서버 모터도 같이 움직이게 됩니다 요 움직이는 게 보이시나요
사변 중앙을 쭈리 거나
더비 관아에 따라서 돌리는거 에 따라서 움직이고 있죠
자 지금 가변저항을 풍 에서 서보 모터를 제어하는 방법에 대해서
알아봤습니다
지금 우리가 공부한 써본 부터는 사실 그 우리 로봇 만드는거 에 가장
기본적인 핵심 그 원리를 제공하고 있어요
우리 그 로봇이라고 하는 것들은 사실은 모든 관절을 여기 보시는 이런
썸머 틀을 다 구현을 하고 있습니다
그래서 로봇 같은 경우에 뭐 이렇게 손이 움직이는 것 하나하나가 자
모터가 정밀하게 제어하는 거죠 그래서 이런 것들에 관련되서 처리를 할 때
서버 포트를 제어하는 게 핵심이죠
로봇을 만들 때 그래서 반절 마디로 모터 서보 모터가 다 있어서 요게
이제
정밀하게 움직이면 사람이 마치 움직이는 것처럼 이러한 도호 팔도 만들수가
있고 뭐고 행하는 너무 조 만들수도 있구요
그래서 기본적인 이런 각도 설정 않은걸 바탕으로 로봇을 만들 수 있다
그 다음에 이 각도 설정 하는 걸 응용하면 은 재미난 걸 많이 할 수
있습니다
예를 들어서 여기다가 센서가 같은걸 연결하면 센서가 값에 따라서 모터
값을 변경할 수 있겠죠
이런거 한번 생각해보죠 아침에 해가 뜨면 커텐을 걷는 어떤 프로그램을
만들고 싶어요 아침에 해가 뜨면 커텐이 자동으로 거쳐 요
어떻게 하면 될
댓글 0개
등록된 댓글이 없습니다.