ESP8266 - 초음파 센서 - 서보 모터 | ESP8266 - Ultrasonic Sensor - Servo Motor

이 튜토리얼은 ESP8266과 초음파 센서를 사용하여 서보 모터를 제어하는 방법을 안내합니다. 자세히:

준비물

1×ESP8266 NodeMCU Amazon
1×Micro USB Cable Amazon
1×Ultrasonic Sensor 쿠팡 | Amazon
1×Servo Motor 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Optional) 5V Power Adapter for ESP8266 Amazon
1×(Optional) Screw Terminal Expansion Board for ESP8266 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

서보 모터 및 초음파 센서에 관하여

서보 모터와 초음파 센서(핀 배치, 기능성, 프로그래밍 포함)에 익숙하지 않다면, 다음 튜토리얼들이 일부 지침을 제공할 수 있습니다:

선연결

ESP8266 NodeMCU Ultrasonic Sensor Servo Motor wiring diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

ESP8266의 핀 배치ESP8266 및 다른 구성 요소에 전원을 공급하는 방법에 대해 더 많이 보십시오.

위에 표시된 배선도는 저토크 서보 모터에만 적합합니다. 모터가 회전하는 대신 진동하는 경우, 서보 모터에 더 많은 전력을 제공하기 위해 외부 전원원을 사용해야 합니다. 아래는 서보 모터를 위해 외부 전원원을 사용한 배선도를 보여줍니다.

ESP8266 NodeMCU Ultrasonic Sensor Servo Motor Power wiring diagram

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

외부 전원의 GND를 ESP8266의 GND에 연결하는 것을 잊지 마십시오.

ESP8266 코드 - 초음파 센서가 서보 모터를 제어함

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-ultrasonic-sensor-servo-motor */ #include <Servo.h> #define TRIG_PIN D1 // 초음파 센서의 TRIG 핀에 연결된 ESP8266 핀 #define ECHO_PIN D2 // 초음파 센서의 ECHO 핀에 연결된 ESP8266 핀 #define SERVO_PIN D7 // 서보 모터의 핀에 연결된 ESP8266 핀 #define DISTANCE_THRESHOLD 50 // 센티미터 Servo servo; // 서보를 제어하기 위한 서보 객체 생성 float duration_us, distance_cm; void setup() { Serial.begin (9600); // 시리얼 모니터와 통신하기 위해 시리얼 초기화 pinMode(TRIG_PIN, OUTPUT); // ESP8266 핀을 출력 모드로 구성 pinMode(ECHO_PIN, INPUT); // ESP8266 핀을 입력 모드로 구성 servo.attach(SERVO_PIN); // 서보 객체에 서보를 부착 servo.write(0); } void loop() { // TRIG 핀에 10-마이크로초 펄스 생성 digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); // ECHO 핀에서 펄스 지속 시간 측정 duration_us = pulseIn(ECHO_PIN, HIGH); // 거리 계산 distance_cm = 0.017 * duration_us; if (distance_cm < DISTANCE_THRESHOLD) servo.write(90); // 서보 모터를 90도로 회전 else servo.write(0); // 서보 모터를 0도로 회전 // 시리얼 모니터로 값 출력 Serial.print("distance: "); Serial.print(distance_cm); Serial.println(" cm"); delay(500); }

사용 방법

ESP8266를 Arduino IDE에서 시작하는 방법은 다음과 같은 단계를 따르세요:

  • 만약 이것이 당신이 ESP8266을 처음 사용하는 경우라면, Arduino IDE에서 ESP8266 환경 설정하는 방법 튜토리얼을 확인하세요.
  • 다이어그램에 표시된 대로 구성 요소들을 연결하세요.
  • USB 케이블을 사용하여 컴퓨터에 ESP8266 보드를 연결하세요.
  • 컴퓨터에서 Arduino IDE를 엽니다.
  • 올바른 ESP8266 보드를 선택하세요, 예를 들어, NodeMCU 1.0 (ESP-12E Module)과 해당 COM 포트.
  • USB 케이블을 ESP8266과 PC에 연결하세요.
  • Arduino IDE를 실행하고, 적절한 보드와 포트를 선택하세요.
  • 위의 코드를 복사하여 Arduino IDE에서 엽니다.
  • Arduino IDE에서 Upload 버튼을 클릭하여 코드를 ESP8266에 컴파일하고 업로드하세요.
  • 센서 앞에서 손을 움직이세요.
  • 서보 모터의 반응을 확인하세요.

※ NOTE THAT:

위의 코드는 교육 목적으로 사용되는 것입니다. 초음파 센서는 노이즈에 매우 민감합니다. 실제 응용 프로그램에서 이를 사용할 계획이라면, 초음파 센서의 노이즈를 필터링하는 것이 필요합니다. 이에 대한 자세한 방법은 초음파 센서의 노이즈 필터링 방법을 참조하십시오.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!