산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

ServoTimer2 라이브러리 사용법(간단한 설명) 서보 스위프

구성품 및 소모품

서보(타워 프로 MG996R)
× 1
Arduino UNO
× 1
점퍼 와이어(일반)
× 1
UTSOURCE 전자 부품
× 1

이 프로젝트 정보

소개

나는 최근에 서보 모터를 다루는 인간형 로봇을 만들려고 노력했습니다. 로봇을 TALK로 만들기 직전에 모든 것이 잘 작동했습니다. TMRpcm 라이브러리를 사용해야 할 때. 하지만 다음과 같은 라이브러리가 있습니다.

#TMRpcm.h#VirtualWire.h 

Arduino의 Timer1을 사용하는 라이브러리입니다. 동일한 타이머를 사용하는 두 장치를 동시에 사용할 수 없는 것 같습니다...따라서 내 로봇이 말을 하면 서보가 작동하지 않습니다. The Servo.h와 TMRpcm은 모두 Arduino TImer1에서 작동하기 때문입니다. 엉망입니다. 둘 다 작동하게 하려면 서보용으로 다른 라이브러리를 사용해야 합니다. ServoTimer2 라이브러리는 무엇입니까? 이것은 Arduino의 Timer2를 사용합니다...불행히도 인터넷에서 이 ServoTimer2 라이브러리가 실제로 작동하는 방식과 코드에서 사용하는 방법을 이해하는 튜토리얼을 찾지 못했습니다. 그래서 저와 같은 사람들이 더 잘 이해할 수 있도록 튜토리얼을 만들기로 했습니다. 이 라이브러리와 함께 하나의 서보 모터를 사용하고 간단한 서보 스위프 코드를 만들 것입니다.

동영상을 보시면 더 잘 이해할 수 있습니다.

1단계:부품 및 조립:

주요 부품은 서보 모터입니다.

저는 마이크로서보 sg90을 사용하고 있습니다. 어떤 모델이든 상관없습니다.

그런 다음 그림 2와 같이 서보 암을 가지고 단단한 판지에 풀로 붙인 다음(이것은 각도를 잘 보기 위함) 그림 4와 같이 서보 모터에 암을 추가합니다.

2단계:Arduino에 ServoTimer2 라이브러리 다운로드 및 추가

먼저 https://github.com/nabontra/ServoTimer2에서 라이브러리를 다운로드하여 Arduino 라이브러리 폴더에 붙여넣어야 합니다.

그런 다음 스케치> 라이브러리 포함> 라이브러리 폴더에서 zip.file 추가로 이동하십시오.

이제 가도 됩니다.

3단계:간단한 회로 구축

가장 쉬운 부분입니다

<울>
  • Arduino vcc(5v)에 대한 서보 적색 와이어
  • <울>
  • 회색 - 접지
  • <울>
  • 주황색 - 디지털 6
  • 4단계:강령.

    ServoTimer2 코드를 알아보기 전에 Servo.h 라이브러리 스윕을 다시 살펴보겠습니다.

    (모터가 0도에서 90도까지 회전합니다. 1초 동안 기다린 다음 180도까지 1초 동안 기다립니다)

    #includeServo servo1;void setup() {servo1.attach(6); // 여기에 설정 코드를 넣어 한 번 실행}void loop() { // 여기에 기본 코드를 넣어 반복적으로 실행:servo1.write(0);delay(1000);servo1.write(90);delay( 1000);servo1.write(180);지연(1000);} 

    이 라이브러리에서 볼 수 있듯이 서보를 특정 위치로 회전하려면 각도만 입력하면 됩니다. 그러면 서보가 잘 작동합니다. 그러나 ServoTimer2 라이브러리에서 우리는 서보의 Pulsewidth를 작성해야 하고 서보는 그것을 사용하여 그 위치로 이동합니다. 가장 일반적으로 1500은 90도를 의미합니다. 최대 펄스 폭은 2250이고 최소는 750입니다. 즉, 750은 0도이고 2250은 180도입니다. 그러나 이것은 서보마다 다릅니다. 값을 보내고 무슨 일이 일어나는지 확인하십시오. 서보 모터가 파손되거나 손상되지 않으니 걱정하지 마십시오.

    이제 ServoTimer 2에 대해 동일한 코드를 만들어 실제로 차이점이 무엇인지 알 수 있습니다.

    #include"ServoTimer2.h"ServoTimer2 servo1;void setup() {servo1.attach(6); }void loop() { // 여기에 기본 코드를 넣어 반복적으로 실행합니다.servo1.write(750); //0도에 대한 최소 펄스 폭delay(1000);servo1.write(1500); //90도에 대한 펄스 폭delay(1000);servo1.write(2250); //약 180도에 대한 최대 펄스 폭delay(1000);} 

    이제 arduino에 전원을 공급하고 어느 값에 대해 서보가 회전하는지 각도 눈금으로 확인하십시오. 그리고 이를 통해 프로젝트를 진행할 수 있습니다. 해피 메이킹.o 2700이 완료되었습니다.

    5단계:Arduino 및 실험의 마지막 전원 켜기

    이제 arduino에 전원을 공급하고 어느 값에 대해 서보가 회전하는지 각도 눈금으로 확인하십시오. 그리고 이것을 구매하면 프로젝트를 진행할 수 있습니다. 해피 메이킹.

    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    <울>
  • 서보 seep.code
  • ServoTimer2.sweep.code
  • 서보 seep.codeC/C++
    #include서보 서보1; 무효 설정() {servo1.attach(6); // 여기에 설정 코드를 넣어 한 번 실행}void loop() { // 여기에 기본 코드를 넣어 반복적으로 실행:servo1.write(0);delay(1000);servo1.write(90);delay( 1000);servo1.write(180);지연(1000);}
    ServoTimer2.sweep.codeC/C++
    #include"ServoTimer2.h"ServoTimer2 서보1; 무효 설정() {servo1.attach(6); }void loop() { // 여기에 기본 코드를 넣어 반복적으로 실행합니다.servo1.write(750); //0도에 대한 최소 펄스 폭delay(1000);servo1.write(1500); //90도에 대한 펄스 폭delay(1000);servo1.write(2250); //약 180도에 대한 최대 펄스 폭delay(1000);}

    회로도

    ServoTimer2.sweep.code
    https://github.com/ashraf-minhaj/Arduino-ServoTimer2-basic-sweep-/tree/code-sweep

    제조공정

    1. 몰리브덴은 어떻게 사용합니까?
    2. Arduino+Raspberry Pi 로봇 플랫폼을 만드는 방법
    3. 간단한 파이 로봇
    4. 유리 섬유를 만드는 방법
    5. C 라이브러리의 realloc() 함수:어떻게 사용합니까? 구문 및 예
    6. C 라이브러리의 free() 함수:어떻게 사용합니까? 예제로 배우기
    7. 서미스터를 사용하는 것이 얼마나 쉬운가요?!
    8. Solidworks에서 장면 전환 애니메이션을 만드는 방법
    9. 프로토타입을 만드는 방법
    10. 커터 그라인더 사용 방법