elechouse / VoiceRecognitionV3

Arduino library for elechouse Voice Recognition V3 module
79 stars 49 forks source link

ESP32 compatibility #13

Open arduibag opened 5 years ago

arduibag commented 5 years ago

Is it possible to have an ESP32 compatible library ? It would be awsome !

ksonone commented 5 years ago

I don't know about library compatiblity with ESP32. But, I have tested VoiceRecognition V3 module with ESP8266 NodeMCU. It works fine. Only the problem is that I felt to train the module. Then I train the module using Arduino and then use that trained module with ESP8266 and it works and recognise the commands.

screenshot from 2018-12-28 07-19-59 This is the screenshot of response from ESP8266 on Serial Monitor.

The source code of sample Led ON-OFF program is given below : Led_VRM_ESP8266.txt

asianplanet commented 3 years ago

no support for ESP32 so far

ilhmfahmi commented 3 years ago

no support for ESP32 so far yeahh me too, so how to use with esp32?

arduibag commented 3 years ago

I found the solution.

The problem is about the voltage difference between the Voice Recognition module (5v) and ESP32 (3.3v).

So they can't communicate together ! haha

You need to use this: level shifter https://www.sparkfun.com/categories/361

with this: DC converter https://www.amazon.fr/ANGEEK-0-9-5V-Step-Up-Voltage-Converter/dp/B07ZDJPMPJ

... between your ESP32 and your VoiceRecognition module and then they will be able to communicate together. So no change on the software but just some electric modification.... :-)

arduibag commented 3 years ago

And don't forget to use only dedicated RXD/TXD pin of the ESP32 too (depends on your ESP32 module).

ilhmfahmi commented 3 years ago

And don't forget to use only dedicated RXD/TXD pin of the ESP32 too (depends on your ESP32 module).

image

esp32 have 5v voltage, i already connect the module but its still the same.

VictorNrt commented 2 years ago

Hi, I'm trying to use this module with ESP32 but the sketch doesn't upload when I include VR3 library... Could somebody tell me how to use the module with an ESP32 ?

Thank you for your help Victor from France

taf2 commented 2 years ago

I think if you reverse what is documented at tx and rx it might work for you...

javiersotogarciadevillegas commented 1 year ago

I found the solution.

The problem is about the voltage difference between the Voice Recognition module (5v) and ESP32 (3.3v).

So they can't communicate together ! haha

You need to use this: level shifter https://www.sparkfun.com/categories/361

with this: DC converter https://www.amazon.fr/ANGEEK-0-9-5V-Step-Up-Voltage-Converter/dp/B07ZDJPMPJ

... between your ESP32 and your VoiceRecognition module and then they will be able to communicate together. So no change on the software but just some electric modification.... :-)

ese modulo es para alimentar al elechouse , osea sacarle los 3.3 voltios al esp32 y convertirlos en 5v para el elechouse?

zaid-alrowaili commented 9 months ago

I have a problem saving the audio image

sysshad commented 3 months ago

Hello all, i use Wemos lolin ESP32 S2 mini, and i can share my changes that it took me to train and use this little module. The VoiceRegonition module and the ESP32 both are powered by 5V. But the Serial pins on the ESP32 is not 5V, they are 3.3V

1) So firstly you must put a level shifter in between the serial connections between the devices. This can be done with either resistors, or better up MOSFET transistors. There exists alot of these to buy.

2) The VoiceRecognitionV3.h file references the library avr/pgmspace.h and this does not exist/work for ESP32. So remove/comment this line. This library isnt even used by voicerecognition code...

3) If the MCU you have uses Serial through the USB protocol then the device needs this code to wait for your PC to establish connection. As was the case for my Wemos lolin S2 mini... while (!Serial) delay(100); Serial.begin(115200);

4) I would also change the VoiceRecognitionV3.h/cpp files to use the HardwareSerial instead of SoftwareSerial. Most ESP32 devices have 2+ Serials.