Ethernet shield and SIM 800

Hallo,
I have Arduino Mega 2560 with Etherneth Shield and SIM 800. The problem is, that when i read web service on ethernet shield, sim stop flashing. My power source for Sim is LiPo battery connected throught regulated source set on 4V and 2A.

When i test sim 800, while EShield isnt connected, everything works fine. Where is problem ?

What is connected where ?

SIM TX-10,RX-11, Gnd to GND and shield normally connected

The Arduino Mega has three additional serial ports: Serial1 on pins 19 (RX) and 18 (TX), Serial2 on pins 17 (RX) and 16 (TX), Serial3 on pins 15 (RX) and 14 (TX). Why are you (probably) using software serial ??

And of course before coming here you have done your homework and you have checked in the documentation (if you have v2) if by any bad luck the Ethernet shield would not use pin 10 and 11 (on UNO it would) and that the shield does not need any change for plugging on a mega (if you have a very old version of the shield) or other constraints on leaving SS pin as output etc

You also probably found this by googling around and many similar articles about libraries etc.

Thanks :slight_smile: I used Serial 1 and it work. Do you know how to get UNICODE char to message ?

lukeesvk:
Thanks :slight_smile: I used Serial 1 and it work. Do you know how to get UNICODE char to message ?

you mean sending unicode from your arduino? or do you mean UTF-8 ? is that for embedding in your SMS?

Have you checked this UTF-8 post out?

You can read this too although a bit old, plenty of good info

yes, when i do: const char text = "Vážený zákaznik"; and then SIM.println(text);
it write : V�en� z�kazn�k

funcion:

String phonenr = "+***********";
const char message[] = "Vážený zákaznik ... dovolujeme si Vám oznámiť, že:";
Serial.println(id + " " + phonenr + " " + message);
Serial.println("SMS for:" + phonenr);
Serial.println("SMS Text:" +message);
SIM.println("AT+CMGS=\"" + phonenr + "\"");
delay(200);
SIM.println(message);
delay(200);
SIM.write((char)26);
delay(200);
SIM.println();
delay(200);
sendATcommand("AT+CMGD=1", "OK", 2000);
sendATcommand("AT+CMGD=1,4", "OK", 2000);
sendATcommand("AT+CMGD=1", "OK", 2000);
delay(500);
Serial.println("SMS sended!");
Serial.println("****************************************");