probably i have reached murphy's law of incompetence.
i have been trying to add chat to my robot. the easyVR manual is written in such a way
very few people can follow it as it begins with too technical stuff and there is no step by
step proc. clearly stated, bits of pieces everywhere and the videos related, dont help much.
i have got the sound tables in easyVR module now loaded and its working
stand alone.
but when i connect the arduino (well soldered)
and try to generate the code for .ino file it generates all the coding except the sound table
stuff. am i missing something here? i presume sound table has to appear on code.
anyone can help me on this? now pl. refrain from asking me counter questions. (what version,
port, etc. as I am getting the code generated but lacking the sound table stuff)
You'd be wrong. The sound table is part of the programming of the VR chip, done using the computer, NOT part of the instructions for getting data from the VR chip by the Arduino.
okay paul so let us say we trigger with a hello command
and use a SD command say - how are you? which is
code generated in ,ino sketch and in a group and indexed.
how do you tap the right response in sound table,
as it''s not code generated, not in a group and not indexed?
say - i am fine.
okay paul so let us say we trigger with a hello command
and use a SD command say - how are you? which is
code generated in ,ino sketch and in a group and indexed.
how do you tap the right response in sound table,
as it''s not code generated, not in a group and not indexed?
say - i am fine.
When you say a command, the Arduino has NO idea what you are doing.
What the Arduino does is to periodically ask the external device if it has heard any new ones. The device responds with "no, just the same jokes that were old a hundred years ago" or with "I heard the phrase that was in position n of group g in my sound table".
The values n and g are then supposed to mean something to the Arduino, which knows nothing about the sound table that the VR shield/chip contains.
has anyone used easyVR with arduino and got the
chat going?
i have all the commands and sound table in easyVR
got the generated code. but t i cant get any further
to the stage of a chat.
on serial monitor however it says ""éasyVR not detected'"
(sorry forgot to mention this earlier!)
how do i rectify that. all modules firmly soldered and LEDs
working.
presuming all soldered rightly including the arduino
the following will work.
all SD and SI commands should be input to EasyVR using Quicksynthesis.
then you generate the code.
Once you generate code what you need to do is to COMPLETELY TAKE OUT
the QUICKUSB from the easyVR module and then connect the Arduino
to PC using usb cable. If the program is already in flash memory
you will hear a command in a GROUP 1 you pre-programed.
and above all!!!!!! when you run the SERIAL MONITOR
you will see EasyVR detected!!!!!!!!!!!!!!!!!!!!!!!!!!
and then the message - Wait for trigger (these messages are in the standard
program which comes with examples)
hooray!!!!
so its was just a case of DISCONNECTING A CABLE which is surprisingly
had some interference with the arduino module!
i knew one guy was attempting to help me but he did not know exactly
what he was takling about and did not know even the generating code
aspect.
For those who have woked with EasyVR module, heres something cool I tried.
There is command in Arduino C++ called RND - which stands for RANDOM.
(most programmers use this command in other languages too to
chose randomly an item from a table etc.)
What I did was to use this RND command and get an item from the Sound table
let us say on the mood of the robot;
e.g. how are you?
respond could be '"I am fine"" or "why do you want to know?""
this is more natural, human like, than giving out one statement everytime.
From a minimum value to maximum value you chose randomly
an item from the sound table - it may select index 3 or another
time it may select 7, giving out different voice statements.
Her's the code to do this;
long randNumber;
easyvr.playSound(randNumber = random(3, 7), EasyVR::VOL_FULL);