ESP32 - Player MP3 com Sensor de Movimento

Neste guia, vamos explorar como usar o ESP32, um sensor de movimento HC-SR501 e um player MP3 para iniciar a reprodução de um arquivo de áudio pré-gravado quando um movimento for detectado. Este projeto é versátil e pode ser personalizado para várias aplicações, como fornecer instruções ou avisos de áudio automáticos sempre que a presença de uma pessoa for identificada.

Sobre o Player MP3 e o Sensor de Movimento

Você não conhece o player MP3 e o sensor de movimento, incluindo a pinagem, o funcionamento e a programação? Veja abaixo tutoriais completos sobre esses temas:

Diagrama de Ligação

Diagrama de Ligação do ESP32 com Sensor de Movimento e Player MP3

This image is created using Fritzing. Click to enlarge image

Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.

Preparação

  • Guarde antes no cartão micro SD o arquivo mp3 gravado que queremos tocar.
  • Insira o cartão micro SD no módulo player MP3
  • Conecte o módulo player MP3 ao ESP32
  • Conecte o alto-falante ao módulo player MP3
  • Conecte o alto-falante a uma fonte de energia.
  • Conecte o sensor de movimento ao ESP32.
  • Faça o ajuste do sensor de movimento conforme a tabela abaixo
Ajuste do Tempo de AtrasoGire-o totalmente no sentido anti-horário.
Ajuste do Alcance de DetecçãoGire-o totalmente no sentido horário.
Seletor de Disparo RepetidoColoque o jumper como mostrado na imagem.
configuração inicial do sensor de movimento com esp32

Código ESP32 - Sensor de Movimento Controla o Player MP3

/* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-motion-sensor-mp3-player */ #define CMD_PLAY_NEXT 0x01 #define CMD_PLAY_PREV 0x02 #define CMD_PLAY_W_INDEX 0x03 #define CMD_SET_VOLUME 0x06 #define CMD_SEL_DEV 0x09 #define CMD_PLAY_W_VOL 0x22 #define CMD_PLAY 0x0D #define CMD_PAUSE 0x0E #define CMD_SINGLE_CYCLE 0x19 #define DEV_TF 0x02 #define SINGLE_CYCLE_ON 0x00 #define SINGLE_CYCLE_OFF 0x01 #define MOTION_SENSOR_PIN 21 // The ESP32 pin GPIO21 connected to motion sensor's pin int prev_motion_state; // the previous state of motion sensor int motion_state; // the current state of motion sensor void setup() { Serial.begin(9600); Serial2.begin(9600, SERIAL_8N1, 16, 17); delay(500); // wait chip initialization is complete mp3_command(CMD_SEL_DEV, DEV_TF); // select the TF card delay(200); // wait for 200ms pinMode(MOTION_SENSOR_PIN, INPUT); // set arduino pin to input mode motion_state = digitalRead(MOTION_SENSOR_PIN); } void loop() { prev_motion_state = motion_state; // save the last state motion_state = digitalRead(MOTION_SENSOR_PIN); // read new state if (motion_state == LOW && prev_motion_state == HIGH) { // pin state change: LOW -> HIGH Serial.println("Motion detected!"); mp3_command(CMD_PLAY, 0x0000); // Play the first mp3 file } else if (motion_state == HIGH && prev_motion_state == LOW) { // pin state change: HIGH -> LOW Serial.println("Motion stopped!"); } } void mp3_command(int8_t command, int16_t dat) { int8_t frame[8] = { 0 }; frame[0] = 0x7e; // starting byte frame[1] = 0xff; // version frame[2] = 0x06; // the number of bytes of the command without starting byte and ending byte frame[3] = command; // frame[4] = 0x00; // 0x00 = no feedback, 0x01 = feedback frame[5] = (int8_t)(dat >> 8); // data high byte frame[6] = (int8_t)(dat); // data low byte frame[7] = 0xef; // ending byte for (uint8_t i = 0; i < 8; i++) { Serial2.write(frame[i]); } }

Passos Rápidos

  • Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para ESP32 no Arduino IDE.
  • Faça a ligação como na imagem acima.
  • Conecte a placa ESP32 ao seu PC por um cabo micro USB
  • Abra o Arduino IDE no seu PC.
  • Selecione a placa ESP32 correta (por exemplo, ESP32 Dev Module) e a porta COM.
  • Conecte o ESP32 ao PC com o cabo USB
  • Abra o Arduino IDE e selecione a placa e a porta corretas
  • Copie o código acima e abra no Arduino IDE
  • Clique no botão Upload do Arduino IDE para fazer upload do código para o ESP32
  • Mova a mão na frente do sensor
  • Confira o áudio do player MP3

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!