게시됨 2026-03-13
창의적인 프로젝트가 준비되어 있고 활성화하고 싶으십니까?서보 기구, 그런데 "초음파 센서를 장치에 연결하는 방법" 단계에서 막혔습니다.서보 기구"? 걱정하지 마십시오. 하드웨어를 막 다루기 시작한 많은 친구들이 여기서 실수를 했습니다. 이것은 전문적으로 들리지만 일단 원리를 이해하고 나면 블록 쌓기만큼 매끄러워집니다.
조치를 취하려면 먼저 "팀원"이 어떻게 생겼는지 확인해야 합니다. 사용하는 초음파 모듈은 일반적으로 VCC, Trig, Echo 및 GND의 4개 핀이 명확하게 표시되어 있는 HC-SR04와 같은 일반적인 모델입니다. 그만큼서보 기구일반적으로 세 개의 전선이 연결되는데, 갈색이나 검은색은 접지선이고, 빨간색은 전원 공급 장치이고, 노란색이나 주황색은 신호선입니다.
연결은 실제로 그들을 위해 "그룹 채팅을 만드는 것"입니다. 개발보드의 5V에 초음파와 서보의 VCC(전원공급장치)를 연결하고, 개발보드의 GND에 GND(접지선)을 연결하여 모두가 공통언어를 가질 수 있도록 한다. 가장 중요한 것은 신호 전송입니다. 초음파 Trig와 Echo를 개발 보드의 두 디지털 핀(예: 5 및 6)에 연결한 다음 서보의 신호 라인을 PWM 파형을 출력할 수 있는 핀(예: 9번)에 연결합니다.
배선이 연결된 후에도 서보는 여전히 "멍청한" 상태이므로 코드를 통해 작동하는 방법을 가르쳐야 합니다. IDE는 최고의 도우미입니다. 프로그램의 핵심 아이디어는 매우 간단합니다. 먼저 초음파가 소리를 내도록 한 다음, 에코가 다시 돌아오는 데 걸리는 시간을 듣고 거리를 계산합니다. 그런 다음 이 거리 값을 스티어링 기어 회전 각도에 매핑합니다.
예를 들어, 거리가 10cm일 때 서보가 0도 회전하고, 거리가 50cm일 때 180도 회전하도록 설정할 수 있습니다. 코드에서 사용해야 함초음파 판독을 단순화하는 라이브러리서보 기구서보를 제어하는 라이브러리입니다. 주요 단계는 다음과 같습니다: 거리 읽기 -> 사용지도()거리를 각도로 변환하는 함수 -> 사용.write(각도)서보를 돌리는 것입니다. 루프에서 실행하면 서보는 손의 거리에 따라 머리를 움직일 수 있습니다.
기존 51 마이크로컨트롤러를 가지고 있다면 당황하지 마세요. 이 방법은 완벽하게 작동합니다. 51 마이크로 컨트롤러에는 기성 서보 라이브러리가 없지만 서보 제어의 핵심은 20밀리초 주기와 0.5~2.5밀리초 사이의 높은 레벨로 PWM 파동을 생성하는 것입니다. 이는 타이머를 사용하여 완전히 "시뮬레이트"할 수 있습니다.
코드를 작성할 때 0.1밀리초마다 인터럽트하도록 타이머를 구성해야 합니다. 인터럽트 서비스 루틴에서는 변수를 사용하여 누적하는데, 200으로 누적되면 20ms가 된다. 동시에 계산한 목표 각도에 따라 처음 20밀리초 동안 신호 핀이 하이 레벨을 출력해야 하는 인터럽트 수를 결정합니다. 예를 들어, 서보를 90도 회전시키려면(약 1.5밀리초의 높은 수준에 해당) 처음 15개 인터럽트에서 높은 수준을 끌어오고 다음 185개 인터럽트에서 낮은 수준을 끌어옵니다. 이러한 방식으로 51 마이크로컨트롤러도 서보에 정확하게 명령을 내릴 수 있습니다.
케이블을 신나게 연결했는데 서보가 겨처럼 흔들리거나 전혀 움직이지 않나요? 아마도 배가 고프기 때문일 것이다. 서보가 시작되고 정지될 때 전류는 매우 커서 종종 수백 밀리암페어에 이릅니다. USB 포트의 500mA 전류만으로는 충분하지 않습니다. 특히 여러 개의 서보가 동시에 연결된 경우에는 더욱 그렇습니다. 전압이 떨어지면 마이크로 컨트롤러도 다시 시작됩니다.
해결책은 '식사를 분리하는 것'이다. 서보에 독립된 전원을 준비하세요! 몇 개의 18650 배터리 또는 적합한 전압 조정기 모듈을 사용하여 서보의 빨간색 와이어(VCC) 및 갈색 와이어(GND)에 특별히 전원을 공급합니다. 그런 다음 개발 보드의 접지선(GND)과 외부 전원 공급 장치의 접지선(GND)을 함께 연결하여 기준 레벨을 일정하게 유지합니다. 마지막으로 개발 보드의 신호 라인이 서보를 제어하도록 하기만 하면 됩니다. 이는 마치 조향 엔진이 스스로 음식을 관리하게 하고, 명령에만 귀를 기울이고, 공공 자원을 차지하지 않고 열심히 일하는 것과 같습니다.
이 두 사람을 차에 태워서 스스로 달리게 하고 싶나요? 여기서 핵심은 '어떻게 반응할 것인가'이다. 초음파는 눈에 해당하고 조타 장치는 목에 해당합니다. 눈을 사용하여 왼쪽과 오른쪽을 살펴보세요. 프로그램 로직은 잘 설계되어야 합니다. 자동차가 직진하는 동시에 스티어링 기어는 초음파를 사용하여 범위를 스캔합니다. 바로 앞에 장애물이 있는 경우(예: 거리가 30cm 미만인 경우) 정지시키십시오.
정지 후 서보를 왼쪽으로 90도 돌려 거리를 측정하고, 서보를 오른쪽으로 90도 돌려 거리를 측정합니다. 어느 쪽이 더 비어 있는지 비교한 후 차량이 비어 있는 쪽으로 회전하도록 제어합니다. 조향이 완료된 후 조향 기어를 반납하고 정면을 바라보면 자동차는 계속 전진합니다. 이 주기를 반복하면 자동차는 뇌가 있는 어린 존재처럼 테이블 다리와 방의 벽을 우회할 수 있게 됩니다.
서보가 타격할 위치를 정확하게 가리킬 것이라고 기대했지만 결과는 항상 몇 도 정도 차이가 나거나 심지어 흔들리기도 합니까? 이 상황은 아마도 하드웨어 오류가 아니라 신호의 "작은 오해"일 것입니다. 문제는 두 가지 측면에 있을 수 있습니다. 첫째, 초음파 모듈 자체의 거리 측정에서 1~2cm의 오류가 있습니다. 둘째, 매핑 관계지도()코드의 함수가 올바르게 계산되지 않거나 서보의 응답 속도가 따라가지 못합니다.
해결책은 "필터"와 "버퍼"를 추가하는 것입니다. 코드에서는 거리를 연속 5회 읽어 최대값과 최소값을 제거한 후 평균을 내므로 데이터가 훨씬 안정적이게 됩니다. 또한 서보가 0도에서 180도로 직접 점프하지 않도록 하십시오. 매번 1도씩만 증가하거나 감소하도록 루프를 작성할 수 있습니다. 이렇게 하면 회전이 부드럽고 매끄러워지며 더 정확해지고 관성으로 인해 오버슈트되지 않습니다.
이걸 보면 뭔가 염두에 두어야 할 것이겠죠? 배선부터 프로그래밍, 전원 공급부터 디버깅까지 단계별로 분해해 보세요. 더 이상 신비스럽지 않다고 생각하지 않나요? 서둘러서 첫 번째 스마트 하드웨어 프로젝트를 실행해 보세요.
마지막으로, 귀하의 창작 프로젝트에서 이 "눈"과 "팔" 쌍을 사용하여 어떤 종류의 흥미로운 기능을 달성할 계획인지 묻고 싶습니다. 메시지를 남기고 댓글 영역에 공유해 주셔서 감사합니다. 귀하의 아이디어가 더 많은 사람들에게 영감을 줄 수 있습니다! 기사가 유용하다고 생각되면 더 많은 친구들이 참여할 수 있도록 좋아요와 공유를 잊지 마세요.
업데이트 시간:2026-03-13