ESP8266 - Sensor Ultrassônico - Servo Motor

Este tutorial ensina você a usar o ESP8266 e um sensor ultrassônico para controlar um servo motor. Em detalhes:

Hardware Necessário

1×ESP8266 NodeMCU ESP-12F
1×Alternatively, ESP8266 D1 Mini NodeMCU ESP-12F
1×Alternatively, ESP8266 NodeMCU ESP-12E (Uno-form)
1×Micro USB Cable
1×Alternatively, ESP8266 NodeMCU ESP-12F (SMD-form)
1×Cabo USB Tipo-A para Tipo-C (para PC com USB-A)
1×Cabo USB Tipo-C para Tipo-C (para PC com USB-C)
1×Sensor Ultrassônico
1×Servo Motor
1×Fios Jumper
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para ESP8266

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Buy Note: For controlling multiple servo motors, use the PCA9685 16 Channel PWM Servo Driver Module to save MCU pins and simplify wiring.

Sobre o Servo Motor e o Sensor Ultrassônico

Se você não conhece servo motores e sensores ultrassônicos (incluindo pinagem, funcionamento e programação), os tutoriais a seguir podem servir de guia:

Diagrama de Ligação

Diagrama de ligação do sensor ultrassônico com servo motor e ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Para mais informações, veja Pinagem do ESP8266 e como alimentar o ESP8266 e outros componentes.

Observe que o diagrama de ligação mostrado acima só é adequado para um servo motor de baixo torque. Se o motor vibrar em vez de girar, é preciso usar uma fonte de alimentação externa para fornecer mais energia ao servo motor. A seguir está o diagrama de ligação com uma fonte de alimentação externa para o servo motor.

Diagrama de ligação do sensor ultrassônico com servo motor e alimentação externa no ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Não se esqueça de conectar o GND da fonte externa ao GND do ESP8266.

Código ESP8266 - Sensor Ultrassônico Controla Servo Motor

/* * Este código de ESP8266 NodeMCU foi desenvolvido por pt.newbiely.com * Este código de ESP8266 NodeMCU é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp8266/esp8266-ultrasonic-sensor-servo-motor */ #include <Servo.h> #define TRIG_PIN D1 // The ESP8266 pin connected to Ultrasonic Sensor's TRIG pin #define ECHO_PIN D2 // The ESP8266 pin connected to Ultrasonic Sensor's ECHO pin #define SERVO_PIN D7 // The ESP8266 pin connected to Servo Motor's pin #define DISTANCE_THRESHOLD 50 // centimeters Servo servo; // create servo object to control a servo float duration_us, distance_cm; void setup() { Serial.begin (9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(TRIG_PIN, OUTPUT); // Configure the ESP8266 pin to the output mode pinMode(ECHO_PIN, INPUT); // Configure the ESP8266 pin to the input mode servo.attach(SERVO_PIN); // attaches the servo on pin 9 to the servo object servo.write(0); } void loop() { // Produce a 10-microsecond pulse to the TRIG pin. digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); // Measure the pulse duration from the ECHO pin duration_us = pulseIn(ECHO_PIN, HIGH); // calculate the distance distance_cm = 0.017 * duration_us; if (distance_cm < DISTANCE_THRESHOLD) servo.write(90); // rotate servo motor to 90 degree else servo.write(0); // rotate servo motor to 0 degree // print the value to Serial Monitor Serial.print("distance: "); Serial.print(distance_cm); Serial.println(" cm"); delay(500); }

Passos Rápidos

Para começar com o ESP8266 no Arduino IDE, siga estes passos:

  • Veja o tutorial como configurar o ambiente para o ESP8266 no Arduino IDE se esta for a sua primeira vez usando o ESP8266.
  • Ligue os componentes como mostrado no diagrama.
  • Conecte a placa ESP8266 ao seu computador usando um cabo USB.
  • Abra o Arduino IDE no seu computador.
  • Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
  • Conecte um cabo USB ao ESP8266 e ao PC.
  • Abra o Arduino IDE e selecione a placa e a porta apropriadas.
  • Copie o código acima e abra-o no Arduino IDE.
  • Clique no botão Upload do Arduino IDE para compilar e fazer o upload do código para o ESP8266.
  • Mova a mão na frente do sensor.
  • Veja a resposta do servo motor.

※ Nota:

O código acima tem fins educacionais. O sensor ultrassônico é altamente suscetível a ruído. Se você pretende usá-lo em uma aplicação do mundo real, é necessário filtrar o ruído do sensor ultrassônico. Para mais informações sobre como fazer isso, consulte como filtrar o ruído do sensor ultrassônico.

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!