arduino + wifi shield + easyVR shield?

Hi guys,
couldn't find anything related to that on the web.

It seems that if I plug the easyVR shield on top of my WiFi shield, the latter isn't visible.
Assuming they're using the same pins for communication?
Any solution to get both running?

I'm using it to control my raspberry pi - based home automation and was planning to call the web services via wifi, without that I would have to pull a usb cable from rPi to arduino which is not great.

Any suggestions highly appreciated.

It seems that if I plug the easyVR shield on top of my WiFi shield, the latter isn't visible.

The WiFi shield, if you are referring to the Arduino one, uses a known set of pins. The easyVR shield uses? A link would be useful.

Any solution to get both running?

Pin bending.

Tried changing:

SoftwareSerial port(12,13);

to

SoftwareSerial port(2,3);

and connected the easyVR shield to the relevant pins on the arduino and still getting "EasyVR not detected!"

These do not seem to be used by the WiFi shield. What is it then?

Docs, fyi:

http://www.robotshop.com/content/PDF/easyvr-user-manual-vrb-001.pdf [page 11]

A picture showing the connections might be useful. Some code, too.

Hi, first of all thanks a lot for looking into this.

Code snippet:

#include "Arduino.h"
#include "SoftwareSerial.h"
SoftwareSerial port(2,3);
#include "EasyVR.h"

EasyVR easyvr(port);

int8_t set = 0;
int8_t group = 1;
uint32_t mask = 0;  
uint8_t train = 0;
char name[32];
  String cmd;
bool debug = true;

void log(String s) 
{
  if (debug)
    Serial.println("== " + s); 
}

void out(String s) 
{
  Serial.println(s); 
}

void setup()
{
  Serial.begin(9600);
  port.begin(9600);

  if (!easyvr.detect())
  {
    log("EasyVR not detected!");
    for (;;);
  }

  easyvr.setPinOutput(EasyVR::IO1, LOW);
  log("EasyVR detected!");
  easyvr.setTimeout(3);
  easyvr.setLanguage(EasyVR::ENGLISH);
  easyvr.setKnob(1);
  easyvr.setLevel(1);
}

Photo:

The same wiring works when I remove the wifi shield and wire easyvr directly to arduino.

Is the shield that is shown in the pdf file the one that you are using? If so, what position is the jumper in?

The shield uses pins 12 and 13 when the jumper is in the SW position. Those are two of the SPI pins that the WiFi shield uses to communicate with the Arduino, so that position can not be used.

The alternatives use the hardware serial port to communicate with the EasyVR chip, which is not exactly an improvement.

I see some pin bending in your future.

I had a similar issue with the EasyVR Shield and Arduino Leonardo. And changed the pins to 8/9 but the shield isn't on top of the Leonardo, but sideways, and jumperwired the 8/9 of the Arduino to the 12/13 (change the code too). And remember to jumpwire the 5V, GND and Reset between the board and shield also. It will make impossible to use EasyVR Commander or update the soundtable, this last via PC mode.

The problem is reported here.

This manual is outdated. The latest can be found here:
http://www.veear.eu/downloads/

Be sure to download the latest EasyVR's Arduino library either...

And I didn't see the Brige being used on your code. It should look like this:

#include "Arduino.h"
  #include "SoftwareSerial.h"
  SoftwareSerial port(8,9);

#include "EasyVR.h"

EasyVR easyvr(port);

EasyVRBridge bridge;

void setup()
{
  // bridge mode?
  if (bridge.check())
  {
    cli();
    bridge.loop(0, 1, 8, 9);
  }
  // run normally
  Serial.begin(9600);
  port.begin(9600);

  if (!easyvr.detect())
  {
    Serial.println("EasyVR not detected!");
    for (;;);
  }

  easyvr.setPinOutput(EasyVR::IO1, LOW);
  Serial.println("EasyVR detected!");
  easyvr.setTimeout(5);
  easyvr.setLanguage(EasyVR::ENGLISH);

If anyone could help me too, would be grateful!

That's the one PaulS, the jumper is in the SW position, I've connected the 12,13 pins on the EasyVR to 2,3 on Arduino so in theory that should work, right?
I'm really happy to bend the sh*t out of these pins if it helps ;]

When I connect it the same way without the wifi shield it works fine... any ideas?

I've connected the 12,13 pins on the EasyVR to 2,3 on Arduino so in theory that should work, right?

Did you bend those pins, though, so that they don't engage the slots on the Arduino or WiFi shield?

Which shield is on top?

I didn't actually bend them out, will try that. The VR shield is on top.

The VR shield is on top.

So the VR shield is still trying to use the Arduino pins 12 and 13. Those are the SPI pins that the WiFi shield uses.