Wire.requestFrom(2,2); // request 6 bytes from slave device #2
6 bytes? Or 2 bytes?
String teste;
Please note that, at present, the String library has bugs as discussed here and here.
In particular, the dynamic memory allocation used by the String class may fail and cause random crashes.
I recommend reworking your code to manage without String. Use C-style strings instead (strcpy, strcat, strcmp, etc.).
void requestEvent()
{
Wire.write(????????); //i dont no i try all most everything
}
Make a struct. Put all the data into it (up to 32 bytes). Send the struct.